用matlab求解微分方程
matlab怎么求微分方程的变量表达式
对于一般的微分方程用matlab的dsolve()函数命令求得其解析值(即函数表达式)。例如 1、求的解析值。syms y(t) a Dy = diff(y);D2y = diff(y,2);dsolve(D2y == -a^2*y, y(0) == 1, Dy(pi\/a) == 0)运行结果 y=exp(-a*t*1i)\/2 + exp(a*t*1i)\/2 式中li(x)=log...
用matlab求解微分方程并画图,条件如下
用matlab求解微分方程组并画图,其实现过程:1、首先应根据已知微分方程组,编写其函数 dy(1)=-0.10982*y(1)*(1-y(2))^(1\/3)\/(1-(1-y(2))^(1\/3));dy(2)=1441.5074*y(1)*(1-y(2))^(1\/3)\/(1-(1-y(2))^(1\/3));2、用ode45函数求解其微分方程组的数值解 [t,y]...
matlab怎么解微分方程
关于Matlab的微分方程,直到今天才更新第2篇,实在是很惭愧的事——因为原因都在于太懒惰,而不是其他的什么。在上一篇中,我们使用dsolve可以解决一部分能够解析求解的微分方程、微分方程组,但是对于大多数微分方程(组)而言不能得到解析解,这时数值求解也就是没有办法的办法了,好在数值解也有很多的...
怎么用matlab解这个微分方程
求解常微分方程(组),一般可以用dsolve函数求其解析值,但有的微分方程只能通过ode函数求出其数值解。题主给出的微分方程,如用dsolve函数求解,则会出现错误,所以该方程可以用ode45函数得到其数值解。求解过程如下:a0=0;tspan=[0,5];fun=@(t,a)2\/(-3+2*(1-a)^(-1\/3)+4*(1-a)^(-...
matlab中怎么求解微分方程的精确解
对于相对简单的微分方程或微分方程组,可以dsolve()函数得到解析值(精确解)。例①:>>syms x(t) a >>dsolve(diff(x) == -a*x)ans = C2*exp(-a*t)>>dsolve(diff(x) == -a*x, x(0) == 1)ans = exp(-a*t)例②:syms y(t) a >> Dy = diff(y); D2y = diff(y,2...
matlab求解微分方程并画图
水星近动的轨道图像可以在依题意建立ODE方程组后,使用matlab常微分方程组求解器ode45得出:代码的图和运行效果如图 clc;clear all;a=1;b=0.06;mer_orbit=@(theta,r)[r(2);b*r(1)^2-r(1)+a];figure(1);clf;[theta,r]=ode45(mer_orbit, [0:.01*pi:30*pi],[.1,0]);axis ...
matlab 二阶微分方程 求解
1、建立微分方程的自定义函数,odefun(容x,y)2、当a=10、θ=π\/6时,执行下列代码 theta=pi\/6;[x,y]= ode45(@odefun,[0,0.18],[0.5,theta])plot(x,y),grid on legend('y (x)','y’(x)')xlabel('x'),ylabel('y (x),y’(x)')figure(2)plot(y(:,1),y(:,2))...
如何用matlab求解微分方程组的解析解
如何用matlab求解微分方程组的解析解?为了说明问题。特列举一个例子。例:x"(t)+2x'(t)=x(t)+2y(t)-exp(-t),y'(t)=4x(t)+3y(t)+4exp(-t)对于线性微分方程组,一般可以用dsolve()函数求解直接得到其解析解,其计算过程如下:syms t x(t) y(t) %声明变量 D2x=diff(x,2); %求...
matlab解微分方程的题目,求大神解答,谢谢?
Volterra-Lotka模型是种间竞争模型,本例两个物种是兔子和狐狸。该模型的数学表达式为常微分方程组,可以用matlab的ode函数来求解。求解方法:1、建立自定义该模型的数学函数,其内容 function dy=ode_fun(t,x)a=1;b=0.1;c=0.5;d=0.02;dy=[a*x(1)-b*x(1)*x(2);-c*x(2)+d*x(1...
如何用matlab求解二阶微分方程,以及程序实例
如何用matlab求解二阶微分方程,对于一般的微分方程(组)可以用dsolve()函数求得其解析解或数值解,对于较复杂的微分方程(组)可以用ode45()函数求得其数值解。例如:微分方程,用dsolve和ode45计算t=0.1,0.2时y的值。y = dsolve('D2y+0.5*Dy+2*y =0','Dy(0)=0,y(0)=1')t=0....
金山屯区消炎回答: 编个M文件,命名成rigid: %x(1)指原微分方程中的x,x(2)指x' function dx = rigid(t,x) dx=zeros(2,1);%两行 dx(1)=x(2); dx(2)=-0.06*x(1)+0.35*sin(2*t+0.07); %令w=2,必须是个给定常数在命令窗口里输入命令: [T,Y]=ode45(@rigid,[0,500],[0.03,0]); plot(T,Y(:,1)) 就输出x的图像
穰娅19496271141问: MATLAB 微分方程组求解 - ?
金山屯区消炎回答: 除了有参数,还要有x,y,x',y'的初始值 看你的方程,类似有阻力的抛体运动 这里随便给了个初值,x(0)=0 y(0)=10 x'(0)=10 y(0)'=0 可以理解为物体从10米高的高度,以10米每秒的速度做平抛运动 m=1;k=0.2;g=10;%参数 ts=0:0.01:2;%时间区...
穰娅19496271141问: 如何用matlab求解微分方程并画图 - ?
金山屯区消炎回答: ^如何用matlab求解程并画图 dsolve()求解微分方程后,使用ezplot()作图,参考代码:1 2>> y = dsolve('Dy=y*cos(x)/(1+2*y^2)','y(0)=1','x'); >> ezplot(y,[-10,10]) % [-10,10]为x区间
穰娅19496271141问: 如何使用MATLAB求解微分方程 - ?
金山屯区消炎回答: 可以用desolve方程:r=dsolve('eqn1','eqn2',...,'cond1','cond2',...,'var').eqn1表示第1个微分方程,cond1表示第1个初始条件,var表示微分方程中的自变量,默认为t.
穰娅19496271141问: matlab怎么对微分方程求解 - ?
金山屯区消炎回答: 这个不用,如果f是数,直接 dsolve('m*D2y+c*Dy+k*y=f') 就可以了 如果f是f(t) 需要编写程序用ode45 首先编写m-file%%%%%%%%%%%%%function dotx=myfun(t,y) dotx=[y(2);1/m*(-c*y(2)-k*y(1)+f(t))];%f(t)要写出具体形式%%%%%%%%%%%%%%%M-file 以上要单存一个文件在工作路径下%%%%%%%%%%%%% 在command 窗口 [t,y]=ode45('myfun',[t_0,t_final],[y_0,y'_0])%[t_0,t_final]和[y_0,y'_0]分别问求解区间和初值 再用plot画图
穰娅19496271141问: matlab分段微分方程组求解 - ?
金山屯区消炎回答: 用matlab求解分段微分方程组,可以这样来考虑. 1、建立分段函数,ode_fun1(t,y);ode_fun2(t,y);ode_fun3(t,y) 2、分三次用ode45求解,其【t,x,y】的数值 [t1,y1]=ode45(@ode_fun1,tspan,X0) [t2,y2]=ode45(@ode_fun2,tspan,X0) [t3,y3]=ode45(@ode_fun3,tspan,X0) 3、最后用plot函数绘出微分方程组解的图形.plot(x1,y1,x2,y2,x3,y3) 运行结果如下图.
穰娅19496271141问: 我论文需要用MATLAB求解微分方程,Dx= - 0.85*x+0.25*y+0.35*z - 0.8*x^2*y,Dy=0.8*x^2*y - 1.2*y,Dz=0.9*x+0.8*y - 0.3*z用MATLAB画出该微分方程的图像 - ?
金山屯区消炎回答:[答案] 用dsolve求不出解析解,用数值解法吧,最好能提供初始条件,这里假设t=0时,x0=1,y0=2,z0=3.function hh[t,x]=ode23t(@fun,0:1,[1 2 3])plot(t,x)function yhat=fun(t,x)dxdt=-0.85*x(1)+0.25*x...
穰娅19496271141问: 如何用matlab求解微分方程组 - ?
金山屯区消炎回答: 这说明此微分方程没有显示解,应用数值方法求解,例如ode45等函数 就一个例子(选自matlab帮助文档) 解入下微分方程组1,建立方程组函数 function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2) * y(3);dy(2) = -y(1) * y(3);dy(3) = -0.51 * y(1) * y(2);2,求解并绘图 [T,Y] = ode45(@rigid,[0 12],[0 1 1]);plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.') 结果
穰娅19496271141问: 如何用MATLAB软件求微分方程? - ?
金山屯区消炎回答: 微分方程的话可以用dsolve函数,格式可以总结为dsolve('equation','condition',自变量)的形式.自变量默认为t.这种方法解微分方程还好.如果是微分方程组的话建议用od...
穰娅19496271141问: 怎么用matlab解微分方程 dy/dx=A - By - Cxy - ?
金山屯区消炎回答:[答案] syms A B C x y; >> dsolve('Dy=A-B*y-C*x*y','x') ans = -1/2*A*erf(1/2*(-2*C)^(1/2)*x-B/(-2*C)^(1/2))*exp(-1/2*x*(2*B+C*x)-1/2*B^2/C)/C*2^(1/2)*(-pi*C)^(1/2)+exp(-1/2*x*(2*B+C*x))*C1