matlab中用for 循环+条件语句求值:

发布网友 发布时间:2022-04-24 06:05

我来回答

1个回答

热心网友 时间:2023-10-06 04:29

你的条件语句中
49.82418*cos(a.*pi./180.)+2768.01.*sin(a.*pi./180.)==650
这个的逻辑值应该永远是假,那么程序肯定相当于

for a=0:.001:15;
if(0);disp(a);
end;
end;

那最后的结果肯定是a=15

那么为什么你的条件的逻辑值是假,显然是计算的截断误差了,所以你应该设置一个阈值theta
49.82418*cos(a.*pi./180.)+2768.01.*sin(a.*pi./180.)==650
这个条件改为:
(49.82418*cos(a.*pi./180.)+2768.01.*sin(a.*pi./180.)>650-theta)&(49.82418*cos(a.*pi./180.)+2768.01.*sin(a.*pi./180.)<650+theta)
那么就能找到你要找的那个点了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com