solving multiple equation in a for loop

12 Ansichten (letzte 30 Tage)
pejhan stiff
pejhan stiff am 31 Dez. 2020
Beantwortet: Walter Roberson am 1 Jan. 2021
hi
i have these equations and i dont know how to solve them plz help me ASAP
thanks
clc
clear all
%%part b
dt=1 ;V=1000*1000*100 ; pro=0.15 ; Co=10^-6 ; alpha =5.615; Bo=1.35;
beta =1.127 ;Ax=1000*100 ; mio=1 ;Dx=1000;Kx=20*10^-3;
cte=(V*pro*Co)/(alpha*Bo*dt);
T=(beta * Ax* Kx)/(mio *Bo*Dx);
p1(1:360)=5000 ; p2(1)=5000; p3(1)=5000;p4(1)=5000 ; p5(1)=5000; p6(1)=5000;
p7(1)=5000 ; p8(1)=5000; p9(1)=5000;
for i=1:1:360
p3(i+1)*T-(cte +2*T)*p2(i+1)+T*p1(i+1)==-(cte *p2(i));
p4(i+1)*T-(cte +2*T)*p3(i+1)+T*p2(i+1)==-(cte *p2(i)-250);
p5(i+1)*T-(cte +2*T)*p4(i+1)+T*p3(i+1)==-(cte *p3(i));
p6(i+1)*T-(cte +2*T)*p5(i+1)+T*p4(i+1)==-(cte *p4(i));
p7(i+1)*T-(cte +2*T)*p6(i+1)+T*p5(i+1)==-(cte *p5(i));
p8(i+1)*T-(cte +2*T)*p7(i+1)+T*p6(i+1)==-(cte *p6(i)-250);
p9(i+1)*T-(cte +2*T)*p8(i+1)+T*p7(i+1)==-(cte *p7(i));
-(cte +2*T)*p9(i+1)+T*p8(i+1)==-(cte *p8(i));
end

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 1 Jan. 2021
%%part b
dt=1 ;V=1000*1000*100 ; pro=0.15 ; Co=10^-6 ; alpha =5.615; Bo=1.35;
beta =1.127 ;Ax=1000*100 ; mio=1 ;Dx=1000;Kx=20*10^-3;
cte=(V*pro*Co)/(alpha*Bo*dt);
T=(beta * Ax* Kx)/(mio *Bo*Dx);
p1(1:360)=5000 ; p2(1)=5000; p3(1)=5000;p4(1)=5000 ; p5(1)=5000; p6(1)=5000;
p7(1)=5000 ; p8(1)=5000; p9(1)=5000;
syms p2i1 p3i1 p4i1 p5i1 p6i1 p7i1 p8i1 p9i1
for i=1:1:359
eqn = [
p3i1*T-(cte +2*T)*p2i1+T*p1(i+1)==-(cte *p2(i));
p4i1*T-(cte +2*T)*p3i1+T*p2i1==-(cte *p2(i)-250);
p5i1*T-(cte +2*T)*p4i1+T*p3i1==-(cte *p3(i));
p6i1*T-(cte +2*T)*p5i1+T*p4i1==-(cte *p4(i));
p7i1*T-(cte +2*T)*p6i1+T*p5i1==-(cte *p5(i));
p8i1*T-(cte +2*T)*p7i1+T*p6i1==-(cte *p6(i)-250);
p9i1*T-(cte +2*T)*p8i1+T*p7i1==-(cte *p7(i));
-(cte +2*T)*p9i1+T*p8i1==-(cte *p8(i))
];
S = solve(eqn, [p2i1, p3i1, p4i1, p5i1, p6i1, p7i1, p8i1, p9i1]);
p2(i+1) = S.p2i1;
p3(i+1) = S.p3i1;
p4(i+1) = S.p4i1;
p5(i+1) = S.p5i1;
p6(i+1) = S.p6i1;
p7(i+1) = S.p7i1;
p8(i+1) = S.p8i1;
p9(i+1) = S.p9i1;
end
p2(1:10)
ans = 1×10
5.0000 4.9800 4.9638 4.9516 4.9426 4.9359 4.9310 4.9274 4.9248 4.9229
p3(1:10)
ans = 1×10
5.0000 4.9362 4.9085 4.8888 4.8745 4.8640 4.8563 4.8506 4.8465 4.8435
p4(1:10)
ans = 1×10
5.0000 4.9667 4.9181 4.8869 4.8647 4.8486 4.8368 4.8283 4.8220 4.8175
p5(1:10)
ans = 1×10
5.0000 4.9576 4.9062 4.8594 4.8262 4.8024 4.7852 4.7727 4.7637 4.7571
p6(1:10)
ans = 1×10
5.0000 4.8984 4.8227 4.7623 4.7158 4.6825 4.6585 4.6413 4.6288 4.6197
p7(1:10)
ans = 1×10
5.0000 4.7187 4.5792 4.4946 4.4352 4.3922 4.3613 4.3392 4.3232 4.3116
p8(1:10)
ans = 1×10
5.0000 4.3553 4.1070 3.9878 3.9168 3.8681 3.8333 3.8083 3.7903 3.7774
p9(1:10)
ans = 1×10
5.0000 3.2278 2.9100 2.7802 2.7135 2.6718 2.6428 2.6220 2.6070 2.5963

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by