我想用MATLAB生成16^16个由0和1组成的16*16的矩阵,要求每一行每一列只能有一个1其他为0,请问怎样生成?谢
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/07/14 03:35:16
我想用MATLAB生成16^16个由0和1组成的16*16的矩阵,要求每一行每一列只能有一个1其他为0,请问怎样生成?谢
![我想用MATLAB生成16^16个由0和1组成的16*16的矩阵,要求每一行每一列只能有一个1其他为0,请问怎样生成?谢](/uploads/image/z/2003262-6-2.jpg?t=%E6%88%91%E6%83%B3%E7%94%A8MATLAB%E7%94%9F%E6%88%9016%5E16%E4%B8%AA%E7%94%B10%E5%92%8C1%E7%BB%84%E6%88%90%E7%9A%8416%2A16%E7%9A%84%E7%9F%A9%E9%98%B5%2C%E8%A6%81%E6%B1%82%E6%AF%8F%E4%B8%80%E8%A1%8C%E6%AF%8F%E4%B8%80%E5%88%97%E5%8F%AA%E8%83%BD%E6%9C%89%E4%B8%80%E4%B8%AA1%E5%85%B6%E4%BB%96%E4%B8%BA0%2C%E8%AF%B7%E9%97%AE%E6%80%8E%E6%A0%B7%E7%94%9F%E6%88%90%3F%E8%B0%A2)
给你个思路,每一行每一列都只有一个1,那就是说明这个矩阵的行经过行变换之后,一定是一个单位矩阵.就是说你可以先生成一个单位矩阵,然后把行或者列的顺序打乱即可.
算了,还是帮你写好吧.
程序如下:
L=eye(16,16);
L=L(:,randperm(16))
运行后得到一个:
L =
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
验证:
sum(sum(L))
ans =
16
说明总的有16个1,是正确的.
算了,还是帮你写好吧.
程序如下:
L=eye(16,16);
L=L(:,randperm(16))
运行后得到一个:
L =
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
验证:
sum(sum(L))
ans =
16
说明总的有16个1,是正确的.
我想用MATLAB生成16^16个由0和1组成的16*16的矩阵,要求每一行每一列只能有一个1其他为0,请问怎样生成?谢
matlab 100*100的矩阵由0和1组成,每一行的10个10个相加,生成一个100行*10列的矩阵
matlab 如何生成一个n行3列的随机矩阵,每一行元素相同,矩阵元素为1、2、3、4?
求:MATLAB简单小程序!急,注意:1 生成10*10的矩阵 2 矩阵元素只有0-1两个 3 每一列和为4
matlab怎么生成一个主对角为0,1随机的矩阵,其他元素为0
matlab 如何生成一个m行n列的随机矩阵,每一行元素值相同,其值为1、2、3、4?
matlab 有个7*24的矩阵,每一行的24个值分别减去该行的最小值,生成一个新矩阵,我编写的M文件为:
Matlab随机生成m*n矩阵,矩阵的元素均为非负整数,要求矩阵的每行和小于80,每列和大于150.求指教.
请问:怎样用matlab随机生成一个只有0,1元素的矩阵?用什么命令,
我想随机生成一个矩阵,怎样能让他的行列式为1或-1?使用matlab实现
请问用MATLAB语言表示一个729行6列的矩阵,且每一个数字都由0,1,2这三个数字中选取?这个程序要怎么写?
用matlab能不能随机生成一个矩阵,使这个矩阵的每一行都等于1?急求~谢谢!