MATLAB 求解方程

条件为:t=0时,q0=0,Dq0=0,a=200-2000。求解q0关于t和a的三维图,然后求解q1-9q0关于时间t和a的三维图,以及a为定值时(a=1500)的q1... 条件为:t=0时,q0=0,Dq0=0,a=200-2000。
求解q0关于t和a的三维图,然后求解q1-9q0关于时间t和a的三维图,以及a为定值时(a=1500)的q1-9q0的曲线图。
展开
 我来答
tianxiawulang
推荐于2016-06-12 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2601万
展开全部

以前回答过几个相关的问题,大多数代码的形式都是用过的,不多作解释了。

需要说明一下的是,最后一项的导数需要首先展开成 2*(q1-9*q0)*(dq1-9*dq0)。


参考代码:

syms t
q1=0.005873-0.0002634*cos(42.41*t)-0.0003364*cos(84.82*t);
dq1=eval(['@ (t)' char(diff(q1))]);
q1=eval(['@ (t)' char(q1)]);
T=linspace(0,0.5,1000);
N = 5;
A=linspace(200,2000,N);
X=zeros(1000,N);
for k=1:N
    a=A(k);
    dx=@ (t,x) [x(2); ...
        1444408.2*2*(q1(t)-9*x(1))*(dq1(t)-9*x(2))-535.81*a*x(1)-0.5*x(2)];
    [t,x]=ode45(dx,T,[0 0]);
    X(:,k)=x(:,1);
end

mesh(A,T,X)
xlabel a; ylabel t; zlabel q_0

上面的代码是画出q0随a及t变化的曲面(为节省计算时间,t的范围取0-0.5,a只取了5个值):

q1随时间变化的曲线可以直接画出:

plot(T,q1(t))

如果把q1和9*q0画在一起,可见二者变化幅度基本相当,但有一个较大的移位:

plot(T,q1(t),T,X*9)
xlabel t; ylabel 'q_1, 9*q_0'

如果把q1的常数项减去:

plot(T,q1(t)-0.005873,T,X*9)
xlabel t; ylabel 'q_1-0.005873, 9*q_0'

按照题主要求的q1-9*q0画曲面:

mesh(A,T,repmat(q1(T(:)),1,N)-9*X)
xlabel a; ylabel t; zlabel q_1-q_0

至于说a为定值时(a=1500)的曲线,给a赋值,然后很容易做,不赘述了。

Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式