我有兩個列向量,每個向量的大小都是<nx1>
。 config
矢量僅包含數字721,722,723 and 724
,矢量包含的數字僅爲<nx1>
。我需要建立矩陣Z,這是大小<3x3n>
的: note:matrices a,b,c and d are each <3x3> matrices.
這是很難把這裏用文字規則,讓我嘗試舉個例子第一:從兩個<nx1>列向量構建3by3n矩陣
length=[1 2 3],config=[721 722 723],a=eye(3),b=ones(3),c=magic(3);
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]
那如果config(i)是722並且length(i)是2,那麼將2 * matrix_a附加到z矩陣中,依此類推。
我做了以下內容:
z=[0 0 0;0 0 0;0 0 0];
for i=1:3
[~,col]=size(z);
if config(i)==721
z(:,col+[1:3])=length(i)*a
end
if config(i)==722
z(:,col+[1:3])=length(i)*b
end
if config(i)==723
z(:,col+[1:3])=length(i)*c
end
end
z=z(:,4:end)
,但是是不是有更好的無環,矢量化的方法?
我會建議你完全一樣複製代碼你跑了它。我會解決一些錯別字。 – 2013-02-18 10:59:03
@ DennisJaheruddin修正了錯別字。現在應該更清楚了。 – 2013-02-18 15:14:35
你爲什麼不使用'[a b c]'?閱讀它:哪些事情確實需要變量? – 2013-02-18 15:41:32