บทที่
                                                                                                1
                                                              เริ่มตนกับแมทแลบ

1.1    บทนํา
                โปรแกรมแมทแลบ (MATLAB) เปนโปรแกรมทางดานการคํานวณที่มีความ
นิยมมากโปรแกรมหนึ่ง เนื่องจากเปนโปรแกรมที่ใชงานงาย และมีความสามารถในการทํางาน
ที่หลากหลาย ชื่อโปรแกรม “MATLAB” นั้นยอมาจาก “MATrix LABoratory” เริ่มตน
พัฒนาขึ้นในทศวรรษที่ 1970 โดยศาสตราจารยทางดานคณิตศาสตรชื่อ Cleve Moler ซึ่ง
วัตถุประสงคที่คิดคนโปรแกรมแมทแลบนี้ขึ้นมา ก็เพื่อใหนักเรียนของเขาสามารถเรียกใช
ชุดคําสั่งจาก LINPACK (ชุดคําสั่งสําหรับแกปญหาทางพีชคณิต) และชุดคําสั่ง EISPACK
(ชุดคําสั่งสําหรับแกปญหาคาคุณสมบัติทางคณิตศาสตร) ไดโดยไมตองมีความรูในการเขียน
โปรแกรมคอมพิวเตอรภาษาฟอรแทรน (FORTRAN) จากนั้นเปนตนมา โปรแกรมแมทแลบ
ก็ไดรับความนิยมและแพรหลายไปตามมหาวิทยาลัยตาง ๆ จนในป 1984 ศาสตราจารย Cleve
Moler และทีมงาน จึ งไดกอตั้ งบริษัท MathWorks ขึ้นเพื่ อพัฒนาโปรแกรมแมทแลบอยาง
ต อ เนื่ อ งมาจนถึ ง ป จ จุ บั น ทํ า ให โ ปรแกรมแมทแลบที่ ใ ช กั น ในทุ ก วั น นี้ มี ค วามสามารถ
หลากหลาย ตั้ ง แต ใ ช สํา หรั บ การคํ า นวณทางคณิ ต ศาสตร แ บบง า ย ๆ ไปจนถึ ง ใช เ พื่ อ การ
ประมวลผลภาพและสัญญาณ หรือใชสําหรับการออกแบบการควบคุม และสรางแบบจําลอง
การทํางานของกลไกพรอมภาพเคลื่อนไหวได เปนตน
2                                                                     บทที่ 1 เริ่มตนกับแมทแลบ

1.2   หนาตางของแมทแลบ
          ในหัวขอนี้จะแนะนําสวนประกอบที่สําคัญของโปรแกรมแมทแลบ หลังจากที่
เปดโปรแกรมขึ้นมา หนาตางแรกที่พบคือหนาตางที่เรียกวา “MATLAB desktop” ดังแสดง
ในรูป

            หนาตางคําสั่ง                        หนาตางแสดงพื้นที่ทํางาน
            (Command Window)                       (Workspace Window)




หนาตางแสดงโฟลเดอรท่กําลังใชงานอยู
                       ี                       หนาตางคําสั่งที่เคยใชงาน
(Current Folder Window)                        (Command History Window)


ภายในหนาตาง MATLAB desktop ประกอบไปดวยหนาตางยอย ๆ อีก ซึ่งไดแก

      1.2.1   หนาตางคําสั่ง
             ภายในหน า ต า งคํ า สั่ ง (Command Window) เราสามารถพิ ม พ คํ า สั่ ง เพื่ อ ให
โปรแกรมแมทแลบทํางานตามที่เราตองการ โดยพิมพคําสั่งหลังเครื่องหมาย >> (เรียกวา
guillemotright) ได โ ดยตรง ยกตั ว อย า งเช น ถ า เราต อ งการคํ า นวณหาผลคู ณ ของ 1.35 กั บ
7.59 เราก็พิมพ 1.35*7.59 แลวกดปุม ENTER ซึ่งจะไดผลลัพธดังนี้
1.2   หนาตางของแมทแลบ                                                               3


>> 1.35*7.59
ans =
  10.2465

โปรแกรมแมทแลบจะเก็บคาผลลัพธจากการคํานวณไวในตัวแปร ans ใหโดยอัตโนมัติ ซึ่งเรา
สามารถนําคาตัวแปรนั้นมาคํานวณตอได ผลลัพธที่คํานวณไดในครั้งใหมนี้ ก็จะถูกเก็บไวใน
ตัวแปร ans เชนเดิม เชน
>> ans*3.57
ans =
  36.5800

เราสามารถกํา หนดใหผลการคํ า นวณอยูใ นตัว แปรที่เรากํ าหนดเองได ยกตั ว อยา งเชน เรา
ตองการคํานวณคาปริมาตรทรงกลมที่มีรัศมีเทากับ 3.5 แลวเก็บคาที่คํานวณไดไวในตัวแปรที่
ชื่อ volume เราก็พิมพคําสั่งตอไปนี้
>> volume = 4/3*pi*3.5^3                                                       pi
volume =
  179.5944

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

       1.2.2   หนาตางแสดงพื้นที่ทํางาน
             คาตัวแปรตาง ๆ ที่ถูกสรางขึ้นเพื่อเก็บคาขอมูลในโปรแกรมแมทแลบ เชน ตัว
แปร ans และตัวแปร volume ดังแสดงไวในหัวขอ 1.2.1 จะถูกบันทึกไวในหนวยความจํา
ของเครื่องคอมพิวเตอร ซึ่งเราเรียกพื้นที่การจัดเก็บขอมูลของโปรแกรมแมทแลบนี้วาพื้นที่
ทํางาน (workspace) โดยขอมูลที่ถูกบันทึกจะถูกนํามาแสดงไวในหนาตางนี้ เราสามารถลบ
คาตัวแปรใด ๆ ออกจากหนวยความจําของโปรแกรมแมทแลบได ดวยการคลิกเมาสเลือกตัว
แปรนั้น ๆ แลวกดปุม Delete ที่แปนพิมพ หรือคลิกเมาสขวาขณะเลือกตัวแปรที่ตองการลบ
แลวเลือกคําสั่ง Delete ก็ได
4                                                                 บทที่ 1 เริ่มตนกับแมทแลบ

       1.2.3   หนาตางคําสั่งที่เคยใชงาน
               คําสั่งตาง ๆ ที่เราพิมพมากอนหนาทั้งหมด จะถูกรวบรวมไวในหนาตางคําสั่งที่
เคยใชงาน (Command History Window) และเราสามารถเรียกใชคําสั่งที่เคยใชงานไปแลว
ใหกลับมาทํางานใหมได โดยการใชเมาสดับเบิลคลิกไปที่คําสั่งนั้นโดยตรง คําสั่งตาง ๆ ที่ถูก
พิมพและใชงานไปแลวนั้นจะถูกบันทึกไวทุกครั้งที่เปดโปรแกรม ดังนั้น เราสามารถยอนกลับ
ไปใชคําสั่งที่เคยพิมพไวในหลายวันกอนได แตหากตองการที่จะลบคําสั่งที่อยูในบันทึกนี้ ก็
สามารถคลิกเมาสขวาที่คําสั่งนั้น แลวเลือกลบคําสั่งดังกลาวไดเชนกัน
       1.2.4   หนาตางแสดงโฟลเดอรที่กาลังใชงานอยู
                                       ํ
               หนาตางนี้ระบุโฟลเดอรท่ีเรากําลังใชงานอยู (Current Folder Window) โดย
ไฟลหรือโปรแกรมที่เราสรางขึ้นจะถูกบันทึกลงในโฟลเดอรนี้ ถาโปรแกรมที่เราสรางขึ้นและ
ตองการใชงานถูกบันทึกอยูในโฟลเดอรอื่น เราก็สามารถกําหนดตําแหนงโฟลเดอรใหมผาน
หนาตางนี้ได


1.3    คําสั่งคณิตศาสตรพื้นฐาน
              ความสามารถพื้ น ฐานอย า งหนึ่ ง ของโปรแกรมแมทแลบก็คื อ การใชคํ า นวณ
ปญหาทางคณิตศาสตรพื้นฐานโดยทั่วไป คลายกับที่เราใชเครื่องคิดเลขเพื่อชวยเราคํานวณ
ตัวเลขนั่นเอง การดําเนินการทางคณิตศาสตรเบื้องตนที่จะกลาวถึงในหัวขอนี้ ไดแก การบวก
ลบ คูณ หาร และยกกําลัง สมมุติวาเราตองการบวกหรือลบตัวเลขสองจํานวน เราสามารถพิมพ
คําสั่งดังแสดงในตัวอยางตอไปนี้
>> 5.364 + 86.2
ans =
      91.5640

>> 87.3 - 65.4
ans =
      21.9000

สวนการคูณและหาร เราใชเครื่องหมาย * และ / ตามลําดับ
1.3   คําสั่งคณิตศาสตรพ้นฐาน
                         ื                                                          5


>> 73.1 * 84.3
ans =
  6.1623e+003

>> 86.5 / 23.3
ans =
       3.7124


ในการยกกําลัง เราใชเครื่องหมาย ^ เชน
>> 31^2
ans =
      961

เราสามารถกําหนดคาคงที่ใหกับตัวแปรที่เราสรางขึ้นมาเอง แลวนําคาตัวแปรนั้นไปใชในการ
คํานวณตอไปได เชน
>> a = 4
a =
         4

>> a + 3
ans =
         7

หรือกําหนดคาตัวแปรหลาย ๆ ตัวพรอมกัน โดยการพิมพคําสั่งเพียงบรรทัดเดียวได ดวยการใช
เครื่องหมาย , (comma) คั่นระหวางการกําหนดคาใหกับตัวแปร เชน
>> a = 4, b = 3, c = 5
a =
      4
b =
      3
c =
      5
>> a + b + c
ans =
    12
6                                                                บทที่ 1 เริ่มตนกับแมทแลบ

การกําหนดคาใหกับตัวแปรในแมทแลบตองทําดวยความระมัดระวัง เพราะตัวแปรที่ใชตัวพิมพ
เล็กและตัวพิมพใหญนั้นถือวาเปนคนละตัวแปรกัน เชน
>> d = 7, D = 3
d =
        7
D =
        3

>> d + D
ans =
    10


จากตัวอยางขางตนจะเห็นวา ทุกครั้งที่เรากําหนดคาคงที่ใหกับตัวแปรใด ๆ แมทแลบจะแสดง
คาตัวแปรนั้น ๆ กลับออกบนหนาจอทันทีหลังจากที่เรากดปุม ENTER หากเราไมตองการให
โปรแกรมแมทแลบแสดงคาตัวแปรนั้น ๆ ซ้ําบนหนาจออีก ก็เพียงพิมพเครื่องหมาย ; (semi
colon) ปดทายการกําหนดคาใหกับตัวแปร ดังตัวอยางตอไปนี้

>> e = 6; g = 8;
>> e * g
ans =
      48


              สําหรับลําดับการคํานวณทางคณิตศาสตรในโปรแกรมแมทแลบนั้นก็เปนไปตาม
มาตรฐานของการคํานวณโดยทั่วไป นั่นคือโปรแกรมจะใหความสําคัญกับการยกกําลังกอน
จากนั้นจึงดําเนินการคูณกับหาร ซึ่งทั้งคูณกับหารนี้มีระดับความสําคัญเทา ๆ กัน สุดทายก็จึง
เปนการพิจารณาการบวกและลบ เพื่อใหเขาใจลําดับการคํานวณที่กลาวมาไดดียิ่งขึ้น เราจะ
พิจารณาจากตัวอยางดังตอไปนี้
>> 10 - 3 ^ 2 * 2 / 3 + 7
ans =
      11
1.4   ฟงกชันคณิตศาสตรและคําสั่งอื่น ๆ ที่เปนประโยชน                                                               7


แตในทางปฏิบัติแลว เรามักใชวงเล็บชวยในการจัดลําดับในการคํานวณเพื่อใหเกิดความชัดเจน
มากยิ่งขึ้ น โดยโปรแกรมจะคํ า นวณคา ในวงเล็บก อน จากนั้น จึงดํ า เนินการตามลําดับ การ
คํานวณดังที่กลาวขางตน เชน ตองการคํานวณ
                                                   53 ⎛ + 3 ⎞
                                                        3 9
                                                      ⎜     ⎟
                                                      ⎝5 2 ⎠

เราก็พิมพคําสั่งดังนี้
>> (5^3)*((3/5) + (9/(2^3)))
ans =
    215.6250



1.4     ฟงกชันคณิตศาสตรและคําสั่งอื่น ๆ ที่เปนประโยชน
           ในหัว ข อนี้เราจะมาเรี ย นรู การใชฟงกชันทางคณิ ตศาสตรที่มัก ใช สํา หรั บ การ
คํานวณทางดานวิทยาศาสตรและวิศวกรรมศาสตร เชน ฟงกชันตรีโกณมิติ ฟงกชันลอการิทึม
และการหาคารากที่สอง เปนตน รวมถึงคําสั่งบางอยางที่เปนประโยชนและควรทราบเพื่อการ
ใชงานโปรแกรมแมทแลบไดอยางมีประสิทธิภาพ

        1.4.1    ฟงกชันตรีโกณมิติ
                 สมมุติวาเราตองการหาคา sine ของมุม 30 องศา เราสามารถพิมพคําสั่งดังนี้
>> sin(pi/6)                                                                                                sin
ans =
        0.5000

จากตั ว อย า งนี้ จ ะเห็ น ได ว า ค า มุม ที่ ใ ช กั บ ฟ ง ก ชั น ตรี โ กณมิ ติ ต อ งเป น เรเดี ย น (radian) ไม
สามารถใสคามุมเปนองศาได สวนฟงกชันตรีโกณมิติอื่น ๆ นั้นสามารถพิมพคําสั่งไดดังเชน
ตัวอยางตอไปนี้
>> cos(pi/6)                                                                                                 cos
ans =
        0.8660
8                                                                   บทที่ 1 เริ่มตนกับแมทแลบ

>> tan(pi/4)                                                                        tan
ans =
      1.0000


แตถาตองการใสคามุมเปนองศา ตองเปลี่ยนคําสั่งเล็กนอยไปเปน
>> sind(30)
ans =
    0.5000
>> cosd(90)                                                                        cosd
ans =
      0
>> tand(45)                                                                        tand
ans =
      1.0000


สําหรับฟงกชันตรีโกณมิติผกผัน เชน arcsine, arccosine และ        arctangent เราสามารถพิมพ
คําสั่งดังตอไปนี้ไดโดยสะดวก เชน
>> asin(0.5)
ans =
      0.5236

>> acos(-0.3)                                                                      acos
ans =
      1.8755
>> atan(1.5)                                                                       atan
ans =
      0.9828


ส ว นฟ ง ก ชั น ไฮเพอร โ บลิ ก เช น hyperbolic sine, hyperbolic cosine และ hyperbolic
tangent ก็สามารถพิมพคําสั่งไดเชนกัน ดังตัวอยางตอไปนี้
1.4   ฟงกชันคณิตศาสตรและคําสั่งอื่น ๆ ที่เปนประโยชน                                  9


>> sinh(3)
                                                                                 sinh
ans =
      10.0179

>> cosh(2)                                                                       cosh
ans =
       3.7622

>> tanh(4)                                                                       tanh
ans =
       0.9993


        1.4.2   ฟงกชันเอกซโพเนนเชียลและลอการิทึม
           ฟงกชันเอกซโพเนนเชียลคือฟงกชันที่อยูในรูป e x ดังนั้น ถาเราตองการหาคา e3
ก็สามารถพิมพคาสั่งไดดังนี้
              ํ
>> exp(3)
ans =
      20.0855

สวนฟงกชันลอการิทึมนั้นเนื่องจากมีหลายฐาน โดยถาเปนฟงกชันลอการิทึมฐานธรรมชาติ
(natural logarithm) ก็พิมพวา

>> log(1)                                                                         log
ans =
         0


แตถาตองการใชฟงกชันลอการิทึมฐานสิบ เราก็พมพวา
                                              ิ
>> log10(10)                                                                    log10
ans =
         1
10                                                                  บทที่ 1 เริ่มตนกับแมทแลบ

      1.4.3   การหาคารากของจํานวนจริง
              เริ่มตนจากการหาคารากที่สอง เชน ตองการหาคารากที่สองของ 7 โดยใชคําสั่ง
ตามปกติวา
        
>> sqrt(7)                                                                          sqrt
ans =
      2.6458

สวนคารากอันดับอื่น ๆ เชน คารากที่สาม เราตองใชการยกกําลังเขามาชวย ยกตัวอยางเชน
ตองการหาคารากที่สามของ 8 เราก็พิมพวา
>> 8^(1/3)
ans =
        2


      1.4.4   คําสั่งอื่น ๆ ที่เปนประโยชน
           จากตัว อยางที่ แ สดงข างต น จะเห็ น ได วา ผลลั พ ธ จ ากการคํา นวณนั้น ถูก แสดง
ออกมาโดยมีความละเอียดถึงทศนิยมตําแหนงที่ 4 แตถาเราตองการใหผลลัพธที่แสดงมีความ
ละเอียดมากขึ้นไปอีก ใหพิมพคําสั่งดังนี้
>> format long                                                                     format

การคํานวณที่เกิดขึ้นหลังจากนี้ จะถูกแสดงดวยความละเอียดถึงทศนิยมตําแหนงที่ 15 ดังนี้
>> sqrt(6)
ans =
     2.449489742783178

และถาตองการใหการแสดงผลลัพธกลับไปเปนเชนเดิม ก็ใหพิมพคําสั่งดังนี้
>> format short

สําหรับการแสดงผลลัพธในรูปแบบอื่น ๆ เราใชคําสั่งดังแสดงในตัวอยางตอไปนี้
>> format short e
>> sqrt(6)

9789740328766

  • 1.
    บทที่ 1 เริ่มตนกับแมทแลบ 1.1 บทนํา โปรแกรมแมทแลบ (MATLAB) เปนโปรแกรมทางดานการคํานวณที่มีความ นิยมมากโปรแกรมหนึ่ง เนื่องจากเปนโปรแกรมที่ใชงานงาย และมีความสามารถในการทํางาน ที่หลากหลาย ชื่อโปรแกรม “MATLAB” นั้นยอมาจาก “MATrix LABoratory” เริ่มตน พัฒนาขึ้นในทศวรรษที่ 1970 โดยศาสตราจารยทางดานคณิตศาสตรชื่อ Cleve Moler ซึ่ง วัตถุประสงคที่คิดคนโปรแกรมแมทแลบนี้ขึ้นมา ก็เพื่อใหนักเรียนของเขาสามารถเรียกใช ชุดคําสั่งจาก LINPACK (ชุดคําสั่งสําหรับแกปญหาทางพีชคณิต) และชุดคําสั่ง EISPACK (ชุดคําสั่งสําหรับแกปญหาคาคุณสมบัติทางคณิตศาสตร) ไดโดยไมตองมีความรูในการเขียน โปรแกรมคอมพิวเตอรภาษาฟอรแทรน (FORTRAN) จากนั้นเปนตนมา โปรแกรมแมทแลบ ก็ไดรับความนิยมและแพรหลายไปตามมหาวิทยาลัยตาง ๆ จนในป 1984 ศาสตราจารย Cleve Moler และทีมงาน จึ งไดกอตั้ งบริษัท MathWorks ขึ้นเพื่ อพัฒนาโปรแกรมแมทแลบอยาง ต อ เนื่ อ งมาจนถึ ง ป จ จุ บั น ทํ า ให โ ปรแกรมแมทแลบที่ ใ ช กั น ในทุ ก วั น นี้ มี ค วามสามารถ หลากหลาย ตั้ ง แต ใ ช สํา หรั บ การคํ า นวณทางคณิ ต ศาสตร แ บบง า ย ๆ ไปจนถึ ง ใช เ พื่ อ การ ประมวลผลภาพและสัญญาณ หรือใชสําหรับการออกแบบการควบคุม และสรางแบบจําลอง การทํางานของกลไกพรอมภาพเคลื่อนไหวได เปนตน
  • 2.
    2 บทที่ 1 เริ่มตนกับแมทแลบ 1.2 หนาตางของแมทแลบ ในหัวขอนี้จะแนะนําสวนประกอบที่สําคัญของโปรแกรมแมทแลบ หลังจากที่ เปดโปรแกรมขึ้นมา หนาตางแรกที่พบคือหนาตางที่เรียกวา “MATLAB desktop” ดังแสดง ในรูป หนาตางคําสั่ง หนาตางแสดงพื้นที่ทํางาน (Command Window) (Workspace Window) หนาตางแสดงโฟลเดอรท่กําลังใชงานอยู ี หนาตางคําสั่งที่เคยใชงาน (Current Folder Window) (Command History Window) ภายในหนาตาง MATLAB desktop ประกอบไปดวยหนาตางยอย ๆ อีก ซึ่งไดแก 1.2.1 หนาตางคําสั่ง ภายในหน า ต า งคํ า สั่ ง (Command Window) เราสามารถพิ ม พ คํ า สั่ ง เพื่ อ ให โปรแกรมแมทแลบทํางานตามที่เราตองการ โดยพิมพคําสั่งหลังเครื่องหมาย >> (เรียกวา guillemotright) ได โ ดยตรง ยกตั ว อย า งเช น ถ า เราต อ งการคํ า นวณหาผลคู ณ ของ 1.35 กั บ 7.59 เราก็พิมพ 1.35*7.59 แลวกดปุม ENTER ซึ่งจะไดผลลัพธดังนี้
  • 3.
    1.2 หนาตางของแมทแลบ 3 >> 1.35*7.59 ans = 10.2465 โปรแกรมแมทแลบจะเก็บคาผลลัพธจากการคํานวณไวในตัวแปร ans ใหโดยอัตโนมัติ ซึ่งเรา สามารถนําคาตัวแปรนั้นมาคํานวณตอได ผลลัพธที่คํานวณไดในครั้งใหมนี้ ก็จะถูกเก็บไวใน ตัวแปร ans เชนเดิม เชน >> ans*3.57 ans = 36.5800 เราสามารถกํา หนดใหผลการคํ า นวณอยูใ นตัว แปรที่เรากํ าหนดเองได ยกตั ว อยา งเชน เรา ตองการคํานวณคาปริมาตรทรงกลมที่มีรัศมีเทากับ 3.5 แลวเก็บคาที่คํานวณไดไวในตัวแปรที่ ชื่อ volume เราก็พิมพคําสั่งตอไปนี้ >> volume = 4/3*pi*3.5^3 pi volume = 179.5944 ขอสังเกตเพิ่มเติมสําหรับตัวอยางนี้คือ แมทแลบไดกําหนดคาของ π ไวในตัวแปรที่ชื่อ pi ดังนั้น เราสามารถเรียกใชคา π ไดทันทีผานตัวแปรนี้ โดยไมตองกําหนดคาให    1.2.2 หนาตางแสดงพื้นที่ทํางาน คาตัวแปรตาง ๆ ที่ถูกสรางขึ้นเพื่อเก็บคาขอมูลในโปรแกรมแมทแลบ เชน ตัว แปร ans และตัวแปร volume ดังแสดงไวในหัวขอ 1.2.1 จะถูกบันทึกไวในหนวยความจํา ของเครื่องคอมพิวเตอร ซึ่งเราเรียกพื้นที่การจัดเก็บขอมูลของโปรแกรมแมทแลบนี้วาพื้นที่ ทํางาน (workspace) โดยขอมูลที่ถูกบันทึกจะถูกนํามาแสดงไวในหนาตางนี้ เราสามารถลบ คาตัวแปรใด ๆ ออกจากหนวยความจําของโปรแกรมแมทแลบได ดวยการคลิกเมาสเลือกตัว แปรนั้น ๆ แลวกดปุม Delete ที่แปนพิมพ หรือคลิกเมาสขวาขณะเลือกตัวแปรที่ตองการลบ แลวเลือกคําสั่ง Delete ก็ได
  • 4.
    4 บทที่ 1 เริ่มตนกับแมทแลบ 1.2.3 หนาตางคําสั่งที่เคยใชงาน คําสั่งตาง ๆ ที่เราพิมพมากอนหนาทั้งหมด จะถูกรวบรวมไวในหนาตางคําสั่งที่ เคยใชงาน (Command History Window) และเราสามารถเรียกใชคําสั่งที่เคยใชงานไปแลว ใหกลับมาทํางานใหมได โดยการใชเมาสดับเบิลคลิกไปที่คําสั่งนั้นโดยตรง คําสั่งตาง ๆ ที่ถูก พิมพและใชงานไปแลวนั้นจะถูกบันทึกไวทุกครั้งที่เปดโปรแกรม ดังนั้น เราสามารถยอนกลับ ไปใชคําสั่งที่เคยพิมพไวในหลายวันกอนได แตหากตองการที่จะลบคําสั่งที่อยูในบันทึกนี้ ก็ สามารถคลิกเมาสขวาที่คําสั่งนั้น แลวเลือกลบคําสั่งดังกลาวไดเชนกัน 1.2.4 หนาตางแสดงโฟลเดอรที่กาลังใชงานอยู ํ หนาตางนี้ระบุโฟลเดอรท่ีเรากําลังใชงานอยู (Current Folder Window) โดย ไฟลหรือโปรแกรมที่เราสรางขึ้นจะถูกบันทึกลงในโฟลเดอรนี้ ถาโปรแกรมที่เราสรางขึ้นและ ตองการใชงานถูกบันทึกอยูในโฟลเดอรอื่น เราก็สามารถกําหนดตําแหนงโฟลเดอรใหมผาน หนาตางนี้ได 1.3 คําสั่งคณิตศาสตรพื้นฐาน ความสามารถพื้ น ฐานอย า งหนึ่ ง ของโปรแกรมแมทแลบก็คื อ การใชคํ า นวณ ปญหาทางคณิตศาสตรพื้นฐานโดยทั่วไป คลายกับที่เราใชเครื่องคิดเลขเพื่อชวยเราคํานวณ ตัวเลขนั่นเอง การดําเนินการทางคณิตศาสตรเบื้องตนที่จะกลาวถึงในหัวขอนี้ ไดแก การบวก ลบ คูณ หาร และยกกําลัง สมมุติวาเราตองการบวกหรือลบตัวเลขสองจํานวน เราสามารถพิมพ คําสั่งดังแสดงในตัวอยางตอไปนี้ >> 5.364 + 86.2 ans = 91.5640 >> 87.3 - 65.4 ans = 21.9000 สวนการคูณและหาร เราใชเครื่องหมาย * และ / ตามลําดับ
  • 5.
    1.3 คําสั่งคณิตศาสตรพ้นฐาน ื 5 >> 73.1 * 84.3 ans = 6.1623e+003 >> 86.5 / 23.3 ans = 3.7124 ในการยกกําลัง เราใชเครื่องหมาย ^ เชน >> 31^2 ans = 961 เราสามารถกําหนดคาคงที่ใหกับตัวแปรที่เราสรางขึ้นมาเอง แลวนําคาตัวแปรนั้นไปใชในการ คํานวณตอไปได เชน >> a = 4 a = 4 >> a + 3 ans = 7 หรือกําหนดคาตัวแปรหลาย ๆ ตัวพรอมกัน โดยการพิมพคําสั่งเพียงบรรทัดเดียวได ดวยการใช เครื่องหมาย , (comma) คั่นระหวางการกําหนดคาใหกับตัวแปร เชน >> a = 4, b = 3, c = 5 a = 4 b = 3 c = 5 >> a + b + c ans = 12
  • 6.
    6 บทที่ 1 เริ่มตนกับแมทแลบ การกําหนดคาใหกับตัวแปรในแมทแลบตองทําดวยความระมัดระวัง เพราะตัวแปรที่ใชตัวพิมพ เล็กและตัวพิมพใหญนั้นถือวาเปนคนละตัวแปรกัน เชน >> d = 7, D = 3 d = 7 D = 3 >> d + D ans = 10 จากตัวอยางขางตนจะเห็นวา ทุกครั้งที่เรากําหนดคาคงที่ใหกับตัวแปรใด ๆ แมทแลบจะแสดง คาตัวแปรนั้น ๆ กลับออกบนหนาจอทันทีหลังจากที่เรากดปุม ENTER หากเราไมตองการให โปรแกรมแมทแลบแสดงคาตัวแปรนั้น ๆ ซ้ําบนหนาจออีก ก็เพียงพิมพเครื่องหมาย ; (semi colon) ปดทายการกําหนดคาใหกับตัวแปร ดังตัวอยางตอไปนี้ >> e = 6; g = 8; >> e * g ans = 48 สําหรับลําดับการคํานวณทางคณิตศาสตรในโปรแกรมแมทแลบนั้นก็เปนไปตาม มาตรฐานของการคํานวณโดยทั่วไป นั่นคือโปรแกรมจะใหความสําคัญกับการยกกําลังกอน จากนั้นจึงดําเนินการคูณกับหาร ซึ่งทั้งคูณกับหารนี้มีระดับความสําคัญเทา ๆ กัน สุดทายก็จึง เปนการพิจารณาการบวกและลบ เพื่อใหเขาใจลําดับการคํานวณที่กลาวมาไดดียิ่งขึ้น เราจะ พิจารณาจากตัวอยางดังตอไปนี้ >> 10 - 3 ^ 2 * 2 / 3 + 7 ans = 11
  • 7.
    1.4 ฟงกชันคณิตศาสตรและคําสั่งอื่น ๆ ที่เปนประโยชน 7 แตในทางปฏิบัติแลว เรามักใชวงเล็บชวยในการจัดลําดับในการคํานวณเพื่อใหเกิดความชัดเจน มากยิ่งขึ้ น โดยโปรแกรมจะคํ า นวณคา ในวงเล็บก อน จากนั้น จึงดํ า เนินการตามลําดับ การ คํานวณดังที่กลาวขางตน เชน ตองการคํานวณ 53 ⎛ + 3 ⎞ 3 9 ⎜ ⎟ ⎝5 2 ⎠ เราก็พิมพคําสั่งดังนี้ >> (5^3)*((3/5) + (9/(2^3))) ans = 215.6250 1.4 ฟงกชันคณิตศาสตรและคําสั่งอื่น ๆ ที่เปนประโยชน ในหัว ข อนี้เราจะมาเรี ย นรู การใชฟงกชันทางคณิ ตศาสตรที่มัก ใช สํา หรั บ การ คํานวณทางดานวิทยาศาสตรและวิศวกรรมศาสตร เชน ฟงกชันตรีโกณมิติ ฟงกชันลอการิทึม และการหาคารากที่สอง เปนตน รวมถึงคําสั่งบางอยางที่เปนประโยชนและควรทราบเพื่อการ ใชงานโปรแกรมแมทแลบไดอยางมีประสิทธิภาพ 1.4.1 ฟงกชันตรีโกณมิติ สมมุติวาเราตองการหาคา sine ของมุม 30 องศา เราสามารถพิมพคําสั่งดังนี้ >> sin(pi/6) sin ans = 0.5000 จากตั ว อย า งนี้ จ ะเห็ น ได ว า ค า มุม ที่ ใ ช กั บ ฟ ง ก ชั น ตรี โ กณมิ ติ ต อ งเป น เรเดี ย น (radian) ไม สามารถใสคามุมเปนองศาได สวนฟงกชันตรีโกณมิติอื่น ๆ นั้นสามารถพิมพคําสั่งไดดังเชน ตัวอยางตอไปนี้ >> cos(pi/6) cos ans = 0.8660
  • 8.
    8 บทที่ 1 เริ่มตนกับแมทแลบ >> tan(pi/4) tan ans = 1.0000 แตถาตองการใสคามุมเปนองศา ตองเปลี่ยนคําสั่งเล็กนอยไปเปน >> sind(30) ans = 0.5000 >> cosd(90) cosd ans = 0 >> tand(45) tand ans = 1.0000 สําหรับฟงกชันตรีโกณมิติผกผัน เชน arcsine, arccosine และ arctangent เราสามารถพิมพ คําสั่งดังตอไปนี้ไดโดยสะดวก เชน >> asin(0.5) ans = 0.5236 >> acos(-0.3) acos ans = 1.8755 >> atan(1.5) atan ans = 0.9828 ส ว นฟ ง ก ชั น ไฮเพอร โ บลิ ก เช น hyperbolic sine, hyperbolic cosine และ hyperbolic tangent ก็สามารถพิมพคําสั่งไดเชนกัน ดังตัวอยางตอไปนี้
  • 9.
    1.4 ฟงกชันคณิตศาสตรและคําสั่งอื่น ๆ ที่เปนประโยชน 9 >> sinh(3) sinh ans = 10.0179 >> cosh(2) cosh ans = 3.7622 >> tanh(4) tanh ans = 0.9993 1.4.2 ฟงกชันเอกซโพเนนเชียลและลอการิทึม ฟงกชันเอกซโพเนนเชียลคือฟงกชันที่อยูในรูป e x ดังนั้น ถาเราตองการหาคา e3 ก็สามารถพิมพคาสั่งไดดังนี้ ํ >> exp(3) ans = 20.0855 สวนฟงกชันลอการิทึมนั้นเนื่องจากมีหลายฐาน โดยถาเปนฟงกชันลอการิทึมฐานธรรมชาติ (natural logarithm) ก็พิมพวา >> log(1) log ans = 0 แตถาตองการใชฟงกชันลอการิทึมฐานสิบ เราก็พมพวา ิ >> log10(10) log10 ans = 1
  • 10.
    10 บทที่ 1 เริ่มตนกับแมทแลบ 1.4.3 การหาคารากของจํานวนจริง เริ่มตนจากการหาคารากที่สอง เชน ตองการหาคารากที่สองของ 7 โดยใชคําสั่ง ตามปกติวา  >> sqrt(7) sqrt ans = 2.6458 สวนคารากอันดับอื่น ๆ เชน คารากที่สาม เราตองใชการยกกําลังเขามาชวย ยกตัวอยางเชน ตองการหาคารากที่สามของ 8 เราก็พิมพวา >> 8^(1/3) ans = 2 1.4.4 คําสั่งอื่น ๆ ที่เปนประโยชน จากตัว อยางที่ แ สดงข างต น จะเห็ น ได วา ผลลั พ ธ จ ากการคํา นวณนั้น ถูก แสดง ออกมาโดยมีความละเอียดถึงทศนิยมตําแหนงที่ 4 แตถาเราตองการใหผลลัพธที่แสดงมีความ ละเอียดมากขึ้นไปอีก ใหพิมพคําสั่งดังนี้ >> format long format การคํานวณที่เกิดขึ้นหลังจากนี้ จะถูกแสดงดวยความละเอียดถึงทศนิยมตําแหนงที่ 15 ดังนี้ >> sqrt(6) ans = 2.449489742783178 และถาตองการใหการแสดงผลลัพธกลับไปเปนเชนเดิม ก็ใหพิมพคําสั่งดังนี้ >> format short สําหรับการแสดงผลลัพธในรูปแบบอื่น ๆ เราใชคําสั่งดังแสดงในตัวอยางตอไปนี้ >> format short e >> sqrt(6)