我将以下数组k定义为坐标的结构数组,即k = {{x1,y1},{x2,y2}}。 如果我想在这个结构数组中再添加一个坐标,我会使用哪种符号?伪代码为k = k + {x3,y3},结果为{{x1,y1},{x2,y2},{x3,y3}}。作为一个Python编码器,我在使用Matlab的语法时遇到了麻烦。
由于
答案 0 :(得分:0)
假设您的结构已包含x
和y
坐标,并且您有一个包含其他坐标的主结构,在您的情况下为k
。这是一个包含两个点的示例结构,其中每个结构都有两个字段:x
和y
:
k(1).x = 10;
k(1).y = 20;
k(2).x = 20;
k(2).y = 30;
如果您有其他观点:
pt.x = 40;
pt.y = 50;
...将这一点连接到您的结构k
上,它只是:
k = [k pt];
这是将结构连接到更大结构列表的最常用方法。
作为证明,让我们看看连接前后的x
和y
坐标:
>> xvals = [k.x]
xvals =
10 20
>> yvals = [k.y]
yvals =
20 30
>> pt.x = 40;
>> pt.y = 50;
>> k = [k pt];
>> xvals = [k.x]
xvals =
10 20 40
>> yvals = [k.y]
yvals =
20 30 50
答案 1 :(得分:0)
使用您的表示法,您创建了一个包含单元格的单元格数组。这与matlab中的结构不同。如果你想坚持使用单元格数组,可以添加第三个
k(end+1) = {x3,y3}
对于matlab中的结构@rayryeng刚回答。