matlab生成特殊矩阵我想用matlab编写程序,生成所有4*4的各行各列都只有一个1元素,但不重复,其他均为0的矩阵,比如1 0 0 00 1 0 00 0 1 00 0 0 1 和 1 0 0 00 0 1 00 1 0 00 0 0 1 这样的矩阵应该有24个,求解编
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/25 07:18:22
![matlab生成特殊矩阵我想用matlab编写程序,生成所有4*4的各行各列都只有一个1元素,但不重复,其他均为0的矩阵,比如1 0 0 00 1 0 00 0 1 00 0 0 1 和 1 0 0 00 0 1 00 1 0 00 0 0 1 这样的矩阵应该有24个,求解编](/uploads/image/z/10601847-63-7.jpg?t=matlab%E7%94%9F%E6%88%90%E7%89%B9%E6%AE%8A%E7%9F%A9%E9%98%B5%E6%88%91%E6%83%B3%E7%94%A8matlab%E7%BC%96%E5%86%99%E7%A8%8B%E5%BA%8F%2C%E7%94%9F%E6%88%90%E6%89%80%E6%9C%894%2A4%E7%9A%84%E5%90%84%E8%A1%8C%E5%90%84%E5%88%97%E9%83%BD%E5%8F%AA%E6%9C%89%E4%B8%80%E4%B8%AA1%E5%85%83%E7%B4%A0%2C%E4%BD%86%E4%B8%8D%E9%87%8D%E5%A4%8D%2C%E5%85%B6%E4%BB%96%E5%9D%87%E4%B8%BA0%E7%9A%84%E7%9F%A9%E9%98%B5%2C%E6%AF%94%E5%A6%821+0+0+00+1+0+00+0+1+00+0+0+1+%E5%92%8C+1+0+0+00+0+1+00+1+0+00+0+0+1+%E8%BF%99%E6%A0%B7%E7%9A%84%E7%9F%A9%E9%98%B5%E5%BA%94%E8%AF%A5%E6%9C%8924%E4%B8%AA%2C%E6%B1%82%E8%A7%A3%E7%BC%96)
matlab生成特殊矩阵我想用matlab编写程序,生成所有4*4的各行各列都只有一个1元素,但不重复,其他均为0的矩阵,比如1 0 0 00 1 0 00 0 1 00 0 0 1 和 1 0 0 00 0 1 00 1 0 00 0 0 1 这样的矩阵应该有24个,求解编
matlab生成特殊矩阵
我想用matlab编写程序,生成所有4*4的各行各列都只有一个1元素,但不重复,其他均为0的矩阵,比如
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
和
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
这样的矩阵应该有24个,求解编程生成所有这样的矩阵序列并输出显示
matlab生成特殊矩阵我想用matlab编写程序,生成所有4*4的各行各列都只有一个1元素,但不重复,其他均为0的矩阵,比如1 0 0 00 1 0 00 0 1 00 0 0 1 和 1 0 0 00 0 1 00 1 0 00 0 0 1 这样的矩阵应该有24个,求解编
代码如下,复制粘贴到editor里运行即可:
clear
clc
%生成24个矩阵
p = perms([1 2 3 4]); %给出4*4矩阵中1在每行中列位置的排列组合
n = size(p,1);
for i = 1:n
matrix = zeros(4);
index = [p(i,1) p(i,2)+4 p(i,3)+8 p(i,4)+12];
matrix(index) = 1;
M{i} = matrix; %M为cell类型,存放了24个cell变量,每个变量是一个矩阵
end
%显示24个矩阵
for i = 1:n
disp(M{i});
end
注意:
“p = perms([1 2 3 4]); %给出4*4矩阵中1在每行中列位置的排列组合”
利用了matlab内置的排列组合函数perms,是该程序的核心所在