![]() |
为什么plot画出来的和算出来的不一样
函数如下:
function h=hvalue2(f1,l1,l2,l3) le=sqrt(l1.*l1+1-2*l1.*cos(f1)); r=acos((le.*le+l3.*l3-l2.*l2)/2./(le+eps)./l3); b=asin(l1*sin(f1)/(le+eps)); f3=pi-r-b; h=abs((l3*sin(f3)+l1.*l3*sin(f1-f3))./(l1*sin(f1)+l1.*l3*sin(f1-f3)+1*eps)) 用plot(f,hvalue2(f,0.3,0.8,1))作图发现当f=1.1时,函数值有40+, 但输入命令hvalue2(1.1,0.3,0.8,1)后函数值只有18.9748, 其它的点也对不上,请问这是为什么呢? |
回复: 为什么plot画出来的和算出来的不一样
救命啊~~~事实证明画出的图是错的
|
回复: 为什么plot画出来的和算出来的不一样
asin和acos是周期函数的原因吧
|
回复: 为什么plot画出来的和算出来的不一样
[QUOTE=laosam280;26944]asin和acos是周期函数的原因吧[/QUOTE]
asin和acos怎么是周期函数呢? |
回复: 为什么plot画出来的和算出来的不一样
不可能啊,我刚照着做了一遍,画图结果与计算结果是一致的啊。
|
回复: 为什么plot画出来的和算出来的不一样
[QUOTE=yfl;26970]不可能啊,我刚照着做了一遍,画图结果与计算结果是一致的啊。[/QUOTE]
谢谢您,我刚才看了,中间这句"b=asin(l1*sin(f1)/(le+eps));",我漏加"."了,应该是"b=asin(l1*sin(f1)./(le+eps));"这样就没错了. 初学matlab,还不太习惯点除,见笑了呵呵 |
所有时间均为北京时间。现在的时间是 05:39。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.