我有两个大小为<nx1>
的列向量。 config
向量仅包含数字721,722,723 and 724
,大小为length
的{{1}}向量仅包含数字。我需要构建矩阵Z,其大小为<nx1>
:
<3x3n>
这里的规则很难说,让我先试着举个例子:
note:matrices a,b,c and d are each <3x3> matrices.
length=[1 2 3],config=[721 722 723],a=eye(3),b=ones(3),c=magic(3);
即,如果config(i)为722且length(i)为2,则将2 * matrix_a附加到z矩阵,依此类推。
我做了以下事情:
z=[ 1 0 0 2 2 2 24 3 18
0 1 0 2 2 2 9 15 21
0 0 1 2 2 2 12 27 6]
但是没有更好的无循环矢量化方法吗?
答案 0 :(得分:1)
我不确定您是否还需要此信息,但我找到了解决方案:
a =
1 0 0
0 1 0
0 0 1
b =
1 1 1
1 1 1
1 1 1
c =
8 1 6
3 5 7
4 9 2
result =
3 3 3 4 4 4 40 5 30 48 6 36 7 0 0
3 3 3 4 4 4 15 25 35 18 30 42 0 7 0
3 3 3 4 4 4 20 45 10 24 54 12 0 0 7
我的数据结果:
{{1}}