查看: 215|回复: 2|关注: 0

[已答复] 求教大神 matlab的find与数据的赋值问题

[复制链接]

新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
发表于 2019-10-29 23:16:41 | 显示全部楼层 |阅读模式
a=[1 2 3 4 8 9 6 15 6 3];
b=[0.2 0.4 0.6 0.8 0.9 1.0 1.2 1.4 1.6 1.8];
la=0.2;

for i=1:10
    temp=[];
    % testindex=find(b==la);
   
    temp=a(find(b==la));
   
    result(i,1)=max(temp);
   
    result(i,2)=la;
   
    la=la+0.2;
   
end


在循环第三遍时会报错


IF%T7F2TREG`WE6CUD7C3L2.png
Y8{_4PW%}S@4}SZISP$K2XE.png

MATLAB 基础讨论
版块优秀回答者

入门

124 麦片

财富积分


50500


0

主题

110

帖子

26

最佳答案
  • 关注者: 2
发表于 2019-10-29 23:41:51 | 显示全部楼层
浮点数计算误差
la=la+0.2;
改成
la=round(la+0.2,2);

虽然改了还是会在i=10的时候报错,需要视需求在赋值前加isempty函数判定。

新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 2019-10-30 09:24:00 | 显示全部楼层
alvinlau 发表于 2019-10-29 23:41
浮点数计算误差
la=la+0.2;
改成

十分感谢 已经通过该方法解决问题了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表