在for循环中嵌套if语句

时间:2013-01-31 16:17:12

标签: matlab loops for-loop

所以继承我的剧本

function printPower

sum=0;
filename=input('Enter a filename: ','s');
power=load(filename);
for i=1:length(power);
    if power(i)>=0;    
        sum=sum+power(i);
    end
    TP=sum/24;
 end
 fprintf('Total power: %.1f kWh.\n', TP);

文本文件im加载中有负值,我希望它只对正数加总,但它仍然是所有值的总和。

1 个答案:

答案 0 :(得分:1)

你可以用

之类的东西替换你的循环
total = sum(power(power>=0))/24

就我个人而言,我认为使用Matlab内在函数的名称(例如sum)作为变量名只是要求麻烦,虽然我不确定它是否会导致问题你的情况。这就是为什么我的陈述的lhs是变量total