toxinlord 发表于 2009-4-30 15:22

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

检验后发现图是错的

friendchj 发表于 2009-4-30 17:10

原帖由 toxinlord 于 2009-4-30 15:22 发表 http://www.chinavib.com/forum/images/common/back.gif
函数如下:
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 ...
把红色部分改成
b=asin(l1*sin(f1)./(le+eps));

toxinlord 发表于 2009-5-1 14:58

楼上正解,感激
页: [1]
查看完整版本: 为什么plot画出来的和算出来的不一样