怎么用matlab的ode命令解下面的方程?上述方程我用matlab解后发现数值解和精确解差别较大,求帮助
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 08:00:44
怎么用matlab的ode命令解下面的方程?上述方程我用matlab解后发现数值解和精确解差别较大,求帮助
怎么用matlab的ode命令解下面的方程?
上述方程我用matlab解后发现数值解和精确解差别较大,求帮助
怎么用matlab的ode命令解下面的方程?上述方程我用matlab解后发现数值解和精确解差别较大,求帮助
数值解求解和解析解求解都完全没有问题的,可能是你解题的方法错了.
这道题中自变量为x,状态变量为y,y'.(注意到自变量不是t,状态变量不是x.这道题就解决一半了)
首先编写m函数如下:
function f=fun1(t,x,n)f(1,1)=x(2);
f(2,1)=-(t^2-n^2)/t^2*x(1)-x(2)/t;
end
然后再编写求解脚本文件(也是m文件,m文件分函数文件和脚本文件两种)如下:
clc
%% 数值解
x0=[2;-2/pi];
[t,x]=ode45(@fun1,[pi/2,10*pi/2],x0,[],1/2);
plot(t,x)
hold on
%% 解析解
syms x y
y1=dsolve('x^2*D2y+x*Dy+(x^2-1/4)*y=0','Dy(pi/2)=-2/pi,y(pi/2)=2','x')
y2=diff(y1)
x1=linspace(pi/2,10*pi/2,200);
y1=subs(y1,x,x1);
y2=subs(y2,x,x1);
plot(x1,y1,'r',x1,y2,'g')
最后画出图形如下:
其实图中有四条曲线,可以看出数值解的y和y'和解析解的y和y'几乎一致.
在命令空间可以得到函数的解析解为y(1),其导数为y(2)
y1 =pi^(1/2)*2^(1/2)/x^(1/2)*sin(x)
y2 =
-1/2*pi^(1/2)*2^(1/2)/x^(3/2)*sin(x)+pi^(1/2)*2^(1/2)/x^(1/2)*cos(x)
相关m函数在附件中
怎么用matlab的ode命令解下面的方程?上述方程我用matlab解后发现数值解和精确解差别较大,求帮助
用MATLAB中的ode命令解二阶微分方程,如何得到y的二次导数项结果
请问怎么用matlab画出下面的图形,命令是什么?
matlab命令simple 是干什么用的
解下面的方程
用matlab中的ezplot 绘图命令得到的图形标题(title)怎么去掉
MATLAB里怎么表示一个集合和它包含的元素就是用什么命令
matlab中的set命令怎么用啊
matlab中怎样解下面的多元方程组?这个方程组有没有解呢?
求Matlab大神给一个解下面这个非线性方程组的方法!其中,只有p,q是未知参数,Xi是已知的,怎么求p,、
maya怎么让正方体的边、面变得有弧度,那要用什么命令
解下面的分式方程
MATLAB中求逆矩阵的命令是?
matlab的dsolve求不出精确解,如何用ode函数求得数值解?spsilon=0.001
这个图像用matlab怎么实现啊?色调随角度变化的,有什么命令可以实现这圆形的
MATLAB中相关系数矩阵和协方差矩阵的命令?这两个矩阵有什么区别,不用命令怎么求
Matlab命令 cat解释下面的Matlab命令com=cat(2,md ',shot);eval(com);
数学建模的数据拟合命令把一串数据的曲线用matlab拟合出方程来,用哪个命令