MATLAB如何解非线性微分方程组

dx/dt=450/sqrt(1+((120-y)/(90*t-x))^2)dy/dt=450/sqrt(1+((90*t-x)/(120-y))^2)x(0)=0,y(... dx/dt=450/sqrt(1+((120-y)/(90*t-x))^2)
dy/dt=450/sqrt(1+((90*t-x)/(120-y))^2)
x(0)=0,y(0)=0

能做出来的我给他加分
运行出来的结果是什么?
展开
 我来答
创旧黄
2009-10-28 · TA获得超过1269个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:415万
展开全部

function [t,x]=solv(tspan)

% argument

% tspan stands for time span

x0   =[0,0];

[t,x]=ode45(@odefun,tspan,x0);

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(2,1);

if abs(90*t-x(1))<eps

 dx(1)=0;

else

 dx(1)=450/sqrt(1+((120-x(2))/(90*t-x(1)))^2);

end

if abs(120-x(2))<eps

 dx(2)=0;

else

 dx(2)=450/sqrt(1+((90*t-x(1))/(120-x(2)))^2);

end

end 

matlab只能给出数值解,所谓数值解也就是指定有限点上的函数取值,一般没法用显式的函数表达式来描述.

将上述代码保存为solv.m,运行[t,x]=solv([0:0.01:1])便能得到[0:1]区间上函数取值.

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式