matlab如何生成满足一定条件数要求的随机矩阵

2021-01-02 20:48:14 字数 3953 阅读 5578

1楼:兔子和小强

你可以先构造特征值,使得最大特征值除以最小特征值为1000,再随机的生成正交矩阵作为特征向量矩阵,从而重构出所要的矩阵。如下所示,构造了个3*3的矩阵,其条件数为1000:

>> v = diag([1000 20 1]); % 只要最大除最小等于1000即可

>> u = orth(randn(3, 3));

>> a = u*v*u^-1;

>> cond(a)

ans =

1000.0000

下次问编程类问题选择问题分类为编程吧,这样可以贴**。

在matlab中生成符合一定条件的伯努利随机矩阵

2楼:匿名用户

% 设定p值

p=0.6;

% 产生随机矩阵

版m=3;n=4;

a=rand(m,n);

% 生成伯努利权

矩阵a=a

% for example

a =0.9572 0.1419 0.7922 0.0357

0.4854 0.4218 0.9595 0.8491

0.8003 0.9157 0.6557 0.9340

a =0 1 0 11 1 0 0

0 0 0 0

3楼:___念桥边红药

r2 = binornd(1,p,[m n])

如何用matlab生成只含0,1值的随机矩阵,要求限制1的数量

4楼:匿名用户

%选择函数

function a=xuanze(m,n)a=zeros();

for i=1:m

for j=1:n

a(i,j)=randperm(2,1)-1;

endend

end%测试抄函数

m=10;

n=5;

a=xuanze(m,n);

shu=sum(a(:));%判断

bai1的数du量

while(shu>=20)

a=xuanze(m,n);

shu=sum(a(:));

enddisp('得到的随机zhi

矩阵:');

adisp(['其中1的个数:dao']);shu

【matlab】怎样随机产生几个数,且这几个数满足一定的条件?具体描述见下:

5楼:电动炉钩子

t = 69;

min1 = 1;

min2 = 1;

max1 = 31;

max2 = 24;

de = randi([min2 max2],2,1);

while 1

leftover = t - sum(de);

abc = ;

for i = 1:2

abc = [abc;randi([min1 ((leftover-1)>max1)*max1+(leftover-1<=max1)*(leftover-1)],1)];

leftover = leftover - abc(end);

endif leftover <= max1 % 防止bai最du后一个

zhi随机dao数专过大

属break;

endend

abc = [abc; leftover];

result = [abc;de];

6楼:真

clear;clc

while 1

a=[unifrnd(1,30,1,3),unifrnd(1,24)];

e=69-sum(a);

if(1<=e && e<=24)

a=[a,e]

break;

endend

如何用matlab生成只含0,1值的随机矩阵,要求限制1的数量,且对角线上的值都为0. 谢谢~

7楼:匿名用户

a=zeros(4,4);

idx=randperm(4*4);

a(idx(1:5))=1;

a(logical(eye(size(a))))=0

matlab随机生成0,1矩阵约束条件

8楼:

例如:a=rand(8,5)>0.3;

其中(8,5)是矩阵大小,0.3是矩阵中出现元素0的概率,也即出现元素1的概率为0.7,望采纳。

matlab在一定范围内生成随机数

9楼:匿名用户

rand([m n])产生 m行,n列(0,1)范围内均匀分布的伪随机数

如果要求在区间(a,b)内产生均匀分布的随机数

r = a + (b-a).*rand([m n]));

如何在matlab中生成一组在规定范围符合指定分布的随机数

10楼:匿名用户

首先要确定需要的是什么分布的随机数,也就是要知道随机数要符合的概率密度分布函数f(x)的定义,然后求其积分函数f(x),然后求f(x)的反函数

得到反函数的定义之后,利用函数rand产生一系列(0,1)之间的随机数代入反函数中计算得到的结果数列就符合原来f(x)的分布。

这种方法适用于,能够容易得到概率密度分布函数的积分函数的反函数的解析表达式的情况。

下面以指数分布为例给出**和验证图像

指数分布的概率密度函数形式为

f(x)= λexp(-λx) (x>0)

0 (x<=0)

其中λ > 0是分布的一个参数

指数分布的累积分布函数

f(x)= 1-exp(-λx) (x>0)

=0 (x<=0)

指数分布的累积分布函数的反函数是

g(y)= -log(1-y)/λ (0

使用直接抽取的方法 先产生 [0,1]间的随机数列

利用累积分布函数的反函数,得到的结果就是符合指数分布的序列

n=10000;%产生随机数的个数

lambda=3;%参数λ

y=rand(1,n);%生成n个0,1间均匀分布随机数

x=-log(1-y)/lambda;%生成指数分布随机数

[n,xout]=hist(x,30);%分区间统计随机数出现概率

nn=n/n/mean(diff(xout));

bar(xout,nn,1);holdon;%画图验证随机数是否符合概率密度函数

plot([0xout],lambda*exp(-lambda*([0xout])),'r');holdoff;

xlabel('x');

ylabel('p(x)');

matlab产生一均匀分布在(-5,5)之间的随机阵(50*2),要求精确到小数点后一位

11楼:宇逸

rand(50,2) %生成

来50*2的0~1之间

自的均匀分布的随机矩阵;

100*rand(50,2) %把生成的0~1之间的随机矩阵的值变为为0~100之间的随机矩阵;

round(100*rand(50,2)) %把生成的0~100随机数取整数

round(100*rand(50,2))/10 %把生成的整数矩阵除以10,变为只有一位小数的矩阵,值的范围为0~10

5-round(100*rand(50,2))/10 %5减去0~10的随机矩阵,生成满足条件的矩阵。

如何能去动物园当动物饲养员,要成为动物园的动物饲养员,需要满足哪些条件呢?

1楼 胡斯鹅黄 饲养员工作比较脏,有时候还比较危险,不是驯兽员那么酷的,你可以先作为志愿者去动物园帮忙,或者跟那儿的饲养员交流一下,等有了实际体会再做决定。大城市的一线饲养员经常要进新人,一定程度上也反映出这个行业是比较辛苦的,没有信念是不容易坚持的。 要成为动物园的动物饲养员,需要满足哪些条件呢?...