所以继承我的剧本
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加载中有负值,我希望它只对正数加总,但它仍然是所有值的总和。
答案 0 :(得分:1)
你可以用
之类的东西替换你的循环total = sum(power(power>=0))/24
就我个人而言,我认为使用Matlab内在函数的名称(例如sum
)作为变量名只是要求麻烦,虽然我不确定它是否会导致问题你的情况。这就是为什么我的陈述的lhs是变量total
。