日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

imnoise2.m

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 imnoise2.m 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
function R=imnoise2(type,M,N,a,b)%type是函數類型,M*N是噪聲數組的大小,a,b為兩個參數 %設置默認值 if nargin==1%如果函數的輸入參數為1,則默認a=0;b=1;M=1;N=1a=0;b=1;M=1;N=1; elseif nargin==3%如果函數的輸入參數為3,則默認a=0;b=1a=0;b=1; end %開始運行程序 switch lower(type)case 'gaussian'%如果是高斯類型,執行下面方程R=a+b*randn(M,N);case 'salt & pepper'%如果是焦鹽類型,當輸入參數小于等于3,a=0.05,b=0.05if nargin<=3a=0.05;b=0.05;end%檢驗Pa+Pb是否大于1if(a+b)>1error('The sum Pa+Pb must be not exceed >1')endR(1:M,1:N)=0.5;X=rand(M,N);%(0,1)范圍內產生一個M*N大小的均勻隨機數組c=find(X<=a);%尋找X中小于等于a的數,并賦值為0R(c)=0;u=a+b;c=find(X>a & X<=u);%尋找X中大于a并小于等于u的數,并賦值為1R(c)=1;case 'lognormal'%對數正態類型,當輸入參數小于等于3,a=1,b=0.25,執行下面方程if nargin<=3a=1;b=0.25;endR=a*exp(b*randn(M,N));case 'rayleigh'%瑞利類型,執行下面方程R=a+(-b*log(1-rand(M,N))).^0.5;case 'exponential'%指數類型,執行下面方程if nargin<=3%如果輸入參數小于等于3,a=1a=1;endif a<=0%如果a=0,錯誤類型error('Parameter a must be positive for exponential type.')endk=-1/a;R=k*log(1-rand(M,N));case 'erlang'%厄蘭類型,如果輸入參數小于等于3,a=2,b=5if nargin<=3a=2;b=5;endif(b~=round(b)|b<=0)%如果b=0,錯誤類型error('Param b must a positive integer for Erlang.')end k=-1/a;R=zeros(M,N);for j=1:bR=R+k*log(1-rand(M,N));endotherwise%如果不是以上類型,輸出未知分配類型error('Unknown distribution type.') end

總結

以上是生活随笔為你收集整理的imnoise2.m的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。