How to add variable to ode45 method?
이전 댓글 표시
I am solving system of two ODEs with ode45 method, and code is working for constant cross section, that means constant radius R:
function f=fun(z,p)
R=2; sig=1; beta=1;
f(1)=-32*beta/(R^4*p(1));
f(2)=(-(2-sig)*8*f(1)/(sig*R)-f(1)*p(2))/p(1);
[zv,pv]=ode45('fun',[1 0],[1; 0])
But I need to implement solution where R=2-z, z is longitudinal coordinate, it is there already in first row of function. I wrote z=0:0.001:1; and R=2-z, like this:
function f=fun(z,p)
z=0:0.001:1;
R=2-z; sig=1; beta=1;
f(1)=-32*beta/(R^4*p(1));
f(2)=(-(2-sig)*8*f(1)/(sig*R)-f(1)*p(2))/p(1);
[zv,pv]=ode45('fun',[1 0],[1; 0])
But I got errors matrix dimensions must agree, what should I do to correct this? On the other side z need to be equal to zv, do I need to call z=0:0.001:1; different?
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!