作业帮 > 综合 > 作业

matlab解一阶微分方程

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 23:45:51
matlab解一阶微分方程
方程 dy/dt+i=240*sin(2*pi*50*t)
其中i=(0.0006455*exp(0.4182*(10*y/0.001+21)) + (-3.971e+004)*exp(-0.4854*(10*y/0.001+21)))*0.1/100
这个i的方程是我用CFtoolbox得到的.
我想用ODE45来得到这个微分方程的数值解,其中y(0)=0;
i和y的关系设定 y是必须在这个范围里面,如果超出这个范围,i(y)这个方程就不适用了.而且y的值不能这样取-0.0015:0.0015,如果这样取的话,也是错误的.
y=-0.0015:0.0001:0.0015;
i=(0.0006455*exp(0.4182*(10*y/0.001+21)) + (-3.971e+004)*exp(-0.4854*(10*y/0.001+21)))*0.1/100;
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function dy=zhidao_kingwolfnet(t,y)
%y如果在你的区间[-0.0015,0.0015],用你的i的表达式,
%不在区间内的话,我直接将i赋成0
if ((y>=-0.0015)&&(y