0

所以这是我的脚本

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);

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

4

1 回答 1

1

你可以用类似的东西替换你的循环

total = sum(power(power>=0))/24

就我个人而言,我认为使用 Matlab 内在函数的名称(例如sum,作为变量名)只是自找麻烦,尽管我不确定它是否会在您的情况下引起问题。这就是为什么我的陈述的 lhs 是变量total

于 2013-01-31T16:43:49.210 回答