我在遍历几个if
语句超过8次时遇到了一些问题。该代码似乎在前几次比较中工作正常,执行算术运算并返回/保存输出行'export_data'
。但是,在此之后,它仅返回else
条件和响应。被评估的变量每个都有1500行。我已经添加了下面的代码和两张显示输出的照片。任何洞察力将非常感激。Matlab不解决if语句
function [export_data] = WS_Zones(Forecast_WS, Observed_WS)
if (Forecast_WS > Observed_WS)
WS_Zone_1 = Observed_WS.*1.24;
WS_Zone_2 = Observed_WS.*1.28;
elseif (Forecast_WS < Observed_WS)
WS_Zone_1 = Observed_WS.*0.76;
WS_Zone_2 = Observed_WS.*0.72;
else
WS_Zone_1 = Observed_WS;
WS_Zone_2 = Observed_WS;
end
export_data=[Forecast_WS Observed_WS WS_Zone_1 WS_Zone_2];
filename = 'testdata.xlsx';
sheet = 1;
xlRange = 'A1';
xlswrite(filename,export_data,sheet,xlRange)
end
Matlab软件行为罚款。我建议你阅读[if](http://www.mathworks.com/help/matlab/ref/if.html?requestedDomain=www.mathworks.com)文档,特别是“比较阵列”和“测试阵列为平等“。 –
如果'Forecast_WS'和'Observed_WS'不是标量,'如果Forecast_WS> Observed_WS'只取决于每个元素中第一个元素的比较。 – horchler