如何在MATLAB中编写一个替换数字的字符串?

时间:2015-11-02 06:22:43

标签: matlab

我试图根据某些条件对年份进行分类。如果任何一年的降雨量低于特定数量,则表示干旱年份。我尝试了以下内容,但它给了我错误"在作业A(I)= B中,B和I中的元素数必须相同。"

代码是

Year_Category = zeros(ny,1);
for i = 1:ny;
    if (xy(i)< Lower_Limit)
        Year_Category(i) = 'Dry';
    elseif (xy(i)> Upper_Limit)
        Year_Category(i) = 'Wet';
    else
        Year_Category(i) = 'Average';
    end
end

任何帮助都将不胜感激。

祝你好运

1 个答案:

答案 0 :(得分:2)

您正在尝试将字符分配给数字数组。这就是为什么你得到尺寸不匹配的原因。每个字符都是一个插槽,在这种情况下你不能这样做。改为使用单元格数组:

Year_Category = cell(ny,1); %// Change
for i = 1:ny;
    if (xy(i)< Lower_Limit)
        Year_Category{i} = 'Dry'; %// Change
    elseif (xy(i)> Upper_Limit)
        Year_Category{i} = 'Wet'; %// Change
    else
        Year_Category{i} = 'Average'; %// Change
    end
end