
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Топ:
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
![]() |
![]() |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Для определения воспользуемся обычной формулой Эйлера, а для определения
будет естественным использовать уточненную формулу, т.е.
(Л4.3)
Пример соответствующей M-функции (ниже задано ,
,
):
function consol
s=input('s=');g=input('g=');L=input('L=');n=input('n=');
h=L/n;c=0.02*(s+g);ej=1/c;
x=0:h:L;z=zeros(size(x));y=z;
for i=1:n
z(i+1)=z(i)+h*f(x(i),z(i));
y(i+1)=y(i)+h*(z(i)+z(i+1))/2;
end
ixyz=[(0:n);x;y;z];
fprintf('\n'),fprintf('%3s %4s %6s %6s','i','x','y','z')
fprintf('\n'),fprintf('%3d %4.1f %6.4f %6.4f\n',ixyz)
plot(x,y,'.-',x,z,'*-'),grid on
legend('y=y(x)','z=y''(x)',0),title('modificyrovannyj metod Eilera')
function dzdx=f(x,z)
dzdx=m(x)/ej*sqrt((1+z^2)^3);
end
function M=m(x)
M=1/sqrt((1+(c*x)^2)^3);
end
end
Результаты счета:
s=12
g=3
L=1
n=10
i x y z
0 0.0 0.0000 0.0000
1 0.1 0.0015 0.0300
2 0.2 0.0060 0.0600
3 0.3 0.0135 0.0900
4 0.4 0.0240 0.1200
5 0.5 0.0375 0.1500
6 0.6 0.0540 0.1800
7 0.7 0.0735 0.2100
8 0.8 0.0960 0.2400
9 0.9 0.1215 0.2700
10 1.0 0.1500 0.3000
>>
2. Использование встроенной функции ode45, предназначенной для решения задачи Коши для систем обыкновенных дифференциальных уравнений 1-го порядка вида .
В данной функции реализуются одношаговые методы Рунге-Кутта 4-го и 5-го порядков. Это классический подход, рекомендуемый для начальной пробы решения. Во многих случаях (если система уравнений не является жесткой) можно получить удовлетворительные результаты. Таким образом, данную функцию применяют довольно часто, особенно тогда, когда неизвестны характеристики задачи.
Предварительно представим систему (Л4.2) в виде
, (Л4.3)
где ,
,
,
,
.
При обращении к ode45 входными параметрами будут дескриптор имени функции, реализующей вычисление вектор-функции , массив, содержащий значения левого и правого конца диапазона изменения переменной
, а также вектор начальных значений
. Выходными параметрами будут массивы
и
, где
,
,
,
.
Пример соответствующей M-функции (ниже задано ,
):
function consol_ode45
s=input('s=');
g=input('g=');
c=0.02*(s+g);
EJ=1/c;
x0xL=input('[x0 xL]=');
z0=input('[z10 z20]=');
[X Z]=ode45(@F,x0xL,z0);
n=length(X);
fprintf('\n'),fprintf('%3s %6s %6s %6s','i','x','y','y'''),fprintf('\n')
for i=1:n
fprintf('%3d %6.4f %6.4f %6.4f\n',i,X(i),Z(i,:))
end
plot(X,Z(:,1),'.-',X,Z(:,2),'*-'),grid on
legend('y=y(x)','z=y''(x)',0),title('ode45')
function dz=F(x,z)
dz=zeros(2,1);
dz(1)=z(2);
dz(2)=M(x)/EJ*sqrt((1+z(2)^2)^3);
end
function m=M(x)
m=1/sqrt((1+(c*x)^2)^3);
end
end
Результаты счета:
s=12
g=3
[x0 xL]=[0 1]
[y0 z0]=[0 0]
i x y y'
1 0.0000 0.0000 0.0000
2 0.0002 0.0000 0.0001
3 0.0003 0.0000 0.0001
4 0.0005 0.0000 0.0002
5 0.0007 0.0000 0.0002
6 0.0015 0.0000 0.0005
7 0.0023 0.0000 0.0007
8 0.0032 0.0000 0.0010
9 0.0040 0.0000 0.0012
10 0.0082 0.0000 0.0025
11 0.0124 0.0000 0.0037
12 0.0166 0.0000 0.0050
13 0.0208 0.0001 0.0062
14 0.0417 0.0003 0.0125
15 0.0626 0.0006 0.0188
16 0.0836 0.0010 0.0251
17 0.1045 0.0016 0.0313
18 0.1295 0.0025 0.0388
19 0.1545 0.0036 0.0463
20 0.1795 0.0048 0.0538
21 0.2045 0.0063 0.0613
22 0.2295 0.0079 0.0688
23 0.2545 0.0097 0.0763
24 0.2795 0.0117 0.0838
25 0.3045 0.0139 0.0913
26 0.3295 0.0163 0.0988
27 0.3545 0.0188 0.1063
28 0.3795 0.0216 0.1138
29 0.4045 0.0245 0.1213
30 0.4295 0.0277 0.1288
31 0.4545 0.0310 0.1363
32 0.4795 0.0345 0.1438
33 0.5045 0.0382 0.1513
34 0.5295 0.0421 0.1588
35 0.5545 0.0461 0.1663
36 0.5795 0.0504 0.1738
37 0.6045 0.0548 0.1813
38 0.6295 0.0594 0.1888
39 0.6545 0.0643 0.1963
40 0.6795 0.0693 0.2038
41 0.7045 0.0744 0.2113
42 0.7295 0.0798 0.2188
43 0.7545 0.0854 0.2263
44 0.7795 0.0911 0.2338
45 0.8045 0.0971 0.2413
46 0.8295 0.1032 0.2488
47 0.8545 0.1095 0.2563
48 0.8795 0.1160 0.2638
49 0.9045 0.1227 0.2713
50 0.9284 0.1293 0.2785
51 0.9522 0.1360 0.2857
52 0.9761 0.1429 0.2928
53 1.0000 0.1500 0.3000
>>
>>
3. Использование встроенной функции ode15s, предназначенной для решения задачи Коши для систем обыкновенных дифференциальных уравнений 1-го порядка вида .
В данной функции реализуется многошаговый метод переменного порядка (от одного до пяти), использующий формулы численного дифференцирования «назад». Это адаптивный метод, рекомендуемый к применению в случае, когда ode45 не обеспечивает решения (система уравнений жесткая). При этом, входные и выходные параметры при обращении к ode15s полностью совпадают с соответствующими параметрами функции ode45.
Пример соответствующей M-функции (ниже задано ,
):
function consol_ode15s
s=input('s=');
g=input('g=');
c=0.02*(s+g);
EJ=1/c;
x0xL=input('[x0 xL]=');
z0=input('[z10 z20]=');
[X Z]=ode15s(@F,x0xL,z0);
n=length(X);
fprintf('\n'),fprintf('%3s %6s %6s %6s','i','x','y','y'''),fprintf('\n')
for i=1:n
fprintf('%3d %6.4f %6.4f %6.4f\n',i,X(i),Z(i,:))
end
plot(X,Z(:,1),'.-',X,Z(:,2),'*-'),grid on
legend('y=y(x)','z=y''(x)',0),title('ode15s')
function dz=F(x,z)
dz=zeros(2,1);
dz(1)=z(2);
dz(2)=M(x)/EJ*sqrt((1+z(2)^2)^3);
end
function m=M(x)
m=1/sqrt((1+(c*x)^2)^3);
end
end
Результаты расчета:
s=12
g=3
[x0 xL]=[0 1]
[y0 z0]=[0 0]
i x y y'
1 0.0000 0.0000 0.0000
2 0.0021 0.0000 0.0006
3 0.0041 0.0000 0.0012
4 0.0062 0.0000 0.0019
5 0.0152 0.0000 0.0046
6 0.0242 0.0001 0.0073
7 0.0332 0.0002 0.0100
8 0.0422 0.0003 0.0127
9 0.0690 0.0007 0.0207
10 0.0957 0.0014 0.0287
11 0.1225 0.0023 0.0367
12 0.1492 0.0033 0.0448
13 0.2492 0.0093 0.0748
14 0.3492 0.0183 0.1048
15 0.4492 0.0303 0.1348
16 0.5492 0.0453 0.1648
17 0.6492 0.0632 0.1948
18 0.7492 0.0842 0.2248
19 0.8492 0.1082 0.2548
20 0.9492 0.1352 0.2848
21 1.0000 0.1500 0.3000
>>
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
© cyberpedia.su 2017-2025 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!