สคริปต์
นอกจากการทำงานบนบรรทัดคำสั่งแล้ว ยังมีวิธีอื่นในการรันคำสั่งอีกด้วย นี่คือการเขียนโปรแกรม
สคริปต์คือลำดับของคำสั่ง MATLAB ที่เขียนในไฟล์ที่มีนามสกุล “.m” เหล่านี้เป็นไฟล์ข้อความปกติ คุณสามารถใช้โปรแกรมแก้ไขข้อความใดก็ได้เพื่อเขียน
โดยทั่วไปแล้วในการสร้างสคริปต์ก็เพียงพอแล้วที่จะมีโปรแกรมแก้ไขข้อความทั่วไป เราจะใช้เครื่องมือแก้ไขที่สร้างไว้ในสภาพแวดล้อม MATLAB ใช้ปุ่มสคริปต์ใหม่ที่มุมซ้ายบนเพื่อสร้างสคริปต์ใหม่ หลังจากคลิกปุ่มนี้ หน้าต่างแก้ไขข้อความจะปรากฏขึ้น (รูปที่ 5)
รูปที่ 5. โปรแกรมแก้ไขโค้ด MATLAB มาสร้างโปรแกรมขนาดเล็กกันดีกว่า:
fprintf("สวัสดีชาวโลก!\n")
ตอนนี้คุณต้องบันทึกสคริปต์นี้ โดยคลิกที่ปุ่ม "บันทึก" ที่มุมซ้ายบน หลังจากนั้น MATLAB จะเสนอให้บันทึกลงในไดเร็กทอรีปัจจุบัน ("โฟลเดอร์ปัจจุบัน") ตั้งชื่อสคริปต์ว่า "Example1.m" แล้วบันทึก ขอแนะนำให้บันทึกสคริปต์ไว้ในไดเร็กทอรีปัจจุบัน ดังนั้น MATLAB จะค้นหาสคริปต์ที่จะรัน
ในโฟลเดอร์ที่แสดงอยู่ในตัวแปรเส้นทาง MATLAB ภายใน รายการนี้ยังรวมไดเร็กทอรีปัจจุบันซึ่งแสดงในสภาพแวดล้อม MATLAB ทางด้านขวาในพื้นที่ลอยแบบพิเศษ ตามค่าเริ่มต้น สคริปต์จะถูกบันทึกลงในไดเร็กทอรีปัจจุบัน ดังนั้นคุณจึงสามารถเรียกสคริปต์ได้ทันที คุณสามารถเรียกใช้สคริปต์ได้โดยป้อนชื่อ (ชื่อของไฟล์ m ที่ถูกบันทึกไว้) ในบรรทัดคำสั่งแล้วกดปุ่ม "Enter" หรือปุ่ม "Run" ในตัวแก้ไขโค้ด ในทั้งสองกรณี หน้าต่างคำสั่งจะแสดงผลลัพธ์ต่อไปนี้:
>> ตัวอย่างที่ 1 สวัสดีชาวโลก!
ลองดูอีกตัวอย่างหนึ่ง มีสคริปต์:
x = 0:0.02:2*ไพ; ก = 0.3;
y = a * บาป(x) + b * cos(x); โครงเรื่อง(x, y)
มาบันทึกลงในไฟล์ Example2.m แล้วรัน ดังนั้น MATLAB จะคำนวณและแสดงกราฟของฟังก์ชัน y = a sin(x)+ b cos(x)
นอกจากนี้เรายังทราบด้วยว่าหลังจากรันสคริปต์แล้ว ตัวแปร x, a, b และ y ปรากฏในหน้าต่าง "พื้นที่ทำงาน" เพื่ออธิบายว่าทำไมสิ่งนี้ถึงเกิดขึ้น ให้พิจารณาแนวคิดที่สำคัญมากใน MATLAB ของพื้นที่ทำงาน
พื้นที่ทำงานใน MATLAB
พื้นที่ทำงานของระบบ MATLAB คือพื้นที่หน่วยความจำซึ่งมีตัวแปรระบบอยู่ พื้นที่ทำงานมีสองประเภทใน MATLAB:
พื้นที่ทำงานฐาน - พื้นที่ทำงานฐาน
พื้นที่ทำงานของฟังก์ชัน - พื้นที่ทำงานของฟังก์ชัน
ตัวแปรทั้งหมดในพื้นที่ทำงานจะมีอยู่ในพื้นที่ทำงานนับจากเวลาที่มีการประกาศเมื่อทำงานกับพื้นที่ทำงาน จนกระทั่งถูกลบออกอย่างชัดเจนโดยใช้คำสั่ง clear หรือจนกระทั่งสิ้นสุดอายุการใช้งานของพื้นที่ทำงาน เช่น การปิด MATLAB สำหรับพื้นที่ทำงานพื้นฐาน
เมื่อสคริปต์ถูกเรียกใช้งาน สคริปต์จะไม่สร้างเวิร์กสเปซใหม่ แต่จะทำงานกับเวิร์กสเปซที่ถูกเรียกใช้
เมื่อเราเรียกสคริปต์จากหน้าต่างคำสั่ง สคริปต์จะทำงานกับพื้นที่ทำงานพื้นฐาน ดังนั้นตัวแปรทั้งหมดที่เราสร้างก่อนที่จะเรียกใช้สคริปต์จึงพร้อมใช้งาน นอกจากนี้ หากสคริปต์สร้างตัวแปรเพิ่มเติม ตัวแปรเหล่านั้นจะยังคงใช้งานได้หลังจากนั้น
ความสมบูรณ์ของมัน
ความคิดเห็น
ถือเป็นรูปแบบที่ดีในการเขียนโค้ดซอฟต์แวร์เพื่อเขียนความคิดเห็นเกี่ยวกับโค้ดที่คุณเขียน ความคิดเห็นไม่มีผลกระทบต่อการทำงานของโปรแกรมแต่อย่างใดและให้บริการเพื่อให้ข้อมูลเพิ่มเติม ความคิดเห็นจะช่วยให้ผู้อื่นเข้าใจอัลกอริทึมของคุณและช่วยให้คุณจดจำสาระสำคัญของสิ่งที่คุณเขียนหลังจากช่วงระยะเวลาหนึ่งเมื่อคุณลืมสิ่งที่คุณตั้งโปรแกรมไว้แล้ว MATLAB ใช้สัญลักษณ์ "%" เพื่อระบุจุดเริ่มต้นของความคิดเห็น
% การสร้างตัวเลขสุ่มแบบกระจายสม่ำเสมอ
% การคำนวณความคาดหวังทางคณิตศาสตร์ของตัวเลขที่สร้างขึ้น
% การแสดงข้อมูลบนกราฟ
% 50 ตัวเลขสุ่ม |
|
% สร้างและกำหนดเวกเตอร์ของการสุ่ม |
|
ค่าของตัวแปร r |
|
% แสดงเวกเตอร์ที่สร้างขึ้นบนกราฟ |
|
% ลากเส้น | ถึง (0, ม.) และ (n, ม.) |
% คำนวณค่าเฉลี่ยเลขคณิตของค่าต่างๆ |
|
เวกเตอร์อาร์ | |
พล็อต(,) | |
title("ค่าเฉลี่ยของข้อมูลชุดสุ่ม") % ชื่อแผนภูมิ
ฟังก์ชั่น
โปรแกรม MATLAB อีกประเภทหนึ่งคือฟังก์ชัน เมื่อเรียกใช้ฟังก์ชันต่างจากสคริปต์ตรงที่ฟังก์ชันจะสร้างพื้นที่ทำงานใหม่ ดังนั้นตัวแปรที่ประกาศไว้ภายนอกโค้ดจะไม่สามารถมองเห็นได้ภายในฟังก์ชัน ดังนั้นจึงใช้พารามิเตอร์อินพุตและเอาต์พุตเพื่อสื่อสารฟังก์ชันกับโค้ดภายนอก ลองดูที่ไวยากรณ์ทั่วไปสำหรับการประกาศฟังก์ชัน:
ฟังก์ชั่น = function_name(x1,...,xM) ตัวดำเนินการ_1 ตัวดำเนินการ_2
ตัวดำเนินการ_n สิ้นสุด
ฟังก์ชันนี้มีอยู่ในไฟล์ m แยกต่างหาก
ฟังก์ชันเริ่มต้นด้วยฟังก์ชันคำหลักตามด้วยสี่เหลี่ยม
ชื่อของตัวแปรเอาต์พุตจะถูกคั่นด้วยเครื่องหมายจุลภาคในวงเล็บ ถัดมาเป็นเครื่องหมาย “=” และชื่อของฟังก์ชัน ชื่อฟังก์ชันเป็นไปตามกฎเดียวกันกับชื่อตัวแปร นอกจากนี้เรายังทราบด้วยว่าชื่อของฟังก์ชันจะต้องตรงกับชื่อของไฟล์ที่ถูกกำหนดไว้ หลังชื่อฟังก์ชัน ชื่อของพารามิเตอร์อินพุตจะถูกคั่นด้วยเครื่องหมายจุลภาคในวงเล็บ
บรรทัดต่อไปนี้มีส่วนเนื้อหาของฟังก์ชัน (นิพจน์ MATLAB ที่ถูกต้องใดๆ)
ฟังก์ชันลงท้ายด้วยคีย์เวิร์ด end อย่างไรก็ตาม นี่เป็นทางเลือกและสามารถละเว้นได้
โปรดทราบว่าหากฟังก์ชันส่งคืนพารามิเตอร์เพียงตัวเดียว ก็ไม่จำเป็นต้องอยู่ในวงเล็บเหลี่ยม ตัวอย่างเช่น
ฟังก์ชัน s = triaArea(a, b)
% การคำนวณพื้นที่ของสามเหลี่ยมมุมฉาก
% a, b - ขาของสามเหลี่ยม
s = ก * ข / 2; จบ
หากฟังก์ชันไม่ส่งคืนพารามิเตอร์เลย ทันทีหลังจากคีย์เวิร์ดของฟังก์ชัน ชื่อของฟังก์ชันจะปรากฏขึ้นมา เช่น:
ฟังก์ชั่น helloWorld()
% ตัวอย่างของฟังก์ชันที่ไม่มีพารามิเตอร์อินพุตและเอาต์พุต disp("Hello world!");
ไวยากรณ์ต่อไปนี้ใช้ในการเรียกใช้ฟังก์ชัน:
Function_name(z1,...,zM)
โดยที่ k1, ..., kN เป็นตัวแปรที่จะเขียนค่าเอาต์พุตของฟังก์ชัน az1,..., zM คืออาร์กิวเมนต์ของฟังก์ชัน
หากฟังก์ชันส่งกลับพารามิเตอร์เพียงตัวเดียว ก็สามารถละเว้นวงเล็บเหลี่ยมได้ เช่น:
s = ไตรอาพื้นที่(1,2)
พารามิเตอร์จริงและเป็นทางการของฟังก์ชัน
สิ่งสำคัญคือต้องแยกแยะระหว่างพารามิเตอร์จริงและพารามิเตอร์ที่เป็นทางการของฟังก์ชัน:
พารามิเตอร์จริง - อาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชันเมื่อมีการเรียกใช้
พารามิเตอร์ที่เป็นทางการ - อาร์กิวเมนต์ที่ระบุเมื่อประกาศหรือกำหนดฟังก์ชัน
ให้เราอธิบายความแตกต่างนี้ด้วยตัวอย่าง
นักพัฒนาส่วนใหญ่มีปัญหาในการทำความเข้าใจทั้งไวยากรณ์และความสามารถ ประเด็นก็คือภาษานั้นเกี่ยวข้องโดยตรงกับผลิตภัณฑ์ซอฟต์แวร์ยอดนิยมซึ่งมีต้นทุนที่สามารถเข้าถึงมูลค่าที่น่าอัศจรรย์ได้ ดังนั้นคำถามหลักคือ: ภาษา Matlab นั้นดีขนาดนั้นเลยเหรอ? และมันจะมีประโยชน์สำหรับคุณไหม?
การใช้งาน
อย่าเริ่มต้นด้วยการสำรวจประวัติศาสตร์แบบมาตรฐานและการอภิปรายถึงข้อดีข้อเสียของภาษา แต่ด้วยสภาพแวดล้อมซอฟต์แวร์ MATLAB/Simulink ซึ่งเป็นที่เดียวที่ฮีโร่ของข้อความนี้จะมีประโยชน์ ลองนึกภาพโปรแกรมแก้ไขกราฟิกที่คุณสามารถตระหนักถึงความคิดของคุณโดยไม่ต้องมีประสบการณ์หลายปีและการศึกษาที่เกี่ยวข้องอยู่เบื้องหลังคุณ และเมื่อสร้างโครงร่างสำหรับการโต้ตอบของเครื่องมือแล้ว คุณจะได้รับสคริปต์คุณภาพสูงสำหรับการใช้งานซ้ำ
MATLAB เป็นเพียงเครื่องมือแก้ไขในโลกข้อมูล ขอบเขตการใช้งานนั้นกว้างอย่างไม่มีที่สิ้นสุด: IoT, การเงิน, การแพทย์, พื้นที่, ระบบอัตโนมัติ, หุ่นยนต์, ระบบไร้สาย และอื่นๆ อีกมากมาย โดยทั่วไป มีความเป็นไปได้เกือบไม่จำกัดในการรวบรวมและแสดงข้อมูลเป็นภาพ เช่นเดียวกับการคาดการณ์ แต่ถ้าคุณมีโอกาสซื้อแพ็คเกจที่เหมาะสมเท่านั้น
สำหรับราคา แทบไม่มีขีดจำกัดบน แต่ขีดจำกัดล่างอยู่ที่ประมาณ $99 หากต้องการคว้าผลิตภัณฑ์อันทรงพลังด้วยเงินเพียงเล็กน้อย คุณต้องเป็นนักศึกษามหาวิทยาลัย และแน่นอนว่าคุณจะได้รับสินค้าที่ค่อนข้างจำกัด
คุณสมบัติของภาษา
ภาษา MATLAB เป็นเครื่องมือที่ให้การโต้ตอบระหว่างผู้ปฏิบัติงาน (มักจะไม่ใช่โปรแกรมเมอร์ด้วยซ้ำ) ด้วยความสามารถที่มีอยู่ทั้งหมดในการวิเคราะห์ รวบรวม และนำเสนอข้อมูล มีข้อดีและข้อเสียที่ชัดเจนของภาษาที่อาศัยอยู่ในระบบนิเวศแบบปิด
ข้อบกพร่อง:
ภาษาที่ช้าและมากเกินไปพร้อมด้วยตัวดำเนินการ คำสั่ง และฟังก์ชัน โดยมีวัตถุประสงค์หลักคือเพื่อปรับปรุงการรับรู้ทางสายตา
เน้นแคบ. ไม่มีแพลตฟอร์มซอฟต์แวร์อื่นใดที่ MATLAB จะมีประโยชน์
ต้นทุนซอฟต์แวร์สูง หากคุณไม่ใช่นักเรียน ให้เตรียมเงินในกระเป๋าให้ว่างหรือก้าวล้ำเส้นกฎหมาย และถึงแม้จะเป็นนักศึกษาก็ตามราคาก็ถือว่าเหมาะสม
ความต้องการต่ำ แม้ว่า MATLAB จะได้รับความสนใจอย่างมากในเกือบทุกสาขา แต่ก็มีเพียงไม่กี่แห่งเท่านั้นที่ใช้งานจริงและถูกกฎหมาย
ข้อดี:
ภาษาง่ายต่อการเรียนรู้และมีไวยากรณ์ที่เรียบง่ายและเข้าใจได้
โอกาสอันยิ่งใหญ่ แต่นี่เป็นข้อดีของผลิตภัณฑ์โดยรวมมากกว่า
การอัปเดตบ่อยครั้ง ซึ่งโดยปกติแล้วการเปลี่ยนแปลงเชิงบวกที่เห็นได้ชัดเจนจะเกิดขึ้นอย่างน้อยปีละสองครั้ง
สภาพแวดล้อมซอฟต์แวร์ช่วยให้คุณสามารถแปลงเป็นโค้ด "เร็ว" ในภาษา C, C++
กลุ่มเป้าหมาย
แน่นอนว่าไม่ใช่ทุกคนที่ต้องการ MATLAB แม้จะมีแอพพลิเคชั่นที่หลากหลาย แต่ก็เป็นเรื่องยากที่จะจินตนาการว่านักพัฒนาแอพพลิเคชั่นทั่วไปจะต้องการความรู้เกี่ยวกับภาษานี้ MATLAB มีประโยชน์อย่างมากในด้านที่ต้องการการประมวลผลข้อมูลที่มีประสิทธิภาพเป็นพิเศษ เช่น ระบบอัตโนมัติในรถยนต์หรือระบบการบินของเครื่องบิน
นั่นคือหากคุณไม่ใช่โปรแกรมเมอร์มากนัก แต่อย่างใดอาชีพของคุณเกี่ยวข้องกับความต้องการในการประมวลผลข้อมูลทางโปรแกรม ผลิตภัณฑ์ MATLAB/Simulink ที่มีภาษาที่เหมาะสมสามารถช่วยให้งานประจำวันของคุณง่ายขึ้นอย่างมาก
วรรณกรรม
เราสรุปการทบทวนภาษาเช่นเคยพร้อมรายการวรรณกรรมเพื่อการศึกษา แน่นอนว่าคุณจะไม่พบหนังสือเกี่ยวกับภาษานั้นโดยเฉพาะ แต่จะทำให้การรับรู้ภาษาง่ายขึ้นเท่านั้น:
คุณมีประสบการณ์กับ MATLAB หรือไม่? และอันไหน?
สำหรับผู้ที่อยากเป็นโปรแกรมเมอร์ - .
คำแนะนำ
สภาพแวดล้อม MATLAB มีโหมดการทำงานหลายโหมด วิธีที่ง่ายที่สุดคือการป้อนคำสั่งลงในหน้าต่างคำสั่งโดยตรง ( หน้าต่างคำสั่ง).
หากไม่ปรากฏในอินเทอร์เฟซของโปรแกรมคุณจะต้องเปิดมัน คุณสามารถค้นหาหน้าต่างคำสั่งได้จากเมนู เดสก์ท็อป -> หน้าต่างคำสั่ง.
ตัวอย่างเช่น ให้ป้อนคำสั่ง “x = ; y = sqrt(x); plot(y);” ลงในหน้าต่างนี้ตามลำดับแล้วกดปุ่ม “Enter” ( เข้า- โปรแกรมจะสร้างตัวแปร X ทันที สร้างตัวแปร Y และคำนวณค่าสำหรับฟังก์ชันที่กำหนด จากนั้นจึงสร้างกราฟ
การใช้ลูกศรบนแป้นพิมพ์ "ขึ้น" และ "ลง" ในหน้าต่างคำสั่งทำให้เราสามารถสลับระหว่างคำสั่งที่ป้อนทั้งหมด เปลี่ยนคำสั่งได้ทันทีหากจำเป็น และโดยการกด Enter อีกครั้งเพื่อส่งคำสั่งเหล่านั้นไปยังสภาพแวดล้อม MATLAB เพื่อดำเนินการ
สะดวกสบาย? ไม่ต้องสงสัยเลย และที่สำคัญที่สุด - รวดเร็วมาก การดำเนินการทั้งหมดนี้ใช้เวลาไม่กี่วินาที
แต่ถ้าคุณต้องการองค์กรทีมที่ซับซ้อนกว่านี้ล่ะ? หากคุณต้องการดำเนินการคำสั่งบางคำสั่งแบบวนรอบ? การป้อนคำสั่งด้วยตนเองทีละครั้งแล้วค้นหาประวัติเป็นเวลานานอาจค่อนข้างน่าเบื่อ
เพื่อให้ชีวิตของนักวิทยาศาสตร์ วิศวกร หรือนักศึกษาง่ายขึ้น มีหน้าต่างแก้ไข ( บรรณาธิการ- มาเปิดหน้าต่างตัวแก้ไขผ่านเมนูกัน เดสก์ท็อป -> บรรณาธิการ.
ที่นี่คุณสามารถสร้างตัวแปรใหม่ สร้างกราฟ เขียนโปรแกรม (สคริปต์) สร้างส่วนประกอบเพื่อแลกเปลี่ยนกับสภาพแวดล้อมอื่นๆ สร้างแอปพลิเคชันด้วยอินเทอร์เฟซผู้ใช้ (GUI) และแก้ไขที่มีอยู่ แต่ปัจจุบันเราสนใจที่จะเขียนโปรแกรมที่มีฟังก์ชั่นต่างๆ เพื่อนำกลับมาใช้ใหม่ในอนาคต เรามาเข้าเมนูกันดีกว่า ไฟล์และเลือก ใหม่ -> เอ็ม-ไฟล์.
ในฟิลด์ตัวแก้ไขเราจะเขียนโปรแกรมง่ายๆ แต่ซับซ้อนเล็กน้อย:
ฟังก์ชั่น Draw_plot(x)
y = บันทึก(x); % ตั้งค่าฟังก์ชันแรก
แผนย่อย (1, 2, 1), โครงเรื่อง (x, y); % การสร้างกราฟแรก
y = sqrt(x); % ตั้งค่าฟังก์ชันที่สอง
แผนย่อย (1, 2, 2), โครงเรื่อง (x, y); % การสร้างกราฟที่สอง
เราได้เพิ่มฟังก์ชันที่สองและจะแสดงกราฟสองกราฟติดกัน เครื่องหมายเปอร์เซ็นต์แสดงถึงความคิดเห็นใน MATLAB
อย่าลืมบันทึกโปรแกรม นามสกุลไฟล์มาตรฐานสำหรับโปรแกรม Matlab คือ *.ม.
ตอนนี้ปิดตัวแก้ไขและหน้าต่างด้วยกราฟที่เราสร้างไว้ก่อนหน้านี้
กลับไปที่หน้าต่างคำสั่ง
คุณสามารถล้างประวัติคำสั่งเพื่อให้ข้อมูลที่ไม่จำเป็นไม่รบกวนเรา ในการดำเนินการนี้ให้คลิกขวาที่ช่องป้อนคำสั่งและเลือกรายการในเมนูบริบทที่เปิดขึ้น ล้างหน้าต่างคำสั่ง.
เรายังมีตัวแปร X จากการทดลองครั้งก่อน เราไม่ได้เปลี่ยนแปลงหรือลบมัน ดังนั้นคุณจึงสามารถเข้าสู่หน้าต่างคำสั่งได้ทันที:
Draw_plot(x);
คุณจะเห็นว่า MATLAB จะอ่านฟังก์ชันของเราจากไฟล์และดำเนินการโดยวาดกราฟ
สภาพแวดล้อม MATLAB มีโหมดการทำงานหลายโหมด วิธีที่ง่ายที่สุดคือการป้อนคำสั่งลงในหน้าต่างคำสั่งโดยตรง ( หน้าต่างคำสั่ง).
หน้าต่างคำสั่ง MATLAB
หากไม่ปรากฏในอินเทอร์เฟซของโปรแกรม ให้เปิดขึ้นมา คุณสามารถค้นหาหน้าต่างคำสั่งได้จากเมนู เดสก์ท็อป หน้าต่างคำสั่ง.
ตัวอย่างเช่น ป้อนคำสั่งลงในหน้าต่างนี้ทีละคำสั่ง:
เอ็กซ์ = ; y = sqrt(x); พล็อต(y);
และกดปุ่ม Enter ( เข้า- โปรแกรมจะสร้างตัวแปร X ทันที สร้างตัวแปร Y และคำนวณค่าของมันสำหรับฟังก์ชันที่กำหนด จากนั้นจึงพล็อตมัน
การใช้ลูกศรขึ้นและลงบนแป้นพิมพ์ในหน้าต่างคำสั่ง เราสามารถสลับระหว่างคำสั่งที่ป้อน เปลี่ยนได้ทันที และโดยการกด เข้าส่งไปยังสภาพแวดล้อม MATLAB เพื่อดำเนินการ การใช้ลูกศรซ้ายและขวาคุณสามารถนำทางผ่านคำสั่งที่ป้อนและแก้ไขได้ หากมีเครื่องหมายอัฒภาคต่อท้ายคำสั่ง ผลลัพธ์จะถูกคำนวณ แต่จะไม่แสดงในหน้าต่างคำสั่ง มิฉะนั้นผลลัพธ์ของคำสั่งจะแสดงทันที สำหรับฟังก์ชันใดๆ ในสภาพแวดล้อม MATLAB จะมีวิธีใช้ในตัวโดยละเอียด เช่น เพื่อขอความช่วยเหลือตามคำสั่ง พล็อตเลือกคำสั่งนี้ คลิกขวาที่คำสั่งนั้น และในเมนูบริบทที่เปิดขึ้น ให้เลือก ความช่วยเหลือในการเลือกหรือกดปุ่ม F1.
ขอความช่วยเหลือเกี่ยวกับคำสั่ง MATLABสะดวกสบาย? ไม่ต้องสงสัยเลย และที่สำคัญที่สุด - รวดเร็วมาก การดำเนินการทั้งหมดนี้ใช้เวลาไม่กี่วินาที
แต่ถ้าคุณต้องการองค์กรทีมที่ซับซ้อนกว่านี้ล่ะ? หากคุณต้องการดำเนินการคำสั่งบางคำสั่งแบบวนรอบ? การป้อนคำสั่งด้วยตนเองทีละครั้งแล้วค้นหาประวัติเป็นเวลานานอาจค่อนข้างน่าเบื่อ
2 ทำงานร่วมกับบรรณาธิการในสภาพแวดล้อม MATLAB
เพื่อให้ชีวิตของนักวิทยาศาสตร์ วิศวกร หรือนักศึกษาง่ายขึ้น มีหน้าต่างแก้ไข ( บรรณาธิการ- มาเปิดหน้าต่างตัวแก้ไขผ่านเมนูกัน เดสก์ท็อป บรรณาธิการ.
ในหน้าต่างตัวแก้ไข คุณสามารถสร้างตัวแปรใหม่ สร้างกราฟ เขียนโปรแกรม (สคริปต์) สร้างส่วนประกอบเพื่อแลกเปลี่ยนกับสภาพแวดล้อมอื่น สร้างแอปพลิเคชันด้วยอินเทอร์เฟซผู้ใช้ (GUI) และแก้ไขที่มีอยู่
ขณะนี้เราสนใจที่จะเขียนโปรแกรมที่มีฟังก์ชั่นต่างๆ เพื่อนำกลับมาใช้ใหม่ในอนาคต เรามาเข้าเมนูกันดีกว่า ไฟล์แก้ไขและเลือก ใหม่ เอ็ม-ไฟล์.
ไฟล์ M ในสภาพแวดล้อม MATLAB คือไฟล์ที่มีข้อความโปรแกรม (สคริปต์) หรือฟังก์ชันที่ผู้ใช้กำหนด
มาเขียนฟังก์ชันง่ายๆ ในตัวแก้ไขกันดีกว่า Draw_plot:
ฟังก์ชั่น Draw_plot(x)% ตั้งค่าฟังก์ชันแรก: y = log(x); % เราสร้างกราฟแรก: แผนย่อย (1, 2, 1), พล็อต (x, y); % ตั้งค่าฟังก์ชันที่สอง: y = sqrt(x); % เราสร้างกราฟที่สอง: แผนย่อย (1, 2, 2), พล็อต (x, y);กลับไปที่หน้าต่างคำสั่ง
คุณสามารถล้างประวัติคำสั่งเพื่อให้ข้อมูลที่ไม่จำเป็นไม่รบกวนเรา ในการดำเนินการนี้ให้คลิกขวาที่ช่องป้อนคำสั่งและเลือกรายการในเมนูบริบทที่เปิดขึ้น ล้างหน้าต่างคำสั่ง.
เรายังมีตัวแปร X จากการทดลองครั้งก่อน เราไม่ได้เปลี่ยนแปลงหรือลบมัน ดังนั้นคุณจึงสามารถเข้าสู่หน้าต่างคำสั่งได้ทันที:
Draw_plot(x);
คุณจะเห็นว่า MATLAB จะอ่านฟังก์ชันของเราจากไฟล์และดำเนินการโดยวาดกราฟ
หาก MATLAB ส่งข้อความเมื่อรันโปรแกรม ฟังก์ชันหรือเมธอดที่ไม่ได้กำหนด "draw_plot" สำหรับอาร์กิวเมนต์อินพุตประเภท "double"(เช่น มีการเรียกฟังก์ชันที่ไม่รู้จัก) ให้คลิกปุ่มลูกศรสีเขียวในหน้าต่างตัวแก้ไข ( วิ่ง) หรือผ่านเมนูตัวแก้ไข: ดีบัก เรียกใช้ Draw_plot.m- MATLAB จะรายงานว่าไดเร็กทอรีที่มีไฟล์โปรแกรมของเรา (draw_plot.m) ไม่ใช่ไดเร็กทอรีที่ทำงาน คลิกปุ่มในกล่องโต้ตอบ เพิ่มไปยังเส้นทางเพื่อให้ MATLAB เพิ่มไดเร็กทอรีลงในเส้นทางการทำงานและสามารถใช้ M-file ของเราได้ หลังจากนี้โปรแกรมควรเริ่มทำงานตามปกติ
- ในบรรดาเครื่องมืออเนกประสงค์ที่ใช้ในเคมีเคมี แพ็คเกจ MatLab ตรงบริเวณที่พิเศษ ความนิยมของเขาสูงผิดปกติ เนื่องจาก MatLab มีประสิทธิภาพและอเนกประสงค์สำหรับการประมวลผลข้อมูลหลายมิติ โครงสร้างของแพ็คเกจทำให้เป็นเครื่องมือที่สะดวกสำหรับการคำนวณเมทริกซ์ ช่วงของปัญหาที่สามารถศึกษาได้โดยใช้ MatLab ได้แก่ การวิเคราะห์เมทริกซ์ การประมวลผลสัญญาณและภาพ โครงข่ายประสาทเทียม และอื่นๆ อีกมากมาย MatLab เป็นภาษาโอเพ่นซอร์สระดับสูงที่ช่วยให้ผู้ใช้ขั้นสูงเข้าใจอัลกอริธึมที่ตั้งโปรแกรมไว้ ภาษาการเขียนโปรแกรมในตัวที่เรียบง่ายทำให้การสร้างอัลกอริทึมของคุณเองเป็นเรื่องง่าย ตลอดหลายปีที่ผ่านมาของการใช้ MatLab ได้มีการสร้างฟังก์ชันและ ToolBoxes (แพ็คเกจเครื่องมือพิเศษ) จำนวนมากขึ้นมา ที่ได้รับความนิยมมากที่สุดคือแพ็คเกจ PLS ToolBox จาก Eigenvector Research, Inc.
1. ข้อมูลพื้นฐาน
1.1. บรรยากาศการทำงานของ MatLab
หากต้องการเปิดโปรแกรมให้ดับเบิลคลิกที่ไอคอน
สภาพแวดล้อมการทำงานที่แสดงในภาพจะเปิดตรงหน้าคุณ สภาพแวดล้อมในการทำงาน MatLab 6.x
สภาพแวดล้อมการทำงานที่แสดงในภาพจะเปิดตรงหน้าคุณ สภาพแวดล้อมในการทำงานแตกต่างจากพื้นที่ทำงานของเวอร์ชันก่อนหน้าเล็กน้อย แต่ก็มีอินเทอร์เฟซที่สะดวกกว่าสำหรับการเข้าถึงองค์ประกอบที่รองรับมากมาย
ประกอบด้วยองค์ประกอบดังต่อไปนี้:
แถบเครื่องมือพร้อมปุ่มและรายการแบบเลื่อนลง หน้าต่างที่มีแท็บ Launch Pad และพื้นที่ทำงาน
ซึ่งคุณสามารถเข้าถึงโมดูล ToolBox และเนื้อหา workbench ต่างๆ หน้าต่างแบบแท็บประวัติคำสั่ง และไดเรกทอรีปัจจุบัน
มีไว้สำหรับดูและเรียกใช้คำสั่งที่ป้อนไว้ก่อนหน้านี้อีกครั้งรวมถึงการตั้งค่าไดเร็กทอรีปัจจุบัน
หน้าต่างคำสั่งที่มีพรอมต์ "อินพุต" และเคอร์เซอร์แนวตั้งกะพริบ
แถบสถานะ สภาพแวดล้อมในการทำงานหากอยู่ในสภาพแวดล้อมการทำงาน หากหน้าต่างบางบานที่แสดงในภาพหายไป คุณควรเลือกรายการที่เหมาะสมในเมนูมุมมอง:หน้าต่างคำสั่ง
ควรพิมพ์คำสั่งในหน้าต่างคำสั่ง ไม่จำเป็นต้องพิมพ์สัญลักษณ์ » ซึ่งระบุพรอมต์บรรทัดคำสั่ง หากต้องการดูพื้นที่ทำงาน จะสะดวกในการใช้แถบเลื่อนหรือหน้าแรก ปุ่มวางสายเพื่อเลื่อนไปทางซ้ายหรือขวา และ PageUp, PageDown เพื่อเลื่อนขึ้นหรือลง หากจู่ๆ หลังจากเคลื่อนที่ไปรอบๆ พื้นที่ทำงานของหน้าต่างคำสั่ง บรรทัดคำสั่งที่มีเคอร์เซอร์กะพริบหายไป เพียงแค่กด Enter
สิ่งสำคัญคือต้องจำไว้ว่าการพิมพ์คำสั่งหรือนิพจน์ใดๆ จะต้องลงท้ายด้วยการกด Enter เพื่อให้ MatLab ดำเนินการคำสั่งนั้นหรือประเมินนิพจน์นั้น
1.2. การคำนวณอย่างง่าย
พิมพ์ 1+2 ที่บรรทัดคำสั่งแล้วกด Enter ด้วยเหตุนี้ หน้าต่างคำสั่ง MatLab จึงแสดงข้อมูลต่อไปนี้:
ข้าว. 2 การแสดงกราฟิกของการวิเคราะห์องค์ประกอบหลัก
โปรแกรม MatLab ทำอะไร? ขั้นแรก เธอคำนวณผลรวม 1+2 จากนั้นเขียนผลลัพธ์ลงในตัวแปรพิเศษ ans และแสดงค่าของมันเท่ากับ 3 ในหน้าต่างคำสั่ง ด้านล่างการตอบสนองคือบรรทัดคำสั่งที่มีเคอร์เซอร์กะพริบ ซึ่งบ่งชี้ว่า MatLab พร้อมสำหรับการคำนวณเพิ่มเติม เข้าคุณสามารถพิมพ์นิพจน์ใหม่บนบรรทัดคำสั่งและค้นหาความหมายได้
หากคุณต้องการทำงานกับนิพจน์ก่อนหน้าต่อไป เช่น คำนวณ (1+2)/4.5 วิธีที่ง่ายที่สุดคือใช้ผลลัพธ์ที่มีอยู่ ซึ่งจัดเก็บไว้ในตัวแปร ans
พิมพ์ ans/4.5 (ใช้จุดเมื่อป้อนทศนิยม) แล้วกด
ปรากฎว่า
ข้าว. 3 การแสดงกราฟิกของการวิเคราะห์องค์ประกอบหลัก
1.3. คำสั่งเอคโค่
วิธีที่ง่ายที่สุดในการบันทึกค่าตัวแปรทั้งหมดคือการใช้ตัวเลือกบันทึกพื้นที่ทำงานเป็นในเมนูไฟล์
ซึ่งจะเปิดกล่องโต้ตอบบันทึกตัวแปรพื้นที่ทำงาน ซึ่งคุณต้องระบุไดเร็กทอรีและชื่อไฟล์ ตามค่าเริ่มต้น แนะนำให้บันทึกไฟล์ไว้ในไดเร็กทอรีย่อยงานของไดเร็กทอรี MatLab หลัก โปรแกรมจะบันทึกผลงานเป็นไฟล์พร้อมแผ่นนามสกุล ตอนนี้คุณสามารถปิด MatLab ได้แล้ว ในเซสชันการทำงานครั้งถัดไป หากต้องการคืนค่าตัวแปร คุณควรเปิดไฟล์ที่บันทึกไว้นี้โดยใช้รายการย่อย Open ของเมนู File ตอนนี้ตัวแปรทั้งหมดที่กำหนดไว้ในเซสชันล่าสุดจะพร้อมใช้งานอีกครั้ง สามารถใช้ในคำสั่งที่ป้อนใหม่ได้
1.5. นิตยสาร MatLab มีความสามารถในการเขียนคำสั่งปฏิบัติการและผลลัพธ์ลงในไฟล์ข้อความ (เก็บบันทึกการทำงาน) ซึ่งสามารถอ่านหรือพิมพ์ได้จากโปรแกรมแก้ไขข้อความ หากต้องการเริ่มการบันทึกให้ใช้คำสั่งไดอารี่ MatLab มีความสามารถในการเขียนคำสั่งปฏิบัติการและผลลัพธ์ลงในไฟล์ข้อความ (เก็บบันทึกการทำงาน) ซึ่งสามารถอ่านหรือพิมพ์ได้จากโปรแกรมแก้ไขข้อความ หากต้องการเริ่มการบันทึกให้ใช้คำสั่ง- เป็นอาร์กิวเมนต์คำสั่ง
คุณควรระบุชื่อไฟล์ที่จะจัดเก็บบันทึกการทำงาน
คำสั่งที่พิมพ์เพิ่มเติมและผลลัพธ์ของการดำเนินการจะถูกเขียนลงในไฟล์นี้ เช่น ลำดับของคำสั่ง
ดำเนินการต่อไปนี้:
เปิดบันทึกในไฟล์ examplepl-1.txt;
ทำการคำนวณ
บันทึกตัวแปรทั้งหมดในไฟล์ MAT work-1.mat ;
บันทึกบันทึกในไฟล์ examplel-1.txt ในไดเรกทอรีย่อยการทำงานของไดเรกทอรีราก MatLab และปิด MatLab ดูเนื้อหาของไฟล์ examplepl-1.txt ในโปรแกรมแก้ไขข้อความบางตัว ไฟล์จะมีข้อความต่อไปนี้: ก1=3; ก2=2.5; |
บันทึกงาน-1
ล้มเลิก 1.6. ระบบช่วยเหลือหน้าต่างวิธีใช้ MatLab จะปรากฏขึ้นหลังจากเลือกตัวเลือกหน้าต่างวิธีใช้จากเมนูวิธีใช้หรือโดยการคลิกปุ่มคำถามบนแถบเครื่องมือ การดำเนินการเดียวกันนี้สามารถทำได้โดยการพิมพ์คำสั่งช่วยด้วย
- หากต้องการแสดงหน้าต่างวิธีใช้สำหรับแต่ละหัวข้อ ให้พิมพ์
หัวข้อช่วยเหลือ
- หน้าต่างวิธีใช้จะให้ข้อมูลเดียวกันกับคำสั่งวิธีใช้ แต่อินเทอร์เฟซของหน้าต่างจะให้ลิงก์ไปยังหัวข้อวิธีใช้อื่นๆ ที่สะดวกกว่า ด้วยการใช้ที่อยู่ของเว็บเพจ Math Works คุณสามารถเข้าถึงเซิร์ฟเวอร์ของบริษัทและรับข้อมูลล่าสุดเกี่ยวกับประเด็นที่คุณสนใจ คุณสามารถตรวจสอบผลิตภัณฑ์ซอฟต์แวร์ใหม่หรือค้นหาคำตอบสำหรับปัญหาของคุณได้ที่หน้าสนับสนุนทางเทคนิค
โปรดทราบว่า MatLab แยกความแตกต่างระหว่างอักษรตัวพิมพ์ใหญ่และตัวพิมพ์ใหญ่ ดังนั้น p และ P จึงเป็นตัวแปรที่แตกต่างกัน ในการป้อนอาร์เรย์ (เวกเตอร์หรือเมทริกซ์) องค์ประกอบจะอยู่ในวงเล็บเหลี่ยม
ดังนั้น หากต้องการป้อนเวกเตอร์แถวขนาด 1x3 ให้ใช้คำสั่งต่อไปนี้ โดยองค์ประกอบแถวจะถูกคั่นด้วยช่องว่างหรือลูกน้ำ
เมื่อป้อนเวกเตอร์คอลัมน์ องค์ประกอบต่างๆ จะถูกคั่นด้วยเครื่องหมายอัฒภาค
ตัวอย่างเช่น,
สะดวกในการป้อนเมทริกซ์ขนาดเล็กโดยตรงจากบรรทัดคำสั่ง ในการป้อนข้อมูล เมทริกซ์สามารถถือเป็นเวกเตอร์คอลัมน์ได้ โดยแต่ละองค์ประกอบจะเป็นเวกเตอร์แถว
หรือเมทริกซ์สามารถถือเป็นเวกเตอร์แถวได้ โดยแต่ละองค์ประกอบจะเป็นเวกเตอร์คอลัมน์
2.2. การเข้าถึงองค์ประกอบ
การเข้าถึงองค์ประกอบเมทริกซ์ดำเนินการโดยใช้สองดัชนี - หมายเลขแถวและคอลัมน์ที่อยู่ในวงเล็บ ตัวอย่างเช่น คำสั่ง B(2,3) จะส่งคืนองค์ประกอบของแถวที่สองและคอลัมน์ที่สามของเมทริกซ์ B หากต้องการเลือกคอลัมน์หรือแถวจากเมทริกซ์ ให้ใช้หมายเลขคอลัมน์หรือแถวของเมทริกซ์เป็นหนึ่งในดัชนี และแทนที่ดัชนีอื่นด้วยเครื่องหมายโคลอน ตัวอย่างเช่น ลองเขียนแถวที่สองของเมทริกซ์ A ลงในเวกเตอร์ z คุณยังสามารถเลือกบล็อกเมทริกซ์โดยใช้เครื่องหมายทวิภาคได้ ตัวอย่างเช่น ลองเลือกบล็อกที่มีเครื่องหมายสีจากเมทริกซ์ P .
หากคุณต้องการดูตัวแปรสภาพแวดล้อมการทำงาน คุณต้องพิมพ์คำสั่งบนบรรทัดคำสั่ง
ใคร
จะเห็นได้ว่าสภาพแวดล้อมการทำงานประกอบด้วยหนึ่งสเกลาร์ (p) เมทริกซ์สี่ตัว (A, B, P, P1) และเวกเตอร์แถว (z)
2.3. การดำเนินการเมทริกซ์ขั้นพื้นฐาน
เมื่อใช้การดำเนินการกับเมทริกซ์ โปรดจำไว้ว่าสำหรับการบวกหรือการลบ เมทริกซ์จะต้องมีขนาดเท่ากัน และเมื่อคูณ จำนวนคอลัมน์ของเมทริกซ์แรกจะต้องเท่ากับจำนวนแถวของเมทริกซ์ตัวที่สอง
การบวกและการลบเมทริกซ์ เช่นเดียวกับตัวเลขและเวกเตอร์ ดำเนินการโดยใช้เครื่องหมายบวกและลบ
และการคูณจะมีเครื่องหมายดอกจัน *
ให้เราแนะนำเมทริกซ์ขนาด 3×2 การคูณเมทริกซ์ด้วยตัวเลขก็ทำได้โดยใช้เครื่องหมายดอกจัน และคุณสามารถคูณด้วยตัวเลขได้ทั้งทางขวาและทางซ้าย
การยกเมทริกซ์จตุรัสให้เป็นจำนวนเต็มทำได้โดยใช้ตัวดำเนินการ ^ ตรวจสอบผลลัพธ์ของคุณโดยการคูณเมทริกซ์ P ด้วยตัวมันเอง
2.4. การสร้างเมทริกซ์ชนิดพิเศษ การเติมเมทริกซ์สี่เหลี่ยมด้วยศูนย์จะดำเนินการโดยฟังก์ชันในตัว
MatLab ให้ความสามารถในการเติมเมทริกซ์ด้วยตัวเลขสุ่ม ผลลัพธ์ของฟังก์ชัน แรนด์คือเมทริกซ์ของตัวเลขที่กระจายอย่างสม่ำเสมอระหว่างศูนย์ถึงหนึ่ง และฟังก์ชันต่างๆ แรนด์- เมทริกซ์ของตัวเลขที่แจกแจงตามกฎปกติโดยมีค่าเฉลี่ยและความแปรปรวนของหน่วยเป็นศูนย์
การทำงาน วินิจฉัยสร้างเมทริกซ์แนวทแยงจากเวกเตอร์ โดยจัดเรียงองค์ประกอบตามเส้นทแยงมุม
2.5. การคำนวณเมทริกซ์
MatLab มีฟังก์ชันต่างๆ มากมายสำหรับการทำงานกับเมทริกซ์ ตัวอย่างเช่น การย้ายเมทริกซ์ทำได้โดยใช้เครื่องหมายอะพอสทรอฟี่ "
พบเมทริกซ์ผกผันโดยใช้ฟังก์ชัน ใบแจ้งหนี้สำหรับเมทริกซ์จตุรัส
3. การรวม MatLab และ Excel
การรวม MatLab และ Excel เข้าด้วยกันทำให้ผู้ใช้ Excel สามารถเข้าถึงฟังก์ชัน MatLab มากมายสำหรับการประมวลผลข้อมูล การคำนวณต่างๆ และการแสดงภาพผลลัพธ์ Add-in excllink.xla ใช้งานส่วนขยาย Excel นี้ มีการกำหนดฟังก์ชันพิเศษไว้สำหรับการสื่อสารระหว่าง MatLab และ Excel
3.1. การกำหนดค่า Excel
ก่อนตั้งค่า Excel ให้ทำงานร่วมกับ MatLab คุณควรตรวจสอบให้แน่ใจว่า Excel Link รวมอยู่ใน MatLab เวอร์ชันที่ติดตั้งแล้ว ในไดเร็กทอรีย่อย exclink ของไดเร็กทอรี MatLab หลักหรือไดเร็กทอรีย่อยของกล่องเครื่องมือ ควรมีไฟล์ที่มี add-in excllink.xla เปิด Excel และเลือก Add-in จากเมนูเครื่องมือกล่องโต้ตอบจะปรากฏขึ้นพร้อมข้อมูลเกี่ยวกับ Add-in ที่พร้อมใช้งานในปัจจุบัน ใช้ปุ่มเรียกดู ระบุพาธไปยังไฟล์ excllink.xla บรรทัดจะปรากฏในรายการส่วนเสริมในกล่องโต้ตอบ
Excel Link 2.0 สำหรับใช้กับ MatLab
พร้อมปักธงชัย.
3.2. การแลกเปลี่ยนข้อมูลระหว่าง MatLab และ Excel
เปิด Excel ตรวจสอบว่าได้ตั้งค่าที่จำเป็นทั้งหมดตามที่อธิบายไว้ในส่วนก่อนหน้า (ต้องปิด MatLab) ป้อนเมทริกซ์ในเซลล์ A1 ถึง C3 โดยใช้จุดเพื่อแยกตำแหน่งทศนิยมตามที่ Excel กำหนด
เลือกข้อมูลเซลล์บนแผ่นงานแล้วคลิกปุ่ม putmatrix หน้าต่าง Excel จะปรากฏขึ้นพร้อมคำเตือนว่า MatLab ไม่ทำงาน คลิกตกลง รอให้ MatLab เปิดขึ้นมา
กล่องโต้ตอบ Excel จะปรากฏขึ้นพร้อมกับบรรทัดอินพุตเพื่อระบุชื่อของตัวแปร MatLab workbench ที่ควรส่งออกข้อมูลจากเซลล์ Excel ที่เลือก ตัวอย่างเช่น ป้อน M และปิดหน้าต่างโดยใช้ปุ่ม OK
ไปที่หน้าต่างคำสั่ง MatLab และตรวจสอบให้แน่ใจว่าตัวแปร M ถูกสร้างขึ้นใน workbench ซึ่งมีอาร์เรย์สามคูณสาม:
ทำการดำเนินการบางอย่างใน MatLab ด้วยเมทริกซ์ M เช่น กลับด้าน ใบแจ้งหนี้เรียก
หากต้องการกลับเมทริกซ์ เช่นเดียวกับคำสั่ง MatLab อื่นๆ คุณสามารถทำได้โดยตรงจาก Excel การคลิกที่ปุ่ม evalstring ที่อยู่บนแผงลิงก์ Excel จะทำให้กล่องโต้ตอบปรากฏขึ้น ในบรรทัดอินพุตที่คุณควรพิมพ์คำสั่ง MatLab
IM=inv(M) .
ผลลัพธ์จะคล้ายกับผลลัพธ์ที่ได้รับเมื่อดำเนินการคำสั่งในสภาพแวดล้อม MatLab
กลับไปที่ Excel ทำให้เซลล์ A5 เป็นเซลล์ปัจจุบันแล้วคลิกปุ่ม getmatrix
วิธีการข้างต้นเป็นวิธีที่ง่ายที่สุดในการแลกเปลี่ยนข้อมูลระหว่างแอปพลิเคชัน - ข้อมูลต้นฉบับอยู่ใน Excel จากนั้นส่งออกไปยัง MatLab ประมวลผลด้วยวิธีใดวิธีหนึ่งและผลลัพธ์จะถูกนำเข้าสู่ Excel ผู้ใช้ถ่ายโอนข้อมูลโดยใช้ปุ่มแถบเครื่องมือ Excel Link
ข้อมูลสามารถนำเสนอในรูปแบบของเมทริกซ์ เช่น พื้นที่สี่เหลี่ยมของแผ่นงาน เซลล์ที่จัดเรียงในแถวหรือคอลัมน์จะถูกส่งออกตามลำดับไปยังเวกเตอร์แถว MatLab และเวกเตอร์คอลัมน์
การนำเข้าเวกเตอร์แถวและเวกเตอร์คอลัมน์ลงใน Excel เกิดขึ้นในลักษณะเดียวกัน
4. การเขียนโปรแกรม MatLab มีความสามารถในการเขียนคำสั่งปฏิบัติการและผลลัพธ์ลงในไฟล์ข้อความ (เก็บบันทึกการทำงาน) ซึ่งสามารถอ่านหรือพิมพ์ได้จากโปรแกรมแก้ไขข้อความ หากต้องการเริ่มการบันทึกให้ใช้คำสั่ง 4.1. M-ไฟล์
การทำงานจากบรรทัดคำสั่ง MatLab จะกลายเป็นเรื่องยากหากคุณจำเป็นต้องป้อนคำสั่งจำนวนมากและเปลี่ยนแปลงคำสั่งบ่อยๆ
การเก็บไดอารี่โดยใช้คำสั่ง และการรักษาสภาพแวดล้อมในการทำงานทำให้การทำงานง่ายขึ้นเล็กน้อย วิธีที่สะดวกที่สุดในการดำเนินการกลุ่มคำสั่ง MatLab คือการใช้ไฟล์ M ซึ่งคุณสามารถพิมพ์คำสั่ง ดำเนินการทั้งหมดพร้อมกันหรือแยกเป็นบางส่วน บันทึกเป็นไฟล์และใช้ในภายหลังได้ โปรแกรมแก้ไขไฟล์ M ได้รับการออกแบบมาเพื่อทำงานกับไฟล์ M ด้วยความช่วยเหลือนี้ คุณสามารถสร้างฟังก์ชันของคุณเองและเรียกใช้ฟังก์ชันเหล่านั้นได้ รวมถึงจากหน้าต่างคำสั่งด้วยขยายเมนูไฟล์ของหน้าต่าง MatLab หลัก และในรายการใหม่ ให้เลือกรายการย่อย M-file ไฟล์ใหม่จะเปิดขึ้นในหน้าต่างตัวแก้ไขไฟล์ M ซึ่งแสดงในรูปไฟล์ M ใน MatLab มีสองประเภท: ไฟล์โปรแกรม (
สคริปต์ M-Files
) ประกอบด้วยลำดับของคำสั่ง และฟังก์ชันของไฟล์ (
ฟังก์ชั่น M-Files ) ซึ่งอธิบายฟังก์ชันที่ผู้ใช้กำหนด 4.2. โปรแกรมไฟล์
ป้อนคำสั่งในตัวแก้ไขที่นำไปสู่การสร้างกราฟสองกราฟในหน้าต่างกราฟิกเดียว
ตอนนี้ให้บันทึกไฟล์ชื่อ mydemo.m ในไดเร็กทอรีย่อยงานของไดเร็กทอรี MatLab หลักโดยเลือกบันทึกเป็นจากเมนูไฟล์ของโปรแกรมแก้ไข หากต้องการรันคำสั่งทั้งหมดที่มีอยู่ในไฟล์ ให้เลือกเรียกใช้จากเมนูดีบัก หน้าต่างกราฟิกจะปรากฏขึ้นบนหน้าจอ ) ซึ่งอธิบายฟังก์ชันที่ผู้ใช้กำหนด- เลือกใช้เมาส์ขณะกดปุ่มซ้ายค้างไว้ หรือใช้ปุ่มลูกศรขณะกดปุ่มค้างไว้ กะสี่คำสั่งแรกและดำเนินการจากรายการข้อความ โปรดทราบว่ามีเพียงกราฟเดียวเท่านั้นที่แสดงในหน้าต่างกราฟิก ซึ่งสอดคล้องกับคำสั่งที่ดำเนินการ
โปรดจำไว้ว่าในการรันคำสั่งบางคำสั่ง ให้เลือกคำสั่งเหล่านั้นแล้วกดปุ่ม F9
แต่ละบล็อกของไฟล์ M สามารถให้ความคิดเห็นได้ ซึ่งจะถูกข้ามระหว่างการดำเนินการ แต่จะสะดวกเมื่อทำงานกับไฟล์ M ความคิดเห็นจะขึ้นต้นด้วยเครื่องหมายเปอร์เซ็นต์และจะไฮไลต์เป็นสีเขียวโดยอัตโนมัติ เช่น:
การเปิดไฟล์ M ที่มีอยู่ทำได้โดยใช้รายการเปิดในเมนูไฟล์ของสภาพแวดล้อมการทำงานหรือโปรแกรมแก้ไขไฟล์ M
4.3. ฟังก์ชั่นไฟล์
โปรแกรมไฟล์ที่กล่าวถึงข้างต้นเป็นเพียงลำดับของคำสั่ง MatLab เท่านั้น ไม่มีอาร์กิวเมนต์อินพุตหรือเอาท์พุต หากต้องการใช้วิธีการเชิงตัวเลขและเมื่อเขียนโปรแกรมแอปพลิเคชันของคุณเองใน MatLab คุณจะต้องสามารถสร้างฟังก์ชันไฟล์ที่ดำเนินการที่จำเป็นด้วยอาร์กิวเมนต์อินพุตและส่งกลับผลลัพธ์ของการดำเนินการในอาร์กิวเมนต์เอาต์พุต มาดูตัวอย่างง่ายๆ บางส่วนเพื่อช่วยให้คุณเข้าใจวิธีทำงานกับฟังก์ชันไฟล์
เมื่อประมวลผลข้อมูลจากการวิเคราะห์เคโมเมตริกหลายตัวแปร มักใช้การจัดศูนย์กลาง มันสมเหตุสมผลแล้วที่จะเขียนฟังก์ชันไฟล์เพียงครั้งเดียว จากนั้นจึงเรียกมันทุกที่ที่จำเป็นต้องจัดกึ่งกลาง
ตอนนี้ฟังก์ชันที่สร้างขึ้นสามารถใช้งานได้ในลักษณะเดียวกับ sin, cos และอื่น ๆ ในตัว ฟังก์ชั่นของตัวเองสามารถเรียกได้จากโปรแกรมไฟล์และจากฟังก์ชั่นไฟล์อื่น ลองเขียนฟังก์ชันไฟล์ด้วยตัวเองที่จะปรับขนาดเมทริกซ์ เช่น หารแต่ละคอลัมน์ด้วยค่าเบี่ยงเบนมาตรฐานของคอลัมน์นั้น
คุณสามารถเขียนไฟล์ฟังก์ชันที่มีอาร์กิวเมนต์อินพุตหลายรายการ ซึ่งจะอยู่ในรายการที่คั่นด้วยเครื่องหมายจุลภาค คุณยังสามารถสร้างฟังก์ชันที่ส่งคืนค่าหลายค่าได้ ในการดำเนินการนี้ อาร์กิวเมนต์เอาต์พุตจะถูกเพิ่มโดยคั่นด้วยเครื่องหมายจุลภาค ลงในรายการอาร์กิวเมนต์เอาต์พุต และตัวรายการเองจะอยู่ในวงเล็บเหลี่ยม
ตัวอย่างที่ดีคือฟังก์ชันที่แปลงเวลาที่ระบุเป็นวินาทีเป็นชั่วโมง นาที และวินาที
เมื่อเรียกใช้ฟังก์ชันไฟล์ที่มีอาร์กิวเมนต์เอาต์พุตหลายตัว ผลลัพธ์ควรถูกเขียนเป็นเวกเตอร์ที่มีความยาวเหมาะสม
4.4 การสร้างกราฟ
MatLab มีความสามารถมากมายในการแสดงเวกเตอร์และเมทริกซ์แบบกราฟิก รวมถึงการสร้างความคิดเห็นและการพิมพ์กราฟ ให้เราอธิบายฟังก์ชันกราฟิกที่สำคัญหลายประการ พล็อตการทำงาน
มีรูปแบบต่างๆ ที่เกี่ยวข้องกับพารามิเตอร์อินพุต เช่น plot(y) สร้างกราฟเชิงเส้นแบบเป็นชิ้นๆ ขององค์ประกอบ y เทียบกับดัชนี หากให้เวกเตอร์สองตัวเป็นอาร์กิวเมนต์ plot(x,y) จะสร้างกราฟของ y เทียบกับ x ) ซึ่งอธิบายฟังก์ชันที่ผู้ใช้กำหนด
ตัวอย่างเช่น หากต้องการพลอตฟังก์ชัน sin ในช่วงตั้งแต่ 0 ถึง 2π ให้ทำดังต่อไปนี้
โปรแกรมได้สร้างกราฟการพึ่งพาซึ่งแสดงในหน้าต่าง MatLab จะกำหนดสีที่แตกต่างกันให้กับแต่ละพล็อตโดยอัตโนมัติ (เว้นแต่ผู้ใช้จะกำหนดสีดังกล่าว) ทำให้คุณสามารถแยกแยะระหว่างชุดข้อมูลต่างๆ ได้ทีม เดี๋ยวช่วยให้คุณสามารถเพิ่มเส้นโค้งให้กับกราฟที่มีอยู่ได้ การทำงาน
แผนย่อย
ช่วยให้คุณแสดงกราฟหลายกราฟในหน้าต่างเดียว 4.5 การพิมพ์กราฟรายการพิมพ์ในเมนูไฟล์และคำสั่ง 4.5 การพิมพ์กราฟพิมพ์
พิมพ์กราฟิก MatLab เมนูพิมพ์จะแสดงกล่องโต้ตอบที่ให้คุณเลือกตัวเลือกการพิมพ์มาตรฐานทั่วไป ทีม
ให้ความยืดหยุ่นมากขึ้นในการส่งออกและช่วยให้สามารถควบคุมการพิมพ์จากไฟล์ M
5.1. การจัดกึ่งกลางและการปรับขนาด
บ่อยครั้งในระหว่างการวิเคราะห์จำเป็นต้องแปลงข้อมูลต้นฉบับ วิธีการที่ใช้กันมากที่สุดในการแปลงข้อมูลคือ การจัดศูนย์กลางและปรับขนาดตัวแปรแต่ละตัวด้วยค่าเบี่ยงเบนมาตรฐาน มีการกำหนดโค้ดฟังก์ชันสำหรับการจัดกึ่งกลางเมทริกซ์ ดังนั้นด้านล่างนี้จะแสดงเฉพาะโค้ดของฟังก์ชันนั้นเท่านั้น ตาชั่งข้อมูล. โปรดทราบว่าเมทริกซ์ดั้งเดิมจะต้องอยู่ตรงกลาง
ฟังก์ชั่น Xs = มาตราส่วน (X) มาตราส่วน %: เมทริกซ์เอาต์พุตคือ Xs % เมทริกซ์ X ต้องอยู่ตรงกลาง Xs = X * inv(diag(std(X))); % สิ้นสุดการปรับขนาด |
5.2. SVD/พีซีเอ
วิธีการบีบอัดข้อมูลที่ได้รับความนิยมมากที่สุดในการวิเคราะห์หลายตัวแปรคือการวิเคราะห์องค์ประกอบหลัก (PCA) จากมุมมองทางคณิตศาสตร์ PCA คือการสลายตัวของเมทริกซ์ดั้งเดิม เอ็กซ์, เช่น. การแสดงเป็นผลคูณของเมทริกซ์สองตัว ตประวัติคำสั่ง ป
เอ็กซ์ = ทีพีที+ อี
เมทริกซ์ ตเรียกว่าเมทริกซ์คะแนน เมทริกซ์เรียกว่าเมทริกซ์ที่เหลือ
วิธีที่ง่ายที่สุดในการค้นหาเมทริกซ์ ตประวัติคำสั่ง ป- ใช้การสลายตัวแบบ SVD ผ่านฟังก์ชัน MatLab มาตรฐานที่เรียกว่า svd .
ฟังก์ชั่น = pcasvd(X) เอสวีดี(X); %สิ้นสุด pcasvd |
5.3 PCA/NIPALS
ในการสร้างบัญชี PCA และโหลด จะใช้อัลกอริธึมที่เกิดซ้ำ NIPALS ซึ่งจะคำนวณส่วนประกอบหนึ่งรายการในแต่ละขั้นตอน ขั้นแรกให้เมทริกซ์ดั้งเดิม เอ็กซ์ถูกแปลง (อย่างน้อย - กึ่งกลาง; ดู) และกลายเป็นเมทริกซ์ อี 0 , ก=0.
จากนั้นจะใช้อัลกอริทึมต่อไปนี้ 2. ทีพี จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = อีที / จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = จากนั้นจะใช้อัลกอริทึมต่อไปนี้ 3. ที = ที / (ทีเสื้อ = ทีก จากนั้นจะใช้อัลกอริทึมต่อไปนี้ = อีที ที / ทีเสื้อ = ที) ½ 4.
5. ตรวจสอบการบรรจบกัน หากไม่ ให้ไปที่ 2 กหลังจากคำนวณต่อไป ( จากนั้นจะใช้อัลกอริทึมต่อไปนี้ที=จากนั้นจะใช้อัลกอริทึมต่อไปนี้-th) ส่วนประกอบ เราถือว่า ทีที=ที อี ก+1 = อีที – จากนั้นจะใช้อัลกอริทึมต่อไปนี้ ที กและ ก+1.
บน เอ็กซ์.
ผู้อ่านสามารถเขียนโค้ดสำหรับอัลกอริทึม NIPALS ได้เอง ในคู่มือนี้ ผู้เขียนจะนำเสนอเวอร์ชันของตนเอง เมื่อคำนวณ PCA คุณสามารถป้อนจำนวนส่วนประกอบหลัก (หมายเลขตัวแปร PC) หากคุณไม่ทราบว่าต้องใช้ส่วนประกอบจำนวนเท่าใด ให้เขียน = pcanipals (X) ลงในบรรทัดคำสั่ง จากนั้นโปรแกรมจะกำหนดจำนวนส่วนประกอบให้เท่ากับขนาดที่เล็กที่สุดของเมทริกซ์ดั้งเดิม การคำนวณ% ของจำนวนส่วนประกอบ P1 = แรนด์(X_c, 1); T1 = X * P1; d0 = T1"*T1; P1 = (T1" * X/(T1" * T1)); P1 = P1/บรรทัดฐาน(P1); T1 = X * P1; ง = T1"*T1; |
วิธีคำนวณ PCA โดยใช้โปรแกรมเสริม Chemometrics มีอธิบายอยู่ในบทช่วยสอน
5.4PLS1
วิธีที่ได้รับความนิยมมากที่สุดสำหรับการสอบเทียบหลายตัวแปรคือวิธีฉายภาพไปยังโครงสร้างแฝง (PLS) วิธีการนี้เกี่ยวข้องกับการสลายตัวของเมทริกซ์ทำนายพร้อมกัน เอ็กซ์และเมทริกซ์การตอบสนอง ย:
เอ็กซ์=ทีพีที+ อี ย=ยูคิวที+ เอฟ ต=XW(ปเสื้อ = ว) –1
การฉายภาพถูกสร้างขึ้นอย่างสม่ำเสมอ - เพื่อเพิ่มความสัมพันธ์ระหว่างเวกเตอร์ที่สอดคล้องกันให้สูงสุด เอ็กซ์-บัญชี จากนั้นจะใช้อัลกอริทึมต่อไปนี้ทีประวัติคำสั่ง ย-บัญชี คุณที- ถ้าบล็อกข้อมูล ยรวมคำตอบหลายรายการ (เช่น เค>1) สามารถสร้างข้อมูลประมาณการเริ่มต้นได้สองแบบ – PLS1 และ PLS2 ในกรณีแรกสำหรับแต่ละคำตอบ ย เคพื้นที่ย่อยการฉายภาพของตัวเองถูกสร้างขึ้น ขณะเดียวกันก็วางบิล ต (คุณ) และโหลด ป (ว, ถาม) ขึ้นอยู่กับว่าจะใช้คำตอบใด วิธีการนี้เรียกว่า PLS1
สำหรับวิธี PLS2 จะมีการสร้างพื้นที่ฉายภาพเพียงช่องเดียวเท่านั้น ซึ่งเป็นเรื่องปกติสำหรับการตอบสนองทั้งหมด เอ็กซ์-th) ส่วนประกอบ เราถือว่า ยคำอธิบายโดยละเอียดของวิธี PLS มีระบุไว้ในหนังสือเล่มนี้ ในการสร้างบัญชี PLS1 และโหลด จะใช้อัลกอริธึมที่เกิดซ้ำ ขั้นแรกให้เมทริกซ์ดั้งเดิม
ศูนย์ = mc(X); |
= mc(Y); อีและพวกมันก็กลายเป็นเมทริกซ์ 0 และเวกเตอร์ 0 , กฉ
1. =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขาพี 0 และเวกเตอร์ทีว อี ก 2. =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขา = =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขา / (=0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขาเสื้อ = =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขาที จากนั้นจะใช้อัลกอริทึมต่อไปนี้ = อีที =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขา 4. ) ½ 3. = จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = 0 และเวกเตอร์ที / จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = จากนั้นจะใช้อัลกอริทึมต่อไปนี้ 5. คุณ = ) ½ 3.0 และเวกเตอร์ที / ) ½ 3. 2 6. ทีพี จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = อีที / จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = จากนั้นจะใช้อัลกอริทึมต่อไปนี้
5. ตรวจสอบการบรรจบกัน หากไม่ ให้ไปที่ 2 กหลังจากคำนวณต่อไป ( จากนั้นจะใช้อัลกอริทึมต่อไปนี้ที=จากนั้นจะใช้อัลกอริทึมต่อไปนี้-th) ส่วนประกอบ เราถือว่า ทีที=ทีถาม อี ก+1 = อีที – จากนั้นจะใช้อัลกอริทึมต่อไปนี้ ที- เพื่อให้ได้ส่วนประกอบถัดไป คุณต้องคำนวณเศษที่เหลือ กและ ก+1.
t และใช้อัลกอริธึมเดียวกันกับพวกเขา โดยแทนที่ดัชนี
นี่คือโค้ดสำหรับอัลกอริทึมนี้ที่นำมาจากหนังสือ ฟังก์ชั่น = กรุณา(x, y) %PLS: คำนวณส่วนประกอบ PLS % %เวกเตอร์เอาท์พุตคือ w, t, u, q และ p % เลือกเวกเตอร์จาก y เป็นเวกเตอร์เริ่มต้น u คุณ = y(:, 1); ครี = 100; ในขณะที่ (ครี > 1e - 10) คุณ = y * q/(q" * q); kri = บรรทัดฐาน(uold - u)/บรรทัดฐาน(u); พี = (เสื้อ" * x)"/(เสื้อ" * เสื้อ); |
%สิ้นสุดกรุณา เกี่ยวกับการคำนวณ PLS1 โดยใช้ Add-inเคมีบำบัดเพิ่มเข้า
อธิบายไว้ในวิธีการฉายภาพด้วยตนเองใน Excel
5.5PLS2 เอ็กซ์-th) ส่วนประกอบ เราถือว่า ยสำหรับ PLS2 อัลกอริธึมจะเป็นดังนี้ ขั้นแรกให้เมทริกซ์ดั้งเดิม อีแปลงร่าง (อย่างน้อย - อยู่ตรงกลาง ดู) และพวกมันก็กลายเป็นเมทริกซ์ เอฟ 0 , ก 0 และ
=0. จากนั้นจึงใช้อัลกอริทึมต่อไปนี้กับพวกเขา คุณ 2. =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขาพี คุณเสื้อ = อี ก 3. =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขา = =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขา / (=0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขาเสื้อ = =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขาก จากนั้นจะใช้อัลกอริทึมต่อไปนี้ = อีที =0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขา 5. ) ½ 3.พี จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = เอฟที / จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = จากนั้นจะใช้อัลกอริทึมต่อไปนี้ 6. คุณ = เอฟที ) ½ 3./ ) ½ 3.เสื้อ = ) ½ 3. 1. เลือกเวกเตอร์เริ่มต้น ทีพี จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = อีที / จากนั้นจะใช้อัลกอริทึมต่อไปนี้เสื้อ = จากนั้นจะใช้อัลกอริทึมต่อไปนี้
5. ตรวจสอบการบรรจบกัน หากไม่ ให้ไปที่ 2 ก 7. ตรวจสอบการบรรจบกัน หากไม่ ให้ไปที่ 2 8. จากนั้นจะใช้อัลกอริทึมต่อไปนี้ที=จากนั้นจะใช้อัลกอริทึมต่อไปนี้, ทีที=โอ้) ต้องใส่ส่วนประกอบ PLS2:ที==0. จากนั้นจึงใช้อัลกอริธึมต่อไปนี้กับพวกเขา, คุณที=คุณ-th) ส่วนประกอบ เราถือว่า ) ½ 3.พี ว ) ½ 3.ถาม อี ก+1 = อีที –ก =ทีพี เอฟที +1 = เอฟ ก – ทีและไม่เป็นไร กและ ก+1.
นี่คือรหัสที่ยืมมาจากหนังสือด้วย
ฟังก์ชั่น = กรุณา(x, y, a) % PLS: คำนวณส่วนประกอบ PLS % เมทริกซ์เอาต์พุตคือ W, T, U, Q และ P % B มีค่าสัมประสิทธิ์การถดถอยและ SS คือผลรวมของ % กำลังสองสำหรับส่วนที่เหลือ % a คือจำนวนส่วนประกอบ % % สำหรับส่วนประกอบ: ใช้คำสั่งทั้งหมดเพื่อสิ้นสุด สำหรับ i=1:a % ใช้ฟังก์ชัน pls เพื่อคำนวณองค์ประกอบหนึ่งรายการ % คำนวณปริมาณคงเหลือ % บันทึกเวกเตอร์ในเมทริกซ์ % คำนวณสัมประสิทธิ์การถดถอยหลังการวนซ้ำ % เพิ่ม SS ที่เหลือสุดท้ายเข้ากับผลรวมของเวกเตอร์กำลังสอง % สร้างเมทริกซ์ของเวกเตอร์ ss สำหรับ X และ Y % คำนวณเศษส่วนของ SS ที่ใช้ %สิ้นสุดการกรุณา ฟังก์ชั่น = เอสเอส(x) |
เกี่ยวกับการคำนวณ PLS2 โดยใช้ Add-in เกี่ยวกับการคำนวณ PLS1 โดยใช้ Add-inเคมีบำบัดเพิ่มเข้า
บทสรุป
MatLab เป็นเครื่องมือยอดนิยมสำหรับการวิเคราะห์ข้อมูล จากการสำรวจพบว่านักวิจัยมากถึงหนึ่งในสามใช้มัน ในขณะที่นักวิทยาศาสตร์เพียง 16% ใช้โปรแกรม Unsrambler