%%unifrnd函數的使用
%unifrnd函數可以創建隨機的連續均勻分布的數組,一般式為R=unifrnd(A,B);
%A和B是標量或者相同維數的行向量或者列向量。R=unifrnd(A,B,[m,n])表示生成m*n的
%矩陣,他們的數值在A,B之間,看下面例子
%例1 若A,B都是標量
R=unifrnd(3,4);%運行結果為3到4之間的一個隨機數
%例2 若A是標量,B是一維行向量
R=unifrnd(3,[1,2,3,4,5,6,7]);%運行結果為:
% R= NaN NaN 3.0000 3.4868 3.1809 5.1349 5.0288
%其中NaN表示not a number ,這時候在區間[3,1],[3,2],[3,3],[3,4],[3,5],[3,6]
%[3,7]分別單獨生成一個隨機數
%例3 若A,B,都是同維行向量
R=unifrnd([1,3,6],[2,5,7]);%運行結果為ans= 1.6327 3.3636 6.0785
%結果是在區間[1,2],[3,5],[6,7]各生成一個隨機數,這也是A,B要同維數原因
%再來說說R=unifrnd(A,B,n)和R=ubifrnd(A,B,[n,m]),在此討論A,和B是常量的情況
R=unifrnd(1,3,4);%運行結果如下
% R=
% 1.0925 1.8573 1.4108 2.6969
% 2.9364 1.7689 2.5001 1.6632
% 2.5966 2.0255 2.3338 2.0363
% 2.4108 1.3090 2.2723 1.6110
%上面生成的是數值在區間[1,3]的4*4方陣,即R=unifrnd(A,B,n)生成的是一個數值在
%區間[A,B]之間的n*n的隨機矩陣
R=unifrnd(1,3,[2,3]);%運行結果是
% R=
% 1.5391 1.7028 1.3373
% 1.7263 2.5547 2.1727
%上面生成的是數值在區間[1,3]之間的2*3的數字隨機矩陣。即R=unifrnd(A,B,[m,n])
%生成的是數值在區間[A,B]的隨機矩陣
%%
%看以下實際題目:用MATLAB計算y=x^3,y=12-x與x軸圍成的面積
%用隨機試驗的方法來做,在矩形區域[0,12]*[0,9]上產生10^7個隨機點,統計這些點落在
%曲邊三角形中的頻數,則可以計算出曲邊三角形面積
x=unifrnd(0,12,[1,10000000]);
y=unifrnd(0,9,[1,10000000]);
pinshu_=sum((y<x.^2&x<3)|(y<12-x&x>3));
area=12*9*pinshu_/10000000;
%得到的結果 area=49.5036