matlab如何画常微分方程?

作者&投稿:廖振 (若有异议请与网页底部的电邮联系)
用matlab画常微分方程图~

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

常微分方程一般可以用ode函数来求其数值解,然后根据z和ρ的数值绘制其z(ρ)的函数图形。

实现方法:

1、根据常微分方程,建立其自定义函数

fun=@(rho,z)sqrt((0.5+0.5/sqrt(1-rho^2))^2-1)

2、利用matlab的ode函数求解。

[rho,z]=ode45(fun,tspan,z0); 

3、根据z和ρ的数值绘制其z(ρ)的函数图

plot(rho,z); 

xlabel('ρ'),ylabel('z(ρ)')

编程后运行,可得到如下z(ρ)的函数图



一阶的比较简单,设置一下函数就可以绘制出来


在matlab里怎么画常值函数
比如你要画(y,t)y=4。那么你只要画两个点y=[4,4],t=[-10,10],plot(t,y)就行。如果修改显示范围,那么修改t的数值就可

matlab如何画常微分方程?
实现方法:1、根据常微分方程,建立其自定义函数 fun=@(rho,z)sqrt((0.5+0.5\/sqrt(1-rho^2))^2-1)2、利用matlab的ode函数求解。[rho,z]=ode45(fun,tspan,z0);3、根据z和ρ的数值绘制其z(ρ)的函数图 plot(rho,z);xlabel('ρ'),ylabel('z(ρ)')编程后运行,可得到如下z(ρ)...

用matlab画常微分方程图
首先,建立微分方程自定义函数 function dy=odefun(t,y,a);dy(1)=y(2);dy(2)=(1\/a)*sqrt(1+y(1)^2);dy=dy(:);其二,用ode45()函数求其数值解,再用plot()函数绘出x——y(x),x——dy\/dx关系图 a=1;y0=[a,0];[t,y]=ode45(@(t,y)odefun(t,y,a),[0 20],y0)pl...

Matlab怎么画常微分方程的图像
首先D2y(0)他不可能等于0,二阶微分方程只可能有两个初始值。你想想Dy(0)=0,y(0)=1带进去D2y(0)-Dy(0)+y(0)=0 ,D2y(0)自然就出来了 先定义微分方程组函数,建立rigid.m文件 function dy = rigid(t,y)dy = zeros(2,1); % a column vector dy(1) = y(2) ;...

matlab常微分画图画出x1,x2,t的图
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

求Matlab画常微分方程解
你好!我做了一个程序,希望你喜欢!主程序:clcA=[0,1,0,0;0,0,1,0;0,0,0,1;-3,10,-12,6];%特征矩阵[v,d]=eig(A);%d为特征值eigenvaluep=[-0.5,1,1,1];%p是对应的系数C1,C2,C3,C4x=linspace(-1,1,100);b=zeros(4,1);for i=1:4b(i)=real(d(i,i));end[...

matlab画常微分方程的相图dx\/dt=-y,dy\/dt=x
你的常微分方程缺初始条件。为了说明问题的解决方法,假定其初始条件为x(0)=1、y(0)=2。则其实现代码为 syms x(t) y(t)Dx=diff(x,1);Dy=diff(y,1);[x,y]=dsolve(Dx==-y,Dy==x,x(0)==1,y(0)==2)t=0:0.1:10;x=eval(x);y=eval(y);plot(x,y),grid on xlabel('x...

怎么用matlab画常微分方程图?
a,b是多少,x,y,z的取值范围是多大,初值又是多少,统统不知道,怎么解。。

matlab画二阶常微分方程的状态方程
从调用格式来说,这属于非常早期(大概是6.0之前)的语法(t0和tf分成两个参数写),从我手上的版本看,在6.5或2008b都是可以运行的,不会出现你贴出的错误。猜测你的MATLAB版本可能是6.5之前的,对于输入参数的处理存在BUG所导致。不过,建议现在应该使用新调用格式,即使用函数句柄,并且把时间...

如何用matlab画以常用对数做基准的坐标图?
loglog(x,y)例如:函数y=exp(x)的图形 x = logspace(-1,2);loglog(x,exp(x),'-s')grid on

海港区19378819025: Matlab怎么画常微分方程的图像 -
谢哀硫酸: 首先D2y(0)他不可能等于0,二阶微分方程只可能有两个初始值.你想想Dy(0)=0,y(0)=1带进去D2y(0)-Dy(0)+y(0)=0 ,D2y(0)自然就出来了 先定义微分方程组函数,建立rigid.m文件 function dy = rigid(t,y) dy = zeros(2,1); % a column vector dy(1) = y(2...

海港区19378819025: matlab用dsolve解常微分方程并画图,例如y'=1 - y^2,y(0)=0. -
谢哀硫酸:[答案] >> y=dsolve('Dy=1-y^2','y(0)=0') y = tanh(t) >> t=-2*pi:0.1*pi:2*pi; >> y=tanh(t); >> plot(t,y)

海港区19378819025: matlab如何画常微分方程的解曲线与轨道 -
谢哀硫酸: 如果你会matlab下的simulink仿真模块的话,直接搭建两个模块就解决了.这种方法可以解决几乎所有微分方程的图像问题.否则,你只能通过下述办法了,用dsolve求出目标方程的解析解表达式,然后用fplot函数画出上述解析解表达式的图像.或者求出解析解之后,给自变量一些值,求出响应的因变量的一组值,然后用plot函数画图.这两种方法本质都一样,都严重依赖于解析解.不过你们学生做题的话所有的题目都是有解析解的.

海港区19378819025: 用MATLAB求解常微分方程
谢哀硫酸: 假设R 为1 f=@(t,x)[x(2);(1+x(2)^2)^(1/2)/(x(1))]; [t,x]=ode45(f,[0 10],[200 200]); figure plot(t,x(:,1)); figure plot(t,x(:,2));

海港区19378819025: 用matlab求解常系数微分方程组并画出图像
谢哀硫酸: <p>1定义函数:</p> <p>function y=fun(t,x)</p> <p>y=zeros(3,1);</p> <p>x1=x(1);x2=x(2);x3=x(3);</p> <p>y(1)=x1*(1-x1/150000-0.5*x2/30000);</p> <p>y(2)=x2*(-1-x2/30000+0.5*x1/150000-2*x3/2200);</p> <p>y(3)=x3*(-1-x3/2200+2*x2/30000);...

海港区19378819025: 如何用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区间

海港区19378819025: matlab中符号法求常微分方程
谢哀硫酸: 把自变量x变为t &gt;&gt; y=dsolve('(t^2+1)*Dy-(y^2+1)=0') y =tan(atan(t)+C1) 即 y =tan(atan(x)+C1) 给10分吧,好吗?看看我的回答 http://passport.baidu.com/?center&amp;tpl=ik&amp;aid=7&amp;default_tab=4#4,0 总分:16464 ;回答总数: 682;题均: 16464/682=24.1408

海港区19378819025: matlab解常微分方程 -
谢哀硫酸: 这个非常简单(初始条件有点问题,34应该是x'的初值):dX = @(t,x) [x(2); -60*x(1)-2.7*x(1)^3]; ode45(dX,[0 5],[0 34])两条线分别是x和x'随时间变化的曲线.

海港区19378819025: matlab用dsolve解常微分方程并画图, -
谢哀硫酸: >> y=dsolve('Dy=1-y^2','y(0)=0')y =tanh(t) >> t=-2*pi:0.1*pi:2*pi; >> y=tanh(t); >> plot(t,y)

海港区19378819025: 常微分方程的matlab算法 -
谢哀硫酸: 用ode45函数,matlab本身并不支持高阶微分方程.所以你要用微分方程组.

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