matlab怎麼構造隨機向量使得產生的向量範數小於某值

時間 2021-07-01 01:55:46

1樓:nexus科技

可以用matlab中的rand函式來實現隨機向量的產生。

產生向量,使每個元素都小於某一值。l = 1000;

t = 25; %設定閾值。

x = t*(2*rand(l,1)-1);

plot(x)

結果如下圖:

2. 產生向量的模小於某一個閾值.我們假設向量的元素是均勻分佈,這樣值的範圍可以精確的控制。

如果是正態分佈,不太好設定閾值。所以**如下:

l = 1000;

t = 25;

x = t*(2*rand(l,1)-1)/sqrt(l)/0.6;

norm(x) % x的2範數。

反覆執行以上的程式會發現,x的norm總是<25,當然l的值越大越好。

2樓:匿名使用者

我也想問這個問題 所以就搜到了這個問題  看樓上給出的答案是有問題的  所以自己想了下想到了實現的方法:

目標:生成一個n維隨機向量(服從什麼分佈無所謂),且這個向量的範數小於等於m。

解決:這裡假設n=3, 均勻分佈,m=5  matlab**如下n=3;

m=5;

x=rand(1,n);%生成服從均勻分佈的n=3維向量x=x/norm(x);%將向量標準化

a=m*rand(1);%生成[0,5]內的一個隨機數y=a*x;%將x的範數由1轉為在[0,5]內norm(y)

實際驗證複合要求~

用matlab 怎麼生成一組隨機的向量 且模小於等於1 10

3樓:劉賀

試試看吧,模值等於1倒是好弄,小於等於1的話,很難等於1了就:

clear all;clc;

n=10;

a=rand(1,n);

a=a/norm(a,2);

a=rand(1,n).*a;

norm(a,2);

4樓:匿名使用者

使用rand()函式

5樓:林木木林

rand(a,b)即可生成a行b列的隨機向量組。

希望我的回答會對你有幫助!

matlab怎麼隨機產生一個只有0和1的行向量

6樓:time心晴安夏

round(rand(1,totalnum)),totalnum為行向量中元素的個數

7樓:匿名使用者

1)等概率地生成一個m*n的矩陣,且矩陣元素只有0和1。matlab的表示為:randsrc(m,n,[0,1]);其中,m是行數,n是列數。版

2)以概率p生成權1,(1-p)生成0, matlab表示為:randsrc(m,n,[0,1;p,(1-p)]);

注意:1)中是2)的特例,即當p=0.5時候。

3)以概率[p1,p2,…,pk]生成元素為[x1,x2,…,xk]中的數值的m*n維的矩陣,則matlab表示為:randsrc(m,n,[x1,x2,…,xk;p1,p2,…,pk]);元素x1,x2,…,xk和概率p1,p2,…,pk之間的符號位分號,即;。注意:

p1+p2+…+pk=1.(否則會出錯)

等概率地生成一個m*n的矩陣的matlab表示方法還有如下幾種:

a-1)round(rand(m,n)); 其中,rand(m,n)生成均勻分佈的偽隨機數。分佈在(0~1)之間;round(x)表示對x取四捨五入。

a-2) randi(2,m,n)-1; 其中randi(imax,m,n)在開區間(0,imax]生成mxn型隨機矩陣.

matlab怎麼隨機產生模等於1向量? 10

8樓:beauty春城晚報

clear all;clc;

n=10;

a=rand(1,n);

a=a/norm(a,2);

a=rand(1,n).*a;

norm(a,2);

matlab如何隨機生成一個列向量

9樓:斐薄漢荷

方法一:直接輸入列向量:a=[1;2;3;4]方法二:

運用linspace函式,a=linspace(a,b,n),其中a代表第一個元素值,b代表最後一個元素值,n代表向量位數。這時得到的a是行向量,再將a轉置即為列向量:a=a';

方法三:運用冒號生成法,a=a:d:b,

其中a代表第一個元素值,b代表最後一個元素值,d代表步長。這時得到的a是行向量,再將a轉置即為列向量:a=a';

方法四:運用ones函式,zeros函式。

a=ones(n,1)生成n*1的元素全為1的列向量。

b=zeros(n,1)生成n*1的元素全為0的列向量。

10樓:

randperm(100)'

生成100以內的隨機數(100個)

randn(100,1)

生成服從(0,1)正態分佈的隨機數(100個)matlab還有很多隨機數發生器,樓主可以根據需要選取。

11樓:藍雲風翼

rand(n,1)生成(0,1)上均勻分佈的n列隨機矩陣

在matlab軟體中如何對於一個向量中隨機抽取其中的一個元素

12樓:

b是向量長度

a= ceil(b*rand(1,1));

c(a)即為隨機抽取的元素

13樓:___低調

用冒號法則提取,可以查書!

matlab產生隨機數,急求matlab產生隨機數

matlab用命令rand可以產生0 1的隨機數,用線性變換即可,y ax b x 0,y 15 x 1,y 30 a 15,b 15,如果你要的是整數,取整,用round,rand 1,50 ans columns 1 through 11 0.9134 0.6324 0.0975 0.2785 ...

怎麼用matlab求矩陣的特徵向量和最大值

a 1.0000 0.2500 1.0000 8.0000 10.0000 6.0000 4.0000 4.0000 1.0000 4.0000 11.0000 13.0000 7.0000 7.0000 1.0000 0.2500 1.0000 8.0000 10.0000 6.0000 4.00...

matlab中如何把向量帶入函式式中

舉個例子 f x,y x.2 y.2 x 1 2 3 y 2 3 4 z f x,y matlab程式中一個有三個自變數的函式,將自變數表示成向量,給向量賦值後如何帶入求得原函式值? 潘瑋柏 你好,首先抄matlab並不像c,c 那樣需要先定義襲一個bai變數,matlab可以直接 幅值變數。你可d...