필터 지우기
필터 지우기

Whats wrong with these scripts? I can't get them to work.

조회 수: 1 (최근 30일)
Adam Goza
Adam Goza 2016년 3월 20일
댓글: Adam Goza 2016년 3월 21일
Script:
[W,y] = ode45(@eqtP426,[0 368],[2; 2; 0; 0]);
plot(W,y(:,1),'-',W,y(:,2),'--',W,y(:,3),'-*',W,y(:,4),'-')
title('Solution of P4-26');
xlabel('Catalyst weight W');
ylabel('Solution y');
legend('y_1','y_2','y_3','y_4')
Script:
function dydW = eqtP426(W,y)
CT0 = 0.4
FT0 = 4
kh = 0.1
keq = 1.44
k = 1.37
dydW =[-(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
-(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq)-
kh*CT0*y(4)/(y(1)+y(2)+y(3)+y(4))]

답변 (1개)

Geoff Hayes
Geoff Hayes 2016년 3월 21일
Adam - when I run your code, I observe the following error
Error using feval
Error: File: eqtP426.m Line: 10 Column: 69
Expression or statement is incorrect--possibly unbalanced (, {, or [.
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,
...
This is due to how you initialize dydW in eqtP426.m
dydW =[-(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
-(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq)-
kh*CT0*y(4)/(y(1)+y(2)+y(3)+y(4))]
The fourth element of the above array requires the long line continuation using an ellipsis as
dydW =[-(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
-(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq);
(k*CT0^2/(y(1)+y(2)+y(3)+y(4))^2)*(y(1)*y(2)-y(3)*y(4)/keq)- ...
kh*CT0*y(4)/(y(1)+y(2)+y(3)+y(4))];
Try making the above change and re-run your code.

카테고리

Help CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by