如何在Matlab中创建重复数组

时间:2015-09-26 20:17:36

标签: matlab

我正在尝试在Matlab中创建已创建和填充的数组的精确副本。我知道我可以使用循环来复制所有字段,但是不是更方便吗?

创建的数组是一个结构数组。到目前为止我的代码如下。

提前感谢您的帮助。

a = 1;
window = eye_record.x_pos_measured_deg; %zeros(length(eye_record));
disT = .50;

for i=1:length(eye_record)
    %window(i) = eye_record(i).x_pos_measured_deg;
    dis = (max(window(a:i)) - min(window(a:i)));
    if (dis <= disT)
        eye_record(i).xy_movement_EMD = 1;
        fixation_counter = fixation_counter + 1;
    else
        eye_record(i).xy_movement_EMD = 2;
        a = i;
        saccade_counter = saccade_counter + 1;
    end
end

1 个答案:

答案 0 :(得分:2)

如果A是您已经创建的数组,则可以通过将其分配给新变量来创建精确副本

>> B = A;

例如

>> A(1) = struct('Name', 'A');
>> A(2) = struct('Name', 'B');
>> B = A
B = 

1x2 struct array with fields:

    Name
>> B(1).Name
ans =

A
>> B(2).Name
ans =

B