这个用matlab怎么写呢,成功解决两百红包。

这个用matlab怎么写呢,成功解决两百红包。
这个用matlab怎么写呢,成功解决两百红包。

img

如有用请采纳

clear all
clc

%把圆频率换成实际即可
W = 1:8;
L = zeros(1,length(W));

syms l w
for i=1:length(W)
    w = W(i);
    eq1 = 0==l-cos(l*((w^2-1)^0.25))*cosh(l*((w^2-1)^0.25));
    L(i) = vpasolve(eq1);
end
figure(1);
plot(W,L,'r');

%这里按实际取值
y = 1:7;
wj = 2;%假设一阶圆频率已知
ll = zeros(1,7);
syms wi yi1
for i=2:length(W)
    yi1=y(i-1);
    eq1 = yi1==wi/wj-i/1;
    ll(i-1) = solve(eq1);
end
figure(2);
plot(y,ll,'b');



%输入梁长l,一阶圆频率w1,需要获取的第i阶,得到对应的wi,以及yi1
[a,b]=getret(6,1,4)
function [wi,yi1]=getret(l,w1,i)
    syms l wi
    eq1 = 0==l-cos(l*((wi^2-1)^0.25))*cosh(l*((wi^2-1)^0.25));
    ret= vpasolve(eq1);
    wi = double(ret.wi);
    yi1 = wi/w1-i/1;
end