Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 15.10.2015
Сообщений: 14
1
Matlab 2016

Классическая теория рассеяния

15.12.2019, 20:39. Показов 1091. Ответов 2

Author24 — интернет-сервис помощи студентам
Всем приветики. Имеется программа для моделирования рассеяния классической частицы в кулоновском потенциале. Вроде всё верно, но matlab выдаёт ошибку связанную с ode45
Error using feval
Undefined function 'CenterPole' for input arguments of type 'double'.

Error in odearguments (line 87)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.

Error in ode45 (line 115)
odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options,
varargin);

Error in rasseivanie (line 19)
[T Y]=ode45('CenterPole',[0:dt:Tmax],[x0 vx0 y(i) vy0]); %#ok<NBRAK>
Сам текст программы:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
clear all
global Q q M
Q = 79; %заряд рассеивающего центра
q = 2; %заряд рассеиваемой частицы
M = 4; %масса частицы
 
Tmax = 2*10^7; %длительность временного интервала, на котором
%ищется численное решение системы ОДУ
dt = Tmax/2000; %шаг интегрирования
x0=-10^6;%
vx0=0.1;
vy0=0;
Ymin=0;
Ymax=10^5;
N=100;
dy=(Ymax-Ymin)/N;
for i=1:N+1
    y(i)=(i-1)*dy;
    [T Y]=ode45('CenterPole',[0:dt:Tmax],[x0 vx0 y(i) vy0]); %#ok<NBRAK>
    M1=length(T);
    xi(i)=acos(Y(M1,2)./(Y(M1,2).^2+Y(M1,4).^2).^0.5);
end;
figure(1); plot(y,xi);
x1=min(xi);
x2=max(xi);
Nxi=1000;
dxi=(x2-x1)/Nxi;
i=1:Nxi+1;
Yi=interp1(xi,y,Xi,'splain');
dro=abs(diff(Yi)./dxi);
j=1:Nxi;
dsigma(j)=2*piYi(j).*dro(j);
xi1(j)=Xi(j);
plot(xi1,dsigma);
В чем может быть ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2019, 20:39
Ответы с готовыми решениями:

Классическая теория вероятности
Добрый день/вечер, прошу помощи с заданиями с 1-4, с кратким пояснением, откуда числа, а не просто...

Найди дифф. и полн. сечение рассеяния
Здравствуйте, помогите пожалуйста с задачей. Найти дифференциальное и полное сечения рассеяния...

Определить энергию фотона W2 после рассеяния
Условие: Рентгеновский фотон испытал комптоновское рассеяние на угол O. Первоначальная энергия...

дифференциальное и полное сечение дипольного рассеяния
Не успеваю тему зашарить. Тут две задачки. Если хоть чем-то можете помочь, буду очень благодарен!...

2
416 / 200 / 69
Регистрация: 20.01.2019
Сообщений: 713
15.12.2019, 22:14 2
А где функция CenterPole?
0
1 / 1 / 0
Регистрация: 15.10.2015
Сообщений: 14
15.12.2019, 23:21  [ТС] 3
Matlab M
1
2
3
4
5
6
7
8
function dy=CenterPole(t, z)
global Q q M
A = 1.53*q*Q/M;
dy=zeros(4,1);
dy(1)=z(2);
dy(2)=A*z(1)/(z(1)^2+z(3)^2)^(3/2);
dy(3)=z(4);
dy(4)=A*z(3)/(z(1)^2+z(3)^2)^(3/2);
Добавлено через 13 минут
Нашёл ошибку. Этой ошибкой оказался я.
1
15.12.2019, 23:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2019, 23:21
Помогаю со студенческими работами здесь

Поле рассеяния двумерной случайной величины
Всем привет. Помогите пожалуйста с заданием: Построить поле рассеяния двумерной случайной величины....

Решение уравнения Шредингера для рассеяния электронов
Здравствуйте. Хочу промоделировать кривую, приведенную в приложении (из опыта Дэвиссона-Джермера)....

Чему равна активная мощность рассеяния в кабеле?
Всем привет. Помогите пожалуйста решить задачу. Чему равна активная мощность рассеяния в кабеле с...

простая и классическая
Читается число N. Дальше читается масив A1..An. На следующей строке читается число M. Далее массив ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru