Documente Academic
Documente Profesional
Documente Cultură
FI DE LABORATOR
MODELARE I SIMULARE 1
pe intervalul [0,3].
x 0 1.5
Listing fiiere
a=0; %limitele intervalului
b=3 ;
n=10; %nr de subintervale
h=(b-a)/n;
t = a:h:b;
x = zeros(1,length(t));
x(1) = 1.5;%conditia initiala (in matlab vectorii se numeroteaza de la 1)
F_tx = @(t,x) 4*t+x^2; %functia f x=..
for i=1:(length(t)-1)
k_1 = F_tx(t(i),x(i));
k_2 = F_tx(t(i)+0.5*h,x(i)+0.5*h*k_1);
k_3 = F_tx((t(i)+0.5*h),(x(i)+0.5*h*k_2));
k_4 = F_tx((t(i)+h),(x(i)+k_3*h));
x(i+1) = x(i) + (1/6)*(k_1+2*k_2+2*k_3+k_4)*h;
end
figure;plot(t,x)
xlabel('Domeniul timp');
ylabel('Solutia ec.dif.');
Afisare rezultate
x=
1.0e+154 *
Metode numerice n ingineria electric- LUCRARI DE LABORATOR
0.0000 0.0000 0.0000 0.0000 7.5320 Inf Inf Inf Inf Inf
Listing fiiere
a=0;
b=1 ;
>> n=10;
>> h=(b-a)/n;
>> t = a:h:b;
>> x = zeros(1,length(t));
>> x(1) = 2;
>> F_tx = @(t,x) (2*t*x^2)/(1+t^2);
>> for i=1:(length(t)-1)
k_1 = F_tx(t(i),x(i));
Metode numerice n ingineria electric- LUCRARI DE LABORATOR
k_2 = F_tx(t(i)+0.5*h,x(i)+0.5*h*k_1);
k_3 = F_tx((t(i)+0.5*h),(x(i)+0.5*h*k_2));
k_4 = F_tx((t(i)+h),(x(i)+k_3*h));
x(i+1) = x(i) + (1/6)*(k_1+2*k_2+2*k_3+k_4)*h;
end
>> figure;plot(t,x)
>> xlabel('Domeniul timp');
>> ylabel('Solutia ec.dif.');
Afisare rezultate
x=
1.0e+150 *
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 6.7338
function dy=ecdif2(t,y)
dy=zeros(2,1); % initializarea vectorului
dy(1)=y(2);
dy(2)=-1-2*y(1)+3*y(2);
end
script scriptL10
% conditiile initiale
y0=[1; 0]; %y si y'
% domeniul (intervalul)
dom=[0,10];
% rezolvarea ecuatiei diferentiale
[tval,yval]=ode113('ecdif2',dom,y0)
% reprezentarea grafica a solutiei
plot(tval,yval(:,1))
Afisare rezultate
tval =
0
0.0000
0.0000
0.0000
0.0000
0.0001
0.0002
0.0003
0.0007
0.0013
0.0027
0.0054
0.0108
0.0216
0.0432
0.0863
0.1727
0.3454
0.5181
0.6908
0.8635
1.0362
1.2089
1.3816
1.5543
1.8997
2.2451
2.5905
2.9359
Metode numerice n ingineria electric- LUCRARI DE LABORATOR
3.2813
3.6268
3.9722
4.3176
4.6630
5.0084
5.3538
5.6992
6.0446
6.3900
6.7354
7.0808
7.4262
7.7716
8.1170
8.4624
8.8078
9.1532
9.4986
9.8440
10.0000
yval =
1.0e+09 *
0.0000 0
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
Metode numerice n ingineria electric- LUCRARI DE LABORATOR
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0000
-0.0000 -0.0001
-0.0001 -0.0001
-0.0001 -0.0003
-0.0003 -0.0005
-0.0005 -0.0011
-0.0011 -0.0021
-0.0021 -0.0042
-0.0042 -0.0084
-0.0084 -0.0168
-0.0168 -0.0336
-0.0335 -0.0670
-0.0669 -0.1338
-0.1334 -0.2669
-0.2663 -0.5326
-0.5313 -1.0627
-0.7258 -1.4518
dx
dt 2 x 4 y 4t 1, x 0 0
dy x y, y 0 1
dt
Listing fiiere
Fisierul functie sistdif
function dy=sistdif(t,y)
dy=zeros(2,1); % initializarea vectorului
dy=[-2*y(1)-4*y(2)+4*t+1; -y(1)+y(2)];
end
Script script2.m
% conditiile initiale
y0=[0; 1];
% domeniul (intervalul)
dom=[0,10];
% rezolvarea ecuatiei diferentiale
[tval,yval]=ode45('sistdif',dom,y0)
% reprezentarea grafica a solutiei
plot(tval,yval(:,1),'b',tval,yval(:,2),'r--')
legend('y1','y2')
Afisare rezultate
tval =
0
0.0000
0.0000
0.0001
0.0001
0.0002
0.0002
0.0003
0.0004
0.0008
0.0012
0.0017
0.0021
0.0042
0.0063
0.0084
0.0104
0.0209
0.0314
0.0418
0.0523
Metode numerice n ingineria electric- LUCRARI DE LABORATOR
0.1002
0.1480
0.1958
0.2437
0.3066
0.3696
0.4325
0.4954
0.5740
0.6525
0.7310
0.8095
0.9071
1.0047
1.1023
1.1998
1.3180
1.4361
1.5542
1.6723
1.8054
1.9386
2.0717
2.2048
2.3454
2.4860
2.6265
2.7671
2.9109
3.0546
3.1984
3.3422
3.4872
3.6322
3.7773
3.9223
4.0679
4.2135
4.3591
4.5046
4.6504
4.7962
4.9420
5.0878
5.2336
5.3795
5.5254
5.6712
5.8171
5.9630
6.1089
6.2548
6.4007
Metode numerice n ingineria electric- LUCRARI DE LABORATOR
6.5467
6.6926
6.8385
6.9844
7.1303
7.2762
7.4222
7.5681
7.7140
7.8599
8.0058
8.1518
8.2977
8.4436
8.5895
8.7355
8.8814
9.0273
9.1732
9.3191
9.4651
9.6110
9.7569
9.8177
9.8785
9.9392
10.0000
yval =
1.0e+08 *
0 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
Metode numerice n ingineria electric- LUCRARI DE LABORATOR
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0000 0.0000
-0.0001 0.0001
-0.0001 0.0001
-0.0001 0.0001
-0.0001 0.0001
-0.0002 0.0002
-0.0002 0.0002
-0.0003 0.0003
-0.0004 0.0004
-0.0006 0.0006
-0.0008 0.0008
-0.0010 0.0010
-0.0014 0.0014
Metode numerice n ingineria electric- LUCRARI DE LABORATOR
-0.0018 0.0018
-0.0024 0.0024
-0.0033 0.0033
-0.0044 0.0044
-0.0058 0.0058
-0.0078 0.0078
-0.0104 0.0104
-0.0140 0.0140
-0.0187 0.0187
-0.0251 0.0251
-0.0336 0.0336
-0.0450 0.0450
-0.0602 0.0602
-0.0806 0.0806
-0.1079 0.1079
-0.1445 0.1445
-0.1935 0.1935
-0.2590 0.2590
-0.3467 0.3467
-0.4643 0.4643
-0.6218 0.6218
-0.8323 0.8323
-1.1142 1.1142
-1.4920 1.4920
-1.6848 1.6848
-1.9026 1.9026
-2.1485 2.1485
-2.4262 2.4262
Metode numerice n ingineria electric- LUCRARI DE LABORATOR