Page 215 -
P. 215

โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี







                 206

                               a = 0; b = 1;

                             end
                             switch lower(type)    %เปลี่ยนตัวอักษรที่เขามาใหเปนพิมพเล็กเสมอ

                                 case 'uniform'          % สัญญาณรบกวนแบบ uniform

                                     R = a + (b-a)*rand(M,N);

                                 case 'gaussian'         % สัญญาณรบกวนแบบ Gaussian
                                     R = a + b*randn(M,N);

                                 case 'lognormal'   % สัญญาณรบกวนแบบ lognormal

                                     if nargin <= 3

                                         a = 1; b =0,25;
                                     end

                                     R = a*exp(b*randn(M,N));

                                 case 'rayleigh'         % สัญญาณรบกวนแบบ Rayleigh
                                      R = a + (-b*log(1-rand(M,N))).^0.5;

                               otherwise

                                     error ('Use: uniform, gaussian, lognormal and rayleigh only');
                             end



                          เมื่อเขียนฟงกชันดวยโปรแกรม editor  เรียบรอยแลว  ตองบันทึกไฟลที่เขียนขึ้นดวย
                          ชื่อเดียวกันกับชื่อฟงกชันที่ตั้งขึ้นมา   ในกรณีนี้คือบันทึกขอมูลลงในไฟล   ชื่อ

                          noiseGen.m  เมื่อตองการใชงานฟงกชันนี้  ใหเรียกชื่อฟงกชันที่สรางขึ้นไดโดยตรง

                          พรอมทั้งใสพารามิเตอรที่ฟงกชันตองการตามตัวอยางการใชงานตอไปนี้


                             >> rows = 1000; cols = 100;

                             % เรียกฟงกชันเพื่อสรางสัญญาณรบกวนที่มีการกระจายตัวแบบ Rayleigh
                             >> noise =  noiseGen('rayleigh',rows, cols, 0, 1);

                             >> size = rows*cols;
   210   211   212   213   214   215   216   217   218   219   220