matlab画图问题,画出v,w

问题描述:

matlab画图问题,画出v,w
你好,那个z的方程定义见插图;谢谢了~
其中:
v=-k1*tanh(z(2));
w=-k2*tanh(z(3))+k3*tanh(z(1))*sin(t);

1个回答 分类:综合 2014-11-16

问题解答:

我来补答
我们可以通过z来还原w和v的
取足够小的dt,w(n)~[z3(n+1)-z3(n)]/dt
v~[z2(n+1)-z2(n)]/dt+w(n)*z1(n)
code如下:
clc
clear all
close all
t=linspace(0,90,1001);
[t,z] = ode45(@fkinemic,t,[1,1,1]);
z1=reshape(z(:,1),1,1001);
z2=reshape(z(:,2),1,1001);
z3=reshape(z(:,3),1,1001);
dt=90/1000;
w=zeros(1,1000);
v=w;
w=[z3(2:1001)-z3(1:1000)]/dt;
v=[z2(2:1001)-z2(1:1000)]/dt+w.*z1(1:1000);
plot(t(1:1000),w,t(1:1000),v)
legend('w','v')
xlabel('Time')
 
 
展开全文阅读
剩余:2000