Я пытаюсь классифицировать годы, основанные на некоторых условиях. Если в течение какого-либо года количество осадков меньше определенного количества, оно будет указывать как сухой год. Я пробовал следующее, но это дает мне ошибку «В задании A (I) = B количество элементов в B и I должно быть одинаковым».Как написать строку вместо номера в MATLAB?
Код
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
Любая помощь будет оценена.
С наилучшими пожеланиями
Thank you rayryeng; он работал, но он дал мне ответ как ячейку. Но я хотел бы получить результаты как массив (double). Когда я попытался преобразовать ячейку в double (Year_Category_M = str2double (Year_Category);), она отображает все значения как NaN. – shawpnik
Это невозможно. Вы пытаетесь присвоить символы массиву 'double'. Вот почему я предложил ячейку вместо этого. Это может работать, если вместо «Сухих», «Влажных» и «Средних» вместо фактических чисел ... например, 0, 1 или 2. Вы не можете сделать это с помощью символов. – rayryeng