Could someone help me find what I did wrong?
I am trying to plot two system ODE in matlab, but the system shows error in vector length? I do not get what is wrong~
Here is my code:
tRange = [0,300];concA0=1.2;concB0=0.2;concC0 = 1.2; concD0 = 1.2; concE0 = 1.2;Y0=[concA0;concB0];X0=[concC0;concD0;concE0];[t,Y]=ode45(@first,tRange,Y0);[t,X]=ode45(@second,tRange,X0);concA=Y(:,1);concB=Y(:,2);concC=X(:,1);concD=X(:,2);concE=X(:,3);hold onplot(t,concA,'k-')plot(t,concB,'b-')hold offplot(t,concC,'r-')plot(t,concD,'m-')plot(t,concE,'g-')function dYdt = first(t,Y)concA = Y(1);concB = Y(2);dAdt=-2.3*power(10,-3).*power(concA,4);dBdt=2.3*power(10,-3).*power(concA,4);dYdt=[dAdt;dBdt];endfunction dXdt = second(t,X) concC = X(1); concD = X(2); concE = X(3); dCdt=-8.5*power(10,-4).*concC.*power(concD,2); dDdt=-2*8.5*power(10,-4).*concC.*power(concD,2); dEdt=8.5*power(10,-4).*concC.*power(concD,2); dXdt=[dCdt;dDdt;dEdt];end
Best Answer