如何用Matlab产生双随机矩阵
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/09 04:15:31
如何用Matlab产生双随机矩阵
双随机矩阵:元素属于[0,1],且行和等于1,列和等于1
双随机矩阵:元素属于[0,1],且行和等于1,列和等于1
![如何用Matlab产生双随机矩阵](/uploads/image/z/6015244-4-4.jpg?t=%E5%A6%82%E4%BD%95%E7%94%A8Matlab%E4%BA%A7%E7%94%9F%E5%8F%8C%E9%9A%8F%E6%9C%BA%E7%9F%A9%E9%98%B5)
clc;clear
for k=1:5
R=0;
while sum(R)~=1
R=round(rand(1,5));
end
M(k,:)=R;
sumM(k,:)=sum(M(k,:))
end
M,sumM
结果:
M =
0 0 1 0 0
0 0 0 0 1
0 0 0 1 0
0 0 0 0 1
0 0 0 0 1
sumM =
1
1
1
1
1
另外,用eye也可产生,不过不是随机.
>> eye(5)
ans =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
for k=1:5
R=0;
while sum(R)~=1
R=round(rand(1,5));
end
M(k,:)=R;
sumM(k,:)=sum(M(k,:))
end
M,sumM
结果:
M =
0 0 1 0 0
0 0 0 0 1
0 0 0 1 0
0 0 0 0 1
0 0 0 0 1
sumM =
1
1
1
1
1
另外,用eye也可产生,不过不是随机.
>> eye(5)
ans =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1