matlab 矩阵建立A=[9 8; 7 6]想建立矩阵B 其里面每一小项都是一个独立的矩阵满足B(1,1)=[A(1,1) 0 0; 0 A(1,1)-1 0; 0 0 A(1,1)+1]=[9 0 0;0 10 0; 0 0 8]B(1,2)=[A(1,2) 0 0; 0 A(1,2)-1 0; 0 0 A(1,2)+1] =[8 0 0;0 9 0; 0 0 7] B(2,1)=[A
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 03:38:53
matlab 矩阵建立A=[9 8; 7 6]想建立矩阵B 其里面每一小项都是一个独立的矩阵满足B(1,1)=[A(1,1) 0 0; 0 A(1,1)-1 0; 0 0 A(1,1)+1]=[9 0 0;0 10 0; 0 0 8]B(1,2)=[A(1,2) 0 0; 0 A(1,2)-1 0; 0 0 A(1,2)+1] =[8 0 0;0 9 0; 0 0 7] B(2,1)=[A
matlab 矩阵建立
A=[9 8; 7 6]
想建立矩阵B 其里面每一小项都是一个独立的矩阵
满足B(1,1)=[A(1,1) 0 0; 0 A(1,1)-1 0; 0 0 A(1,1)+1]=[9 0 0;0 10 0; 0 0 8]
B(1,2)=[A(1,2) 0 0; 0 A(1,2)-1 0; 0 0 A(1,2)+1] =[8 0 0;0 9 0; 0 0 7]
B(2,1)=[A(2,1) 0 0; 0 A(2,1)-1 0; 0 0 A(2,1)+1] =[7 0 0;0 8 0 ; 0 0 6]
B(2,2)=[A(2,2) 0 0; 0 A(2,2)-1 0; 0 0 A(2,2)+1] =[6 0 0;0 7 0 ; 0 0 5]
希望是i j 形式的,因为其实A有2000多行
跪谢
matlab 矩阵建立A=[9 8; 7 6]想建立矩阵B 其里面每一小项都是一个独立的矩阵满足B(1,1)=[A(1,1) 0 0; 0 A(1,1)-1 0; 0 0 A(1,1)+1]=[9 0 0;0 10 0; 0 0 8]B(1,2)=[A(1,2) 0 0; 0 A(1,2)-1 0; 0 0 A(1,2)+1] =[8 0 0;0 9 0; 0 0 7] B(2,1)=[A
可以使用cell matrix过渡一下,这样比较方便.
比如A有20行,10列
B=cell(20,10) %声明一个单元阵列(cell matrix),虽然不是必需的,但这么做能提高效率
for i=1:20
for j=1:10
B{ i,j }=[A(i,j) 0 0 ; 0 A(i,j)-1 0 ; 0 0 A(i,j)+1] %cellmatrix的内容是用大括号{}调用的
end
end
B=cell2mat(B) %把cellmatrix转成普通的数值矩阵