Page 50 -
P. 50

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







                                                                                                        41

                            1.14     การเขียนฟงกชันใน MATLAB



                                   ผูใชงานโปรแกรม MATLAB  สามารถสรางฟงกชันขึ้นใชเองได  โดยการสราง
                                   ฟงกชันคลายกับการเขียนไฟลสคริปตโดยทั่วไป  แตกําหนดเพิ่มเติมใหขี้นตนไฟล

                                   ดวยคําสงวน function  ตามดวย ตัวแปรที่เก็บผลลัพธ ชื่อฟงกชัน และตัวแปรอินพุต

                                   ดังตัวอยางการสรางฟงกชันชื่อ minMax  ดานลาง  ฟงกชันนี้เปนฟงกชันสําหรับ

                                   คํานวณหาคาต่ําสุดและสูงสุดภายในตัวแปรอินพุต x  โดยใหผลลัพธที่เปนคาต่ําสุด
                                   เก็บไวในตัวแปรชื่อ min  และคาสูงสุดเก็บในตัวแปรชื่อ max  โดยสคริปตไฟลที่ให

                                   จะตรวจสอบเมตริกซ x  ที่รับเขามาวาเปนเลขโดดหรือไม  โดยตรวจสอบเงื่อนไขวา

                                   ขนาดของเมตริกซมีคาเทากับหนึ่งหรือไม  ถาขนาดมีคาเปนหนึ่ง x  จะเปนตัวแปรที่
                                   เก็บเลขโดด คําสั่งก็จะกําหนดใหคาต่ําสุดและสูงสุดเปนคาของเลขโดดที่รับเขามา ถา

                                   เมตริกซ x  ที่รับเขามาไมใชเลขโดด  โปรแกรมจะวนไปที่สมาชิกทุกตัวในเมตริกซ

                                   เพื่อตรวจสอบหาคาต่ําสุดและสูงสุด คําสั่ง if เปนคําสั่งสําหรับเลือก  คําสั่ง for เปน

                                   คําสั่งที่ใชในการวนลูป  ผูอานสามารถหารายละเอียดการเขียนคําสั่ง MATLAB  ที่
                                   ซับซอนมากขึ้นไดจากตํารา MATLAB ทั่วไป รวมทั้งหาอานไดจากอินเตอรเน็ตและ

                                   ในเว็บไซตของบริษัทผูผลิต MATLAB คือ http://www.mathwork.com


                                      function [min, max] = minMax(x)

                                      %Function to find minimum and maximum value of x

                                       [r,c] = size(x);
                                      if ( (r==1)&&(c==1))   %กรณี x เปนเลขโดด

                                        min  =  x;

                                        max = x;
                                      else                %กรณี x มีสมาชิกมากกวาหนึ่งตัว

                                          min = x(1,1);    %กําหนดคาเริ่มตน

                                          max = x(1,1);

                                          for i=1:1:r      %วนลูปตรวจสอบขอมูลในแตละแถวของเมตริกซ x
   45   46   47   48   49   50   51   52   53   54   55