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...