EDA365电子论坛网

标题: 为什么if 语句无法运行,求助求助 [打印本页]

作者: I_believe    时间: 2023-1-31 15:54
标题: 为什么if 语句无法运行,求助求助
R=500
3 O. u! t" O" G& I+ B: O+ tRtype = class(R)4 |) V* N: N* E5 e$ G9 H6 v7 T$ G
f=250.0
* w" c: T8 x. S0 m9 {% H+ dd=250.01 |2 g- ?% ]2 D4 w# C0 E
k=0) L1 [. K4 m6 t1 p) }: M
theta=acos(1-d/(2*f))*180/pi
) G" X# f1 K' C0 S5 g* n3 P7 G& c; {) B
for i=1:107 t( y; K* ~, o: {) Y( \
    N =2.0*(2.0*i+1.0);2 S3 l7 m, r" Z9 s5 T0 J7 U. o

$ ~7 W1 J4 B& `  G    m=2.0*i*180.0;
* j& ]& E8 F: E* y: }/ [0 N    y=N*theta;& N8 n# P$ ], |
if y==m' `2 k/ Z, H% K# E, X: M
      disp(N)) G$ F8 s" s. |
end; q3 l8 R# o# k( r4 k* C
end0 n" ~, ?% s) K$ E+ O' _' ^( l

作者: unfaithful2021    时间: 2023-1-31 17:09
想避免存储精度误差一般要改用符号运算,或者把相等的判断条件改成 abs(X - x0) < epsilon
作者: elephant_    时间: 2023-1-31 17:14
因为y不等于m呀,逻辑值判断为假呀,当然不运行disp(N)了。
4 p+ H+ A+ E, z& O  v' N' @9 n你把y==m,改成y~=m
作者: I_believe    时间: 2023-1-31 17:18
elephant_ 发表于 2023-1-31 17:14
  B0 k! Q1 ]/ F; }3 L5 Y" H因为y不等于m呀,逻辑值判断为假呀,当然不运行disp(N)了。
- P* s$ O% J4 q: K+ d3 e7 n你把y==m,改成y~=m

' Z) |% D4 J" G) n6 C: a, W谢谢,我发现theta的数为什么不刚好是60.000,感觉好迷惑
- b1 W: [4 k# t




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2