帮忙看看这个非线性微分方程组用matlab怎么解啊

0.0437*sqrt(400000-P)=4.6dP/dt+1.59*(P-101325)*y^3+201y'38003=3877y''+0.05y'+0.1407P就... 0.0437*sqrt(400000-P)=4.6dP/dt+1.59*(P-101325)*y^3+201y'
38003=3877y''+0.05y'+0.1407P
就是这个方程组
帮忙写个matlab的程序解一下 ,谢谢大家
展开
 我来答
创旧黄
2009-10-25 · TA获得超过1269个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:415万
展开全部
function solv(tspan,x0,type)

% argument
% tspan stands for time span
% if (type=='ode45') tspan must be within [0:1], otherwise the calulation will be time-consuming
% if (tpye=='ode15s') tspan is not limited, but the accuracy can be low
% see help ode45/15s for more information

% state variables
% x1=P
% x2=y
% x3=dy/dt
% state function
% dx1/dt=0.0437/4.6*sqrt(400000-x1)-1.59/4.6*(x1-101325)*x2^3+201*x3
% dx2/dt=x3
% dx3/dt=-0.1407/3877*x1-0.05/3877*x3+38003/3877

% type='ode15s';
% tspan=[0:0.01:4];
% x0 =[2,2,0];

if (type(1:5)=='ode45')
if (tspan(length(tspan))>5)
warning('ctrl+C to terminate');
end
[t,x]=ode45(@odefun,tspan,x0);
else
[t,x]=ode15s(@odefun,tspan,x0);
end

subplot(2,1,1),plot(t,x(:,1),'-'),title('P');
subplot(2,1,2),plot(t,x(:,2),'-'),title('y');

end

function dx=odefun(t,x)
dx=zeros(3,1);
dx(1)=0.0437/4.6*(400000-x(1))-1.59/4.6*(x(1)-101325)*x(2)^3+201*x(3);
dx(2)=x(3);
dx(3)=-0.1407/3877*x(1)-0.05/3877*x(3)+38003/3877;
end

你需要给求值区间和初值.
富港检测技术(东莞)有限公司_
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式