Find difficult in solving these four coupled ODE's using ODE45....I have attached a file regarding these equations..
1 次查看(过去 30 天)
显示 更早的评论
function dy=pair(t,y,a,b,d,hstress,sigma,Hstar,kc,c)
dy(1)= a*sinh((b*(sigma^d)*(1-y(2)))/((1-y(3))*(1-y(4)))) ;
dy(2)=((hstress*(a*sinh(b*(sigma^d)*(1-y(2)))/(1-y(3))*(1-y(4))))/(sigma^d))*(1-y(2)/Hstar);
dy(3)=(kc/3)*power((1-y(3)),4);
dy(4)= c*y(1);
dy=dy';
end
Error
>> a=0.5179;
>> b=1.1003E-3;
>> c=0.4576;
>> d=1;
>> hstress=3463.46;
>> Hstar=0.7846;
>> Kc=0.1137;
>> tspan=0:0.01:40;
pair
Error using pair (line 3)
Not enough input arguments.
>> pair
Error using pair (line 3)
Not enough input arguments.
>> [t,y]=ode45(@pair,tspan,[0 0 0 0 0]);
I suspect I know a bit of what's going wrong, yet I'm at a loss for how to fix it. Any help is much appreciated!
0 个评论
采纳的回答
madhan ravi
2018-11-25
编辑:madhan ravi
2018-11-25
a=0.5179;
b=1.1003E-3;
c=0.4576;
d=1;
hstress=3463.46;
Hstar=0.7846;
Kc=0.1137;
tspan=0:0.01:40;
initial_conditions=[0;0;0;0] %change the intial condition according to your values
[t,y]=ode45(@(t,y)pair(t,y,a,b,d,hstress,sigma,Hstar,Kc,c),tspan,initial_conditions) %function call
plot(t,y(:,1))
function dy=pair(t,y,a,b,d,hstress,sigma,Hstar,kc,c) %function definition
dy=zeros(4,1);
dy(1)=a*sinh((b*(sigma^d)*(1-y(2)))/((1-y(3))*(1-y(4)))) ;
dy(2)=((hstress*(a*sinh(b*(sigma^d)*(1-y(2)))/(1-y(3))*(1-y(4))))/(sigma^d))*(1-y(2)/Hstar);
dy(3)=(kc/3)*power((1-y(3)),4);
dy(4)=c*y(1);
end
11 个评论
Walter Roberson
2018-11-25
y(4) goes to 1. You have
dy(1)=a*sinh((b*(sigma^d)*(1-y(2)))/((1-y(3))*(1-y(4)))) ;
so 1-y(4) goes to 0, and that is a denominator so dy(1) goes to infinity.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!