
matlab用ode45的时候如果我要把一个变量变成function怎么办???
我有一个function了,是func(t,y,d,u,g,L)d,g,L都是常数,但是u是一个关于t的变量u=@(t)10*exp(-t.^2/20).*sin(t.^...
我有一个function了,是func(t,y,d,u,g,L)
d,g,L都是常数,但是u 是一个关于t的变量u=@(t)10*exp(-t.^2/20).*sin(t.^3),我怎么把u这个变量code进去??然后再用ode45求出来微分?
在线等大神!!谢谢!!!
我试着把u(t) code进function里面,和直接code到editor里面,但是都告诉我有error 展开
d,g,L都是常数,但是u 是一个关于t的变量u=@(t)10*exp(-t.^2/20).*sin(t.^3),我怎么把u这个变量code进去??然后再用ode45求出来微分?
在线等大神!!谢谢!!!
我试着把u(t) code进function里面,和直接code到editor里面,但是都告诉我有error 展开
2个回答
展开全部
我用着完全没有问题啊,你再查查代码吧
function main_pro
close all;
clc;
d=1;
g=9.8;
L=2;
u=@(t)10*exp(-t^2/20).*sin(t^3);
[T Y] = ode45(@(t,y)func(t,y,u,d,g,L),[0 3],1); % Solve ODE
plot(T,Y);
grid on;
return
function dy=func(t,y,u,d,g,L)
ut = u(t);
dy=ut*y*d/L;
return
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询