当前位置:首页>开发>正文

怎么用matlab自动生成矩阵 怎样用matlab随机生成一个只有-1,1元素的矩阵

2023-05-10 04:53:47 互联网 未知 开发

 怎么用matlab自动生成矩阵 怎样用matlab随机生成一个只有-1,1元素的矩阵

怎么用matlab自动生成矩阵

matlab可以自动生成多种内容的矩阵,可根据需要选择不同的生成函数,如:
ones(3,4)%三行四列元素都为1的矩阵
zeros(3,4)%指定行列数的元素都是0的矩阵
rand(3,4)%指定行列数的随机数矩阵
magic(3)%3阶魔方矩阵
等等。

怎样用matlab随机生成一个只有-1,1元素的矩阵?

楼上的方法有问题,产生的是0,-1,1的随机矩阵,不是-1和应该改成:
clear
clc
a=randint(3,2) %产生由0和1组成的,m*n维随机矩阵
a(find(a==0))=-1 %%%% 转换成-1和1的矩阵

怎样用MATLAB按比例生成随机矩阵

思路:第一步,把90个0,3个1,7个2按照顺序写出来;第二步,将这些数字的排列顺序随机打乱;第三步,写成10*10矩阵的形式。

matlab程序:
A = [0*ones(1,90),1*ones(1,3),2*ones(1,7)]%第一步
inx = randperm(100)
B = A(inx)%第二步
C = reshape(B,[10 10])%第三步

请问,怎么用matlab生成一个随机对称的矩阵

你看看这个咋样,矩阵大小可以自己调,inf出现的比例可以调里面的rnd

N=10%矩阵大小N*N
select=[5:10,inf]
a=zeros(N,N)
for i=1:N
for j=1:i
if j==i
a(i,j)=inf
else
rnd=rand
if rnd>0. a(i,j)=inf
a(j,i)=a(i,j)
else
b=randperm(length(select))
a(i,j)=select(b(1))
a(j,i)=a(i,j)
end
end
end
end
disp(a)

最新文章