含未知数的矩阵行列式为0 如何求解未知数?

代码如下
clear
L=50;
H=1;
b=0.5;
E=210E6;
rou=7860;
delta=0;
I=b*H^3/12;
A=b*H;
h=0;
s=25;
C=2*H/E/I*(delta/(1-delta)^2)*(5.93-19.69*delta+37.14*delta^2-35.84*delta^3+13.12*delta^4);
syms w
a=(w^2*rou*A/E/I)^(1/4);
K=[0 1 0 1 0 0 0 0;
0 -1 0 -1 0 0 0 0;
0 0 0 0 sin(a*L) cos(a*L) h*sin(a*L) h*cos(a*L);
0 0 0 0 -sin(a*L) -cos(a*L) -h*sin(a*L) -h*cos(a*L);
sin(a*s) cos(a*s) h*sin(a*s) h*cos(a*s) -sin(a*s) -cos(a*s) -h*sin(a*s) -h*cos(a*s);
cos(a*s) -sin(a*s) h*cos(a*s) h*sin(a*s) -cos(a*s)+C*E*I*a*sin(a*s) sin(a*s)+C*E*I*a*cos(a*s) -h*cos(a*s)+C*E*I*a*h*sin(a*s) h*sin(a*s)+C*E*I*a*h*cos(a*s);
-sin(a*s) -cos(a*s) -h*sin(a*s) -h*cos(a*s) sin(a*s) cos(a*s) h*sin(a*s) h*cos(a*s);
-cos(a*s) sin(a*s) -h*cos(a*s) h*sin(a*s) cos(a*s) -sin(a*s) h*cos(a*s) -h*sin(a*s)];
vpa(solve(det(K)==0))
发生错误
错误使用 sym/solve (line 266)
Specify the variable to solve for.
出错 ceshi (line 45)
vpa(solve(det(K)==0))

 Accepted Answer

0 votes

clear
L=50;
H=1;
b=0.5;
E=210E6;
rou=7860;
delta=0;
I=b*H^3/12;
A=b*H;
h=0;
s=25;
C=2*H/E/I*(delta/(1-delta)^2)*(5.93-19.69*delta+37.14*delta^2-35.84*delta^3+13.12*delta^4);
syms w
a=(w^2*rou*A/E/I)^(1/4);
K=[0 1 0 1 0 0 0 0;
0 -1 0 -1 0 0 0 0;
0 0 0 0 sin(a*L) cos(a*L) h*sin(a*L) h*cos(a*L);
0 0 0 0 -sin(a*L) -cos(a*L) -h*sin(a*L) -h*cos(a*L);
sin(a*s) cos(a*s) h*sin(a*s) h*cos(a*s) -sin(a*s) -cos(a*s) -h*sin(a*s) -h*cos(a*s);
cos(a*s) -sin(a*s) h*cos(a*s) h*sin(a*s) -cos(a*s)+C*E*I*a*sin(a*s) sin(a*s)+C*E*I*a*cos(a*s) -h*cos(a*s)+C*E*I*a*h*sin(a*s) h*sin(a*s)+C*E*I*a*h*cos(a*s);
-sin(a*s) -cos(a*s) -h*sin(a*s) -h*cos(a*s) sin(a*s) cos(a*s) h*sin(a*s) h*cos(a*s);
-cos(a*s) sin(a*s) -h*cos(a*s) h*sin(a*s) cos(a*s) -sin(a*s) h*cos(a*s) -h*sin(a*s)];
vpa(solve(det(K)==0,w))

More Answers (0)

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!