#matlab
#matlab
Вопрос:
У меня есть простой код, как показано ниже, и я пытаюсь вставить значения в массив ячеек.
a = cell(14,1);
for i = 1:14
a(i:1)=sin(i)
end
Однако ошибка выдавалась как:
Conversion to cell from double is not possible.
В чем проблема этого кода?
Комментарии:
1. попробуйте
a{i}=sin(i)
Ответ №1:
Либо разверните ячейку, либо оберните результат функции sin в ячейку.
a = cell(14,1);
b = cell(14,1);
for ii = 1:14
a{ii} = sin(ii);
b(ii) = {sin(ii)};
end
isequal(a,b)
ans =
logical
1
Ответ №2:
Ваш синтаксис неверен. a(i:1)
не может работать внутри цикла над i. Простое использование a(i)
даст вам желаемый результат.