主题:求救:产生随机矩阵,要求里面的-1,0,1的个数是固定的
raul1983
[专家分:0] 发布于 2007-11-26 11:20:00
就是一个随机的矩阵,里面包含-1,0,1 三个元素,但是要求其中这三个的个数是可以人为设定的,当然其中各个元素在矩阵中的位置是随机的。
回复列表 (共3个回复)
沙发
ricckma [专家分:370] 发布于 2007-11-26 13:24:00
说清楚问题,要什么size的矩阵?-1和0和1的个数到底是固定的还是做为函数的参数由用户输入?
板凳
raul1983 [专家分:0] 发布于 2007-11-26 16:29:00
就是一个N*N的矩阵,个数的表示参数是固定的,比如10×10的矩阵,要里面20个-1,30个1,50个0,谢谢了!
3 楼
ricckma [专家分:370] 发布于 2007-11-27 08:57:00
function out = randmx(i,j,k)
% i for -1, j for 0 and k for 1
n=sqrt(i+j+k);
assert((i>=0 && j>=0 && k>=0 && n==fix(n)),...
'check you input');
out=zeros(n);
temp=rand(1,n^2);
sort_temp=sort(temp);
lower_bound = (sort_temp(i)+sort_temp(i+1))/2;
upper_bound = (sort_temp(i+j)+sort_temp(i+j+1))/2;
out(temp<lower_bound)=-1;
out(temp>upper_bound)= 1;
我来回复