Bonjour ,
je dois résoudre le problème Mathlab suivant:
Voici mes réponses aux questions
1)
2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function x=La(T,L) s=3e-3; b=2*s*0.6/66/(4.1e-7); h=b*(T-283); x=(sqrt(2*s^2*L+s*h+0.25)-(s^2*L+s*h+0.5))/s^2; end
3)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function y=alphaocean(T) if (T<=217) y=0.85; end if ((T>217)&&(T<283)) y=(-0.6/66)*(T-217)+0.85; end if (T>=283) y=0.25; end end
4)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function y=epsilon(T) if (T<=273) y=0.1; end if ((T>273)&&(T<283)) y=0.04*(T-273)+0.1; end if (T>=283) y=0.5; end end
5)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function yp=edo(t,y) yp=[362.2*(1-(0.3*(0.25+4.1*(10^-7)*y(2)))+0.7*alphaocean(y(1)))-1.74*(y(1)-154);1.5*sqrt((1.44*10^6)/y(2))*(1+epsilon(y(1)))*La(y(1),y(2))-y(2)]; end
6)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function y=ocean sol=ode45(@edo,[0,100],[278,900000]); t=0; y=deval(sol,t); end
Cependant , mon programme ne marche pas . Pourriez vous m'aider à trouver mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function y=ocean sol=ode45(@edo,[0,100],[278,900000]); t=0:0.01:100; y=deval(sol,t); plot(t,y(1,:)) end
Partager