求大神看看matlab 程序哪出错了m.文件function [kn,wn]=Hai_Biao_FZ_13_1(D,L,N)digits(5)g=9.8;%重力加速度i=1;kn=zeros(1,N+1);wn=zeros(1,N+1);syms w1for n=1:N+1kn(i)=2*pi*n/L;S=kn(i)*tanh(kn(i)*D)-w1^2/g;wn(i)=solve(S,w1);i=i+1;end运行

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 10:15:54
求大神看看matlab 程序哪出错了m.文件function [kn,wn]=Hai_Biao_FZ_13_1(D,L,N)digits(5)g=9.8;%重力加速度i=1;kn=zeros(1,N+1);wn=zeros(1,N+1);syms w1for n=1:N+1kn(i)=2*pi*n/L;S=kn(i)*tanh(kn(i)*D)-w1^2/g;wn(i)=solve(S,w1);i=i+1;end运行
x]oPǿ 7.-eɴtf1^,ٝƑ" PfWl!0^ A`2e!a$jX+)7iy^~OkNnnțq)O H/g(;՚%|֧iچ/Ҳ=bs$ɒ|4Yָu6,G,QoYd(_Gi!XHJQVЮ@<$ddV\&e/ׄ :i dU6(6ѪJU4Oy D`+p?J3OſPcVTnFBfBS8n) Q &껓U\6hB~ttw8Xs`O?y\ ڄ@>?a1CjR0rzayDw +ۡx#hsѴ iPmSr2Ĭn}ڟ?>X Y9T>pe{`f9,#2?mH rH~IW9ڻTV#g YitFar[xNng*:^Il"2G Gդi\2

求大神看看matlab 程序哪出错了m.文件function [kn,wn]=Hai_Biao_FZ_13_1(D,L,N)digits(5)g=9.8;%重力加速度i=1;kn=zeros(1,N+1);wn=zeros(1,N+1);syms w1for n=1:N+1kn(i)=2*pi*n/L;S=kn(i)*tanh(kn(i)*D)-w1^2/g;wn(i)=solve(S,w1);i=i+1;end运行
求大神看看matlab 程序哪出错了
m.文件
function [kn,wn]=Hai_Biao_FZ_13_1(D,L,N)
digits(5)
g=9.8;%重力加速度
i=1;kn=zeros(1,N+1);wn=zeros(1,N+1);
syms w1
for n=1:N+1
kn(i)=2*pi*n/L;
S=kn(i)*tanh(kn(i)*D)-w1^2/g;
wn(i)=solve(S,w1);
i=i+1;
end
运行 [kn,wn]=Hai_Biao_FZ_13_1(130,1500,10000)

求大神看看matlab 程序哪出错了m.文件function [kn,wn]=Hai_Biao_FZ_13_1(D,L,N)digits(5)g=9.8;%重力加速度i=1;kn=zeros(1,N+1);wn=zeros(1,N+1);syms w1for n=1:N+1kn(i)=2*pi*n/L;S=kn(i)*tanh(kn(i)*D)-w1^2/g;wn(i)=solve(S,w1);i=i+1;end运行

    wn(i)=solve(S,w1);

改成

    w = double(solve(S,w1));
    wn(i)=w(w>=0);

原因是,用solve求出来的是解析解,变量类型是sym对象,不能赋值给double类型的wn,应该使用double进行转换.但求出来的w1有两个值,所以需要去掉负数的那个值,这就是第二行代码的作用.