怎么来对已经求出来的速度曲线进行求导
我现在通过状态空间法,求解出来一个结构的速度和位移曲线,现在想通过对速度求导的方式来得到加速度,请各位好手指点,具体的表达式是怎么样的,这是个动力系统,我希望能通过求导来画出加速度的曲线

中心差分法:matlab求导
0.5*(diff(y(1:end-1)+diff(2:end))/dt
这样比原始数据的头尾少两个点,可以自己补一下
以试试根据数据用polyfit求出多项式拟合,然后再diff得到加速度表达式,再作图
本帖最近评分记录
lxq +18 2007-6-22 11:28 理由:启发引导性回答
我用matlab求导后,用plot做曲线做不出来,总提示错误,不知道为什么,谁知道怎么出图啊?具体步骤说一下
你直接对y数据求导得到的数据长度比原来少了一个
plot肯定报错,xy尺度不符
对符号函数求导之后得到符号函数
要么ezplot,要么代入数据再画图
matlab的求导命令与求导法
技术专区   2009-03-10 16:19   阅读543   评论1  
字号:    
1.matlab命令.
建立符号变量命令symsyms调用格式:
x=sym('x') 建立符号变量x
syms x y z 建立多个符号变量xyz
matlab求导命令diff调用格式:
diff(函数) 的一阶导数
diff(函数 n) n阶导数(n是具体整数)
diff(函数,变量名) 的偏导数
diff(函数 变量名n) ,求n阶偏导数
matlab求雅可比矩阵命令jacobian,调用格式:
jacobian([函数;函数 函数] [])给出矩阵:
2.导数概念.
导数是函数的变化率,几何意义是曲线在一点处的切线斜率.
(1)点导数是一个极限值.
1.,用定义计算.
:在某一点的导数定义为极限:
我们记,输入命令:
syms hlimit((exp(0+h)-exp(0))/hh0)
得结果:ans=1.可知
(2)导数的几何意义是曲线的切线斜率.
2.画出()的切线及若干条割线,观察割线的变化趋势.
:在曲线上另取一点,则的方程是:
.
,分别作出几条割线.
h=[3210.10.01]a=(exp(h)-1)./hx=-1:0.1:3
plot(xexp(x)’r’)hold on
for i=1:5
plot(h(i)exp(h(i))’r.’)
plot(xa(i)*x+1)
end
axis square
作出处的切线
  plot(xx+1’r’)
从图上看,随着越来越接近,割线越来越接近曲线的割线.
3.求一元函数的导数.
(1)的一阶导数.
3.的导数.
:打开matlab指令窗,输入指令:
dy_dx=diff(sin(x)/x).
得结果:
dy_dx=cos(x)/x-sin(x)/x^2.
matlab的函数名允许使用字母、空格、下划线及数字,不允许使用其他字符,在这里我们用dy_dx表示
4.的导数.
: 输入命令:
dy_dx=diff(log(sin(x))).
得结果:
dy_dx=cos(x)/sin(x).
matlab中,函数log(x)表示,而log10(x)表示
5.的导数.
: 输入命令:dy_dx=diff((x^2+2*x)^20).
得结果:
dy_dx=20*(x^2+2*x)^19*(2*x+2).
注意输入时应为2*x.
6.的导数.
: 输入命令:
dy_dx=diff(x^x).
得结果:
dy_dx =x^x*(log(x)+1).
利用matlab 命令diff一次可以求出若干个函数的导数.
7.求下列函数的导数:
1.
2.
3.
4.
: 输入命令:
a=diff([sqrt(x^2- 2*x+5)cos(x^2)+2*cos(2*x)4^(sin(x))
log(log(x))]).
得结果:
a=
[1/2/(x^2-2*x+5)^(1/2)*(2*x-2)-2*sin(x^2)*x-4*sin(2*x)
4^sin(x)*cos(x)*log(4) 1/x/log(x)].
dy1_dx=a(1)
dy1_dx=1/2/(x^2-2*x+5)^(1/2)*(2*x-2).
dy2_dx=a(2)
dy2_dx=-2*sin(x^2)*x-4*sin(2*x).
dy3_dx=a(3)
dy3_dx=4^sin(x)*cos(x)*log(4).
dy4_dx=a(4)
dy4_dx=1/x/log(x).
由本例可以看出,matlab函数是对矩阵或向量进行操作的,a(i)表示向量a的第i个分量. (2)参数方程所确定的函数的导数.
设参数方程确定函数,则的导数
8.,求
: 输入命令:
dx_dt=diff(a*(t-sin(t)))dy_dt=diff(a*(1-cos(t)))
dy_dx=dy_dt/dx_dt.
得结果:
dy_dx=sin(t)/(1-cos(t)).
其中分号的作用是不显示结果.
4.求多元函数的偏导数.
9. u的一阶偏导数.
: 输入命令:
diff((x^2+y^2+z^2)^(1/2) x).
得结果:
ans=1/(x^2+y^2+z^2)^(1/2)*x.
在命令中将末尾的x换成y将给出y的偏导数:
ans=1/(x^2+y^2+z^2)^(1/2)*y.
也可以输入命令:
jacobian((x^2+y^2+z^2)^(1/2)[x y]).
得结果:
ans=[1/(x^2+y^2+z^2)^(1/2)*x 1/(x^2+y^2+z^2)^(1/2)*y]