If else calculation problem in table
1 次查看(过去 30 天)
显示 更早的评论
Hi! I have a problem in using if else for tables in matlab. It does not result in error, but it does not show the real result, here is my code :
for x=1:size(finalCSVnew{:,2},2)
if finalCSVnew{:,2}(x) > 0;
finalCSVnew{:,13}(x)=finalCSVnew{:,7}(x);
else
finalCSVnew{:,13}(x)=0;
end
end
and I attach my source data here in the picture. If in column 2 the value is > 0, the value in Var13 should be the same as in column 7. However it remains 0. Please help me to find whats wrong with my code. Actually I am also not sure about how to define x, because I see the example in another case. Maybe I also got wrong from that. Thank you very much for your help.
0 个评论
采纳的回答
Peter Perkins
2017-10-22
编辑:Peter Perkins
2017-10-22
This is almost certainly better done without a loop, but it's hard to tell what you are doing. Something like
i = finalCSVnew.Var2 > 0;
finalCSVnew.Var13(i) = finalCSVnew.Var7(i);
finalCSVnew.Var13(~i) = 0;
In any case, your bug would seem to be that you are looping over columns of a column vector.
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!