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

学习 时间:2026-04-04 18:54:57 阅读:1925
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:1000if(s1(i)~=s2(i))c1=c1+1;endif(s1(i)~=s3(i))c2=c2+1;endif(s2(i)~=s3(i))c3=c3+1;endend结果:c1=413; c2=1000 ; c3=1000;请问为什么会这样?

最佳回答

知性的鞋子

忧心的乌龟

2026-04-04 18:54:57

浮点数貌似不能用~=吧,只能设一个小值,只要两者之差的绝对值小于这个小值就认为两者相等。 再问: 我把s1 s2 s3都乘以1000,然后取整,再次比较 结果:c1=0;c2=1000;c3=1000; 请问 为什么s1与s2相等,却与s3不相等? 哪个是正确的写法? 对了我 t1 的范围选的是 t1=(-0。000005):1/100e6:(0。000005-1/100e6); 会不会有影响? 再答: 才发现最后那个是sin~~~

最新回答共有2条回答

  • 火星上的画板
    回复
    2026-04-04 18:54:57

    浮点数貌似不能用~=吧,只能设一个小值,只要两者之差的绝对值小于这个小值就认为两者相等。 再问: 我把s1 s2 s3都乘以1000,然后取整,再次比较 结果:c1=0;c2=1000;c3=1000; 请问 为什么s1与s2相等,却与s3不相等? 哪个是正确的写法? 对了我 t1 的范围选的是 t1=(-0。000005):1/100e6:(0。000005-1/100e6); 会不会有影响? 再答: 才发现最后那个是sin~~~

上一篇 谁能帮我把这句话弄成繁体的啊 (我会发着呆,然后微微笑,接着静静闭上眼,最后忘记你)

下一篇 求x的值 1.0.9:x=1.5:3.6 2.x分之10=0.8分之16 3.(x-1):四分之一=4:三分之四