用matlab对分段微分方程作图
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 01:18:26
请参考pdepe函数的用法
用if语句就可以了,方便的话把具体表达式给出吧,具体问题欢迎探讨!t=0:0.5:2.5;len=length(t);fori=1:lenif(0
你可以镶嵌套用用ifelse语句完成函数分段,你得先定义tGT的,相信你会的,呵呵再问:会写分段函数,你可以棒我写下matlab上定义t/G/T的吗?谢啦。定义变量不会写哎,matlab不吃我这套啊。
%给你参考一下我当年做的一个类似的程序%cleardt=0.004;t=0:dt:5;a=-pi:0.2:pi;l=100;r=8;d=10;%导弹尺度参数:长度、半径、火焰尺度L=l;D=l/3;c
设缉私艇航速为v1,走私船航速为v2,航行时间为t,以缉私艇出发点为原点,正东方向为x轴,正北方向为y轴,缉私艇经t时间行驶到(x,y)点.经过的航迹为y=f(x);y'=(v2*t-y)/(c-x)
用dsolve求不出解析解,用数值解法吧,最好能提供初始条件,这里假设t=0时,x0=1,y0=2,z0=3. functionhh [t,x]=ode23t(@fun,0:1,[123]) p
x=[-5,-3,1,2,2.5,3,5];y=[0,0,0,0,0,0,0];fori=1:7if(x(i)=0&&x(i)
画第二个图的时候不是用:holdon吗
能画一个当然也能画多个了.画第二个之前用ploton命令,这样后面再绘图的时候就都画在同一个坐标图里面了.如果你用的ode函数,注意参数t或者你给的例子是x,范围要按你分段的那么分,得出的数据才会在绘
clearclc;x=0:0.01:1;n=length(x);y=zeros(1,n);for i=1:101 if x(i)<
用holdon画一次画一截,然后holdon,再画另外一截.再问:能不能给出具体编程语句。。。函数是我上面说的再答:方法一:%例如s1=-1,s2=1%x
前两天刚回答了一个类似的问题:再问:非常感谢你,那个问题也是我发的,但我处理二阶就不会了,失败了。听同学说没有解析解,想问下怎么写二阶形式的求解,只要ODE45的方法就行了,别的不麻烦您了再答:>>o
dy(1)是对y(1)求导数的意思后面一样了
A=[-53;100-301];[VD]=eig(A);lambda=diag(D);C=V\[50;100];t=linspace(0,1,1000)';y1=C(1)*V(1,1)*exp
参考代码:a=0.5; b=0.6;dIdt=@(t,I)a*(1-I)*I-b*I;ode45(dIdt,[0 10],0)存在的问题是,如果初值为0,可以计算出导数dI/dt=
用SIMULINK里的S-FUNCTION建立一个模型,再在MATLAB里面生成一个相应的M文件,将所要求的公式,输入,将其和SIMULINK里的模型关联,运行程序即可.
先定义地字符,再求eg:symsxy;dsolve(Dy=x)simiplify(y)或直接dsolve('Dy=x');simiplify(y)
functionf=ffun(t,x)f=zeros(3,1);f(1)=-x(1)+0.5*(x(3)+x(2))*(x(3)+x(2)+sin(x(3)));f(2)=-0.5*x(1)*(x(3
y=dsolve('2000*Dy-(0.08-y*0.08)','y(0)=0','t')y=1-exp(-1/25000*t)即:C(t)=1-exp(-1/25000*t)
functionhahaha[t,r]=ode45(@myfun,[01],0)functiondrdt=myfun(r,t)drdt=-i*(50.24-235.5*t)*r+3.14*(1-r^2