更有效地填充结构
Fill structure more efficient
结构 'settings' 如何比使用此代码更容易填充:
settings(1).exposure = 1;
settings(1).rebalancing = 0;
settings(2).exposure = 0;
settings(2).rebalancing = 0;
settings(3).exposure = 1;
settings(3).rebalancing = 1;
settings(4).exposure = 0;
settings(4).rebalancing = 1;
settings(5).exposure = 'benchmark';
settings(5).rebalancing = 0;
settings(6).exposure = 'benchmark';
settings(6).rebalancing = 1;
您可以使用 [1 2 3 4 5 6]
创建数组/矩阵
然后在 for 循环中,为每个数字询问一个输入
i=1:6;
for i:6;
settings(i).exposure=input(...);
settings(i).rebalancing=input(...);
end
我认为你应该能够做到这一点。 (自从我上次使用带有 MatLab 的计算机以来已经有一段时间了,所以我无法确认)
您可以使用struct
函数压缩它:
>> s = struct('exposure',{1,0,1,0,'benchmark','benchmark'},'rebalancing',{0,0,1,1,0,1});
>> s(6)
ans =
exposure: 'benchmark'
rebalancing: 1
只要所有数组的大小都符合要求,数组字面量可以替换为包含您的数据的任何变量。
结构 'settings' 如何比使用此代码更容易填充:
settings(1).exposure = 1;
settings(1).rebalancing = 0;
settings(2).exposure = 0;
settings(2).rebalancing = 0;
settings(3).exposure = 1;
settings(3).rebalancing = 1;
settings(4).exposure = 0;
settings(4).rebalancing = 1;
settings(5).exposure = 'benchmark';
settings(5).rebalancing = 0;
settings(6).exposure = 'benchmark';
settings(6).rebalancing = 1;
您可以使用 [1 2 3 4 5 6]
创建数组/矩阵然后在 for 循环中,为每个数字询问一个输入
i=1:6;
for i:6;
settings(i).exposure=input(...);
settings(i).rebalancing=input(...);
end
我认为你应该能够做到这一点。 (自从我上次使用带有 MatLab 的计算机以来已经有一段时间了,所以我无法确认)
您可以使用struct
函数压缩它:
>> s = struct('exposure',{1,0,1,0,'benchmark','benchmark'},'rebalancing',{0,0,1,1,0,1});
>> s(6)
ans =
exposure: 'benchmark'
rebalancing: 1
只要所有数组的大小都符合要求,数组字面量可以替换为包含您的数据的任何变量。