Я пытаюсь выполнить очень основное задание в Matlab для создания массива структур.
Вот основной код для присвоения егоMATLAB: Подзаголовок между разнородными структурами
for i=1:n
P(i) = MakePoint(x(i), y(i), z(i));
end
Если функция MakePoint
является
function P = MakePoint(x,y,z)
% P is a point with x-coordinate P.x and y-coordinate P.y.
P = struct('x',x,'y',y,'z',z)
end
Другими словами, я пытаюсь сделать P
и массив «точек» создает с MakePoint
. Я получаю ошибку
назначение индексируются между разнородными структурами
Как это исправить? Спасибо!
Вы не можете поместить 'struct' внутри массива. Вы можете сделать 'P' массив ячеек:' P {i} = MakePoint (x (i), y (i), z (i)) '. – David
@ Давид, это неверно. вы можете иметь массив структур. единственным ограничением является то, что все элементы массива структуры имеют одинаковые имена полей в одном и том же порядке. – Shai
Каково значение 'P' перед циклом? – Shai