Я хочу определить вектор y=[sin(1),sin(1/2),...,sin(1/1000)]
.
но я не знаю, как это сделать. я определил
for i=1:1000
y(i)=sin(1/i);
end
но это не работает.
@HansHirse Я имею в виду, что когда я делаю приведенный выше код, я вижу 1000 векторов, но мне нужен только последний вектор.
Просто определите y
следующим образом (и инициализируйте, чтобы получить лучшую производительность):
y = zeros(1, 1000);
for i = 1:1000
y(i) = sin(1/i);
end
Также вы можете сделать это без for
:
y = sin(1./(1:1000));
Обратите внимание, что вектор в этом ответе инициализируется с самого начала, а не по мере прохождения цикла. Это очень важно для Matlab и помогает повысить производительность.
Не могли бы вы добавить сообщение об ошибке? Потому что, как правило, этот фрагмент кода должен работать, хотя он не очень эффективен, как указано в ответе ниже.