注册 登录
编程论坛 Matlab

请教关于acos的疑问(结果为什么不为0?)

Scofield 发布于 2006-11-14 09:37, 1143 次点击
m文件:
%提取数据
data=load('Data.txt');
A_array=data(:,(1:2));
Y_array=data(:,3);

a_array=inv((A_array)'*(A_array))*(A_array)'*Y_array %a_array=[2;-1]

a1=a_array(1,1) %a1=2 ,提取元素

ww=acos(a1/2) %问题是这里的ww=1.8038e-006,却不是等于0

请教一下ww为什么不等于0呢?谢谢各位大侠!
4 回复
#2
abingchem2006-11-14 11:36
能试传一点数据吗?
#3
Scofield2006-11-14 13:06

不是很明白你的意思~

数据到a_array时都是对的,也就是a_array=[2;-1]是对的,a1=a_array(1,1)也能得到a1=2,但是到了ww=acos(a1/2)这一句就出现了结果:
ww=1.8038e-006;但是如果语句是:ww=acos(2/2),结果就是ww=0了,很奇怪,不知道什么原因?

谢谢!

#4
abingchem2006-11-14 14:10
你这样看看a1:
vpa(a1,10)
#5
Scofield2006-11-14 15:48
谢谢!ok了!还是精度问题啊..
1