用matlab画一个函数,能帮我看看程序哪里有问题吗得不出图里的图形,我的程序是这样的: Ts=7.2; Hs=2.91; w=[0:pi/1023:pi/2]; S=400.5*((Hs./(Ts.^2)).^2)*(exp(1605.*((1./(Ts.*w)).^4)))./(w.^5); plot(w,S);这样画出
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 11:22:08
用matlab画一个函数,能帮我看看程序哪里有问题吗得不出图里的图形,我的程序是这样的: Ts=7.2; Hs=2.91; w=[0:pi/1023:pi/2]; S=400.5*((Hs./(Ts.^2)).^2)*(exp(1605.*((1./(Ts.*w)).^4)))./(w.^5); plot(w,S);这样画出
用matlab画一个函数,能帮我看看程序哪里有问题吗
得不出图里的图形,我的程序是这样的:
Ts=7.2;
Hs=2.91;
w=[0:pi/1023:pi/2];
S=400.5*((Hs./(Ts.^2)).^2)*(exp(1605.*((1./(Ts.*w)).^4)))./(w.^5);
plot(w,S);
这样画出来是一个单峰的图形,不知道是哪里出问题了呢
另外请教下这里可以用S=subs(x,y)函数来描述函数吗?
补充下不是多条曲线的问题.
用matlab画一个函数,能帮我看看程序哪里有问题吗得不出图里的图形,我的程序是这样的: Ts=7.2; Hs=2.91; w=[0:pi/1023:pi/2]; S=400.5*((Hs./(Ts.^2)).^2)*(exp(1605.*((1./(Ts.*w)).^4)))./(w.^5); plot(w,S);这样画出
你的函数表达式肯定有问题,因为很明显,对于w>0,S是单调减的函数,不可能出现峰值.
在你画出的图中,接近0.2的位置看上去好像是有峰值,其实那是因为,对于左边的w,求出的S已超出双精度浮点数的表示范围,结果为Inf,在图中没有表现出来而已.
我认为,你的表达式中,极可能是系数1605应该有负号.加上负号画出的图和上面的图比较接近,因为试起来很简单,我就不贴图了,你自行验证就可以了.
你原来的公式写法滥用括号和点运算,却吝啬空格,看起来太乱,简单帮你改写一下(不影响功能):
S = 400.5 * (Hs/(Ts^2))^2 * exp(-1605*(1./(Ts*w)).^4) ./ w.^5;