回 帖 发 新 帖 刷新版面

主题:求救:产生随机矩阵,要求里面的-1,0,1的个数是固定的

就是一个随机的矩阵,里面包含-1,0,1 三个元素,但是要求其中这三个的个数是可以人为设定的,当然其中各个元素在矩阵中的位置是随机的。

回复列表 (共3个回复)

沙发

说清楚问题,要什么size的矩阵?-1和0和1的个数到底是固定的还是做为函数的参数由用户输入?

板凳

就是一个N*N的矩阵,个数的表示参数是固定的,比如10×10的矩阵,要里面20个-1,30个1,50个0,谢谢了!

3 楼

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;

我来回复

您尚未登录,请登录后再回复。点此登录或注册