Trying to get a plot but I get the error below, any way to plot without changing the code but using different syntax?
Show older comments
| | The function is:||
function yprime = model(t,y)
d=5*10^-6;
xHe=0:1:100; %Important
xAr=100:-1:0; %Important
pg=(1.5979.*xAr)+(.1624.*xHe);
V=(pi/6)*d^3;
As=(pi/4)*d^2;
Ad=(pi*d^2);
g=9.81;
pm=3545;
CM=0.2165;
yg=1.66;
Po=2.76;
Pe=0.0018;
Ma=CM*(sqrt((2/(yg-1))*(((Po/Pe)^((yg-1)/yg))-1)));
mmolg=((40.*xAr)+(4.*xHe))./1000;
R=8.314;
To=300;
Te=To/(1+((yg-1)/2)*(Ma^2));
vs=sqrt(((yg*R*Te)./(mmolg)));
vgo=Ma.*vs;
k=(3.04*(10^-4)).*(vgo.^1.24);
e=0.035;
s=5.671*10^-8;
Kg=(.0179.*xAr)+(.15015.*xHe);
Cpg=(520.76.*xAr)+(5278.*xHe);
ug=((224.3*10^-6).*xAr)+((198.6*10^-6).*xHe);
Tgas=370;
yprime(1,1)=y(2);
CD=(.28+(((6.*(sqrt(((pg.*d.*(abs((vgo.*exp(-y(1)./k))-y(2))))./ug))))+21)./((pg.*d.*(abs((vgo.*exp(-y(1)./k))-y(2))))./ug)));
yprime(2,1)=(V.*(pm-pg).*g-(0.5.*pg.*As.*CD).*(abs(y(2)-(vgo.*exp(-y(1)./k)))).*(y(2)-vgo.*exp(-y(1)./k)))./(pm*V);
vg=vgo.*exp(-y(1)./k);
vd=y(2);
Re=((pg.*d.*(abs(vg-vd)))./ug);
Pr=(ug.*Cpg)./Kg;
h=(Kg./d).*(2+0.6.*(Re.^.5).*(Pr.^(1/3)));
Cpd=(21.8+.009.*y(3));
fr=.043;
yprime(3,1)=fr.*((-h.*Ad*(y(3)-Tgas))-(Ad.*e.*s.*((y(3).^4)-Tgas.^4)))/(V.*pm.*Cpd);
_ | |The script to solve the function is:||_
y0(1,1)=0;
y0(2,1)=0;
y0(3,1)=1373;
xHe=0:1:100; %Important
xAr=100:-1:0; %Important
pg=(1.5979.*xAr)+(.1624.*xHe);
g=9.81;
pm=3545;
CM=0.2165;
yg=1.66;
Po=2.76;
Pe=0.0018;
Ma=CM*(sqrt((2/(yg-1))*(((Po/Pe)^((yg-1)/yg))-1)));
mmolg=((40.*xAr)+(4.*xHe))./1000;
R=8.314;
To=300;
Te=To/(1+((yg-1)/2)*(Ma.^2));
vs=sqrt(((yg*R*Te)./(mmolg)));
vgo=Ma.*vs;
k=(3.04*(10^-4)).*(vgo.^1.24);
Kg=(.0179.*xAr)+(.15015.*xHe);
Cpg=(520.76.*xAr)+(5278.*xHe);
ug=((224.3*10^-6).*xAr)+((198.6*10^-6).*xHe);
Tgas=370;
Pr=(ug.*Cpg)./Kg;
fr=.043;
tspan1=[0,.005];
[t1,y1]=ode45('model',tspan1,y0);
d1=5*10^-6;
z1=y1(:,1);
vd1=y1(:,2);
vg1=vgo.*exp(-z1./k);
T1=y1(:,3);
Re1=((pg.*d1.*(abs(vg1-vd1)))./ug);
Cpd1=21.8+(0.009.*T1);
h1=(Kg/d1).*(2+0.6.*(Re1.^.5).*Pr.^(1/3));
Tdot1=mean((6*fr*(T1-Tgas).*h1)./(pm*Cpd1.*d1));
semilogy(xHe,Tdot1,'b*')
_ | The error I get is:|_
>> solve_model
Subscripted assignment dimension mismatch.
Error in model (line 31)
yprime(2,1)=(V.*(pm-pg).*g-(0.5.*pg.*As.*CD).*(abs(y(2)-(vgo.*exp(-y(1)./k)))).*(y(2)-vgo.*exp(-y(1)./k)))./(pm*V);
Error in odearguments (line 87)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 113)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Error in solve_model (line 31)
[t1,y1]=ode45('model',tspan1,y0);
Accepted Answer
More Answers (0)
Categories
Find more on Assembly in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!