【发布时间】:2015-08-04 13:39:38
【问题描述】:
这个问题是我之前问题的继承:
1) Extract submatrices, 2) vectorize and then 3) put back
现在,我有两个病人,分别是 Ann 和 Ben。
确实,矩阵A 和B 是Ann 的数据,而矩阵C 是Ben 的数据:
现在,我需要设计一个矩阵M 使得y = M*x 在哪里
y = [a11, a21, a12, a22, b11, b21, b12, b22]' 是一个向量,由左上角的子矩阵 Ann 和 Ben 拼接而成;
x = [2, 5, 4, 6, 7, 9, 6, 2, 9, 3, 4, 2]' 是一个向量,由子矩阵 A、B 和 C 串联而成。
这里,M 是一个8 by 12 矩阵
a11 = 2 + 7、a21 = 5 + 9、..、a22 = 6 + 2 和 b11 = 9、..b22 = 2。
我通过以下方式手动设计M:
M=zeros(8,12)
M(1,1)=1; M(1,5)=1; % compute a11
M(2,2)=1; M(2,6)=1; % compute a21
M(3,3)=1; M(3,7)=1; % compute a12
M(4,4)=1; M(4,8)=1; % compute a22
M(5,9)=1; % for setting b11 = 9, C(1,1)
M(6,10)=1; % for setting b21 = 3, C(2,1)
M(7,11)=1; % for setting b12 = 4, C(1,2)
M(8,12)=1 % for setting b22 = 2, C(2,2)
显然,一般对于M(i,j),i表示向量y的第8个线性索引位置,j表示向量x的线性索引位置。
但是,我在很大程度上简化了我想自动构造这个M 的原始问题。
提前感谢您帮助我。
【问题讨论】:
-
不应该是
x = [2, 5, 4, 6, 7, 9, 6, 2, 9, 3, 4, 2]'(加“3”)吗? -
@dev 是的,我错过了
3,我对其进行了编辑。