作业帮 > 综合 > 作业

matlab里表示函数同一个函数,怎么结果不同?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 19:09:00
matlab里表示函数同一个函数,怎么结果不同?
s1=cos(4e11*pi*(t1.^2)+1600*pi*t1);s2=cos((4e11*t1+1600).*t1*pi); s3=sin((4e11*t1+1600)*pi.*t1);
上面这三个表达式,表示的不是同一个函数吗?为什么结果却不同?
c1=0;c2=0;c3=0;
>> for i=1:1000
if(s1(i)~=s2(i))
c1=c1+1;
end
if(s1(i)~=s3(i))
c2=c2+1;
end
if(s2(i)~=s3(i))
c3=c3+1;
end
end
结果:c1=413; c2=1000 ; c3=1000;
请问为什么会这样?
浮点数貌似不能用~=吧,只能设一个小值,只要两者之差的绝对值小于这个小值就认为两者相等.
再问: 我把s1 s2 s3都乘以1000,然后取整,再次比较 结果:c1=0;c2=1000;c3=1000; 请问 为什么s1与s2相等,却与s3不相等? 哪个是正确的写法? 对了我 t1 的范围选的是 t1=(-0.000005):1/100e6:(0.000005-1/100e6); 会不会有影响?
再答: 才发现最后那个是sin~~~