向量索引以构造矩阵

时间:2019-02-11 23:57:49

标签: matlab

将a,b和c分别定义为第一个,第二个和第三个素数。 使用向量索引来构造以下内容 ac = [a1,b1,c1,a2,b2,c2,a3,b3,c3,...。 。 。]

我已经构造了向量a,b,但是我不知道如何将它们组合在一起以获得ac,我认为horzcat函数不是正确的解决方案,但是我不确定。

a = [2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59]

b = [61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139]

c = [149 151 157 163 167 173 179 181 181 191 193 197 199 211 223 223 229 229 233]

2 个答案:

答案 0 :(得分:0)

ac = [];
for i = 1:17
    ac = [ac a(i) b(i) c(i)];
end

答案 1 :(得分:0)

最有效的方法是:

ac = reshape([a;b;c],1,[])

但是由于明确要求您使用向量索引,因此您可以使用sanmiyom的解决方案,也可以使用以下方法:

ac = zeros(1,length(a)*3);
for n = 1:length(a)
    ac((n-1)*3+1:n*3) = [a(n), b(n), c(n)];
end