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%
帮助的人:2574万
展开全部

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

需要说明一下的是,最后一项的导数需要首先展开成 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赋值,然后很容易做,不赘述了。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式