MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] 为什么plot画出来的和算出来的不一样 (https://www.labfans.com/bbs/showthread.php?t=8006)

toxinlord 2009-04-30 11:38

为什么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,
其它的点也对不上,请问这是为什么呢?

toxinlord 2009-04-30 11:50

回复: 为什么plot画出来的和算出来的不一样
 
救命啊~~~事实证明画出的图是错的

laosam280 2009-04-30 12:19

回复: 为什么plot画出来的和算出来的不一样
 
asin和acos是周期函数的原因吧

toxinlord 2009-04-30 14:38

回复: 为什么plot画出来的和算出来的不一样
 
[QUOTE=laosam280;26944]asin和acos是周期函数的原因吧[/QUOTE]

asin和acos怎么是周期函数呢?

yfl 2009-04-30 17:27

回复: 为什么plot画出来的和算出来的不一样
 
不可能啊,我刚照着做了一遍,画图结果与计算结果是一致的啊。

toxinlord 2009-05-01 14:55

回复: 为什么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.