【发布时间】:2014-12-03 02:19:18
【问题描述】:
我正在尝试在 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,这是不正确的。你可以有一个结构数组。唯一的限制是所有结构数组元素具有相同的字段名称以相同的顺序。
-
循环前
P的值是多少?