如何在Matlab中使用其他部分结构创建结构?

时间:2018-11-10 14:09:30

标签: matlab struct structure

我在Matlab中有几种不同尺寸的结构。让我们假设它们是5,第一个是1x100,第二个1x250,第三个1x200,第四个1x100和第五个1x150。我想组装一个仅包含每个先前结构的最后一个元素的新结构,也就是说,我想获得1x5形式的结构。我该怎么办?

1 个答案:

答案 0 :(得分:1)

创建5个行向量,然后从最后一个元素中创建一个行向量,如下所示:

>> a=[1:100];
>> b=[1:250];
>> c=[1:200];
>> d=[1:100];
>> e=[1:150];
>> the_lasts = [a(end), b(end), c(end), d(end), e(end)]
sthe_last =

   100   250   200   100   150

>>

也可以使用名为

的文件将其推广为一个函数。

ends_of.m:<​​/ p>

function lasts = ends_of (varargin)
  % prepare a result row vector with nargin dimention
  lasts = zeros(1,nargin);
  for i = 1:nargin
    element = varargin(i); % get the arg
    last = element{}(end); % find the last element
    lasts(i) = last;       % save it as index i 
  endfor
endfunction

然后可以这样称呼它:

>> ends_of ([1,2,3],[4,5,6],[1:44], [3:33], [1,2,3,2,1])
ans =

    3    6   44   33    1

>>