如何使用Matlab求微分方程的解?

作者&投稿:勇屠 (若有异议请与网页底部的电邮联系)
~

第一种方法:利用dsolve函数求微分方程的符号解(通解):对于一些不是很难,要求出通解的微分方程,用dsolve函数求解。

1、 打开Matlab软件-->点击新建脚本菜单,新建一个脚本文件用于编写微分方程求解程序。

2、  输入微分方程求解程序-->点击保存-->点击运行。

3、在matlab的命令窗口即可看到求解结果,是一个关于参数a,b的表达式

第二种方法:利用Matlab中的solver函数(包括ode45、ode23、ode15s等)来求解微分方程的数值解,这种方法是最常用的方法,对于dsolve函数难以求解的方程就可以利用这种方法求解方程的数值解。

1、  打开Matlab-->新建一个脚本文件用于编写求解程序。

2、 在脚本文件中输入求解程序-->点击保存-->点击运行。

3、 这里需要先编写一个函数文件用于表示方程-->点击保存-->编写求解程序-->点击保存-->点击运行。

4、在figure页面就可以看到所求解的微分方程的图形。




matlab中低层绘图的基本思路是什么与高层绘图操作相比有何特点
强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立...

求大神帮我揪一下错。急用MATLAB。奈何不会用
function不能在命令行里执行的,要保存在m文件里,并且文件名必须是function的函数名 所以你这些语句要保存到shang.m文件里,然后通过shang(x)的方法调用

如何设置选择Matlab的符号计算引擎,Maple或MuPAD
会返回结果toolbox_version=maple;上面说明maple工具箱安装成功,但是不经设置的话matlab仍然使用内置的MuPAD, 即便是toolbox_version=maple,并不是说你现在的符号运算都是使用maple内核,其实现在的使用还是matlab默认的MuPad。现在我们开始设置最关键的一个东西,也是让maple内核工作的关键!第五步:在...

matlab,简易绘图命令和一般绘图命令有啥区别,如ezplot何fpolt,请...
你说的简单绘图命令和一般绘图命令具体指啥!单独就ezplot和fpolt来说:1、ezplot是一个易用的一元函数绘图函数。特别是在绘制含有符号变量的函数的图像时,ezplot要比plot更方便。因为plot绘制图形时要指定自变量的范围,而ezplot无需数据准备,直接绘出图形。2、fplot在指定的范围内绘制函数图像,函数必须...

用MATLAB设计低通,带通,高通和带阻FIR数字滤波器 急!!!
在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(...

ansys和matlab有何相互关系?
首先:“用MATLAB建立模型,再把模型送入MATLAB进行分析,再把分析结果回送到MATLAB进行处理” 这里你应该是打错了。。。一般来说,两者基本没什么联系的。1、MATLAB是处理矩阵运算的很常见和高效的编程软件,当然它也可以运用有限元方法进行计算,但需要你对有限元方法和你具体实现的问题驾驭能力较高,...

怎么样在MATLAB中读取结构体中的数据
简单,使用fieldnames()函数查看有哪些成员,使用getfield()函数查看成员数据,比如:>> a.x1 = 123;>> a.x2 = 'a string';>> a.x3 = [1,2,3,4,5];>> fieldnames(a) % 返回成员名称列表 ans = 'x1''x2''x3'>> getfield(a,'x1') % 查看某一成员的值 ans = 123 ...

matlab,简易绘图命令和一般绘图命令有啥区别,如ezplot何fpolt,请...
plot()是针对向量或矩阵画平面曲线图像,画前要定义好定义域和相应的函数值,针对的是离散点 fplot()是画函数的图像,但是要规定函数的定义域,针对的是连续的点 ezplot()也是画函数的图像,并且不需要规定函数的定义域 比如:>>syms x >> y=sin(x);>> ezplot(y)就可以画出图像sin x ...

如何用matlab编程c1\/T+c2*Q^2\/2*r*T+c3*(rT-Q)^2\/2*r*T求T,Q为何值...
>> syms x >> f=c1\/T+c2*x^2\/2*r*T+c3*(r*T-x)^2\/2*r*T;事先对c1,c2,c3,r,T赋值(我把rT改为r*T不知道对不对)>> y=inline(f);fminbnd(y,-inf,inf) %由于不知道你的取值范围,我就取负无穷到正无穷

matlab中如何画出幂函数指数为分数时比如y=x^(1\/3)的完整图像
matlab 画图 怎么才能画出幂函数的图像啊,比如y=x^5-3x+4 记住用点运算: 如: x=0:1:20; y=x.^5-3*x+4; plot(x,y)在matlab中如何画出函数y=2.46x\/(1+1.46x)的图像 很好画 的,命令: syms x ; ezplot('2.46*x\/(1+1.46*x)',x)若点(√3,3)在幂函数...

瑞金市15862355872: matlab 求解微分方程 -
曹勉金尔: 编个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的图像

瑞金市15862355872: 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画图

瑞金市15862355872: 如何用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区间

瑞金市15862355872: 如何使用MATLAB求解微分方程 -
曹勉金尔: 可以用desolve方程:r=dsolve('eqn1','eqn2',...,'cond1','cond2',...,'var').eqn1表示第1个微分方程,cond1表示第1个初始条件,var表示微分方程中的自变量,默认为t.

瑞金市15862355872: 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;%时间区...

瑞金市15862355872: 如何用MATLAB软件求微分方程?
曹勉金尔: 有符号法和数值法.一般使用dsolve和ode命令,比如: 符号法 dsolve('Df = f + sin(t)') ans = C4*exp(t) - sin(t)/2 - cos(t)/2 数值法 sol = ode45(@vdp1,[0 20],[2 0]);x = linspace(0,20,100);y = deval(sol,x,1); plot(x,y);

瑞金市15862355872: 用MATLAB如何解微分方程,高手来救救
曹勉金尔: dsolve('D2y/Dx2=Dy/Dx-3*x^2+6*x') dsolve('(1+x)*D2y/Dx2+Dy/Dx=0') matlab里 一个一个复制进去,回车就行 第一个解 ans = [ x(t)=-1+(1-2*Int(diff(y(t),t)*diff(x2(t),t)/diff(y(t),$(t,2)),t)-2*C1)^(1/2), x(t)=-1-(1-2*Int(diff(y(t),t)*diff(x2(t),t)/diff(y(t),$(t,2)),t)-2*C1)^(1/2)] 第二个有些问题,自己看看吧

瑞金市15862355872: MATLAB中怎么解微分方程 -
曹勉金尔: 好像没什么特别好的办法: >> syms t q y; q=4*t^3;>> syms Dy>> eq=Dy-(q-2*t);>> y=dsolve(char(subs(eq)),'y(0)=5','t') y = t^4-t^2+5 也就是要先移项把微分方程写成等号右端为零的形式(需额外定义Dy),然后subs代入,再求解.

瑞金市15862355872: 怎么用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

瑞金市15862355872: matlab微分方程编程求解 -
曹勉金尔: 直接解就可以了>> S=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0','x(0)=1','y(0)=0') S =x: [1x1 sym] y: [1x1 sym]>> S.x,S.y ans = -4*exp((-1+15^(1/2))*t)*(1/22+13/330*15^(1/2))+exp((-1+15^(1/2))*t)*(1/22+13/330*15^(1/2))*15^(1/2)-4*exp(-(1+15^(1/2))*t)*(-...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网