alljoyland 发表于 2008-8-6 19:51

matlab符号计算求解两自由度振子传递函数.doc

syms m1
m2
c
k1
k2
Y
w
F
den
numM =[ m1 0; 0 m2]C =[ c -c ; -c c]K = [ k1,-k1;-k1,k1+k2]U0 = -w^2*M + i*w*C +K%拉普拉斯变换
然后把s 换为jwU = inv(U0)*FU = inv(U0)*FdetU=det(U)numden(det(U))=numden(det(U))% den = -dencollect(den,w)U1 = U/Fdet(U1)temp_num1=%Cramer 法则,解代数方程一样num1= %det(num1)/det(U1)det(num1)/det(U0)%缺少一个比例常数num1=det(num1)/det(U0)%这个才是对的了%因为U1已经求过逆了
% because the U1 has been the inverse of the 2dof% so you can you use the F =U1*F%另一种方法
就是矩阵的
求逆和乘法而已, 可以这样子求解啦
% the inv(U1)*F is just the numerator not the denominator %其中非常值得注意的是,我们的这种谐波激励求解方法也默认结果是谐波%的,所以其中
最后的解


虚部的 ,因为假定激励是sin 不是cos的%否则应该取实部
页: [1]
查看完整版本: matlab符号计算求解两自由度振子传递函数.doc