จะใช้ฟังก์ชันที่มีหลายเอาต์พุตใน MATLAB ได้อย่างไร
ฟังก์ชันที่ผู้ใช้กำหนดเองของ MATLAB สามารถใช้อาร์กิวเมนต์อินพุตและเอาต์พุตได้มากกว่าหนึ่งรายการ อาร์กิวเมนต์อินพุตสามารถเป็นค่า นิพจน์ทางคณิตศาสตร์ หรือเพียงแค่ตัวแปรก็ได้ ผู้ใช้ควรทราบจำนวนและตำแหน่งของอาร์กิวเมนต์อินพุตและเอาต์พุตที่แน่นอนเพื่อใช้ในฟังก์ชัน
ไวยากรณ์ของฟังก์ชันที่ผู้ใช้กำหนดเองของ MATLAB แสดงไว้ด้านล่าง:
การทำงาน [ y1,...,yN ] = สนุก ( x1,...,xM )
ที่นี่ฟังก์ชั่น [y1,…,yN] = สนุก(x1,…,xM) ประกาศฟังก์ชั่นชื่อสนุกที่ใช้ x1,…,xM เป็นอินพุตและส่งกลับ y1,…,yN เป็นเอาต์พุต โค้ดเรียกทำงานบรรทัดแรกของฟังก์ชันต้องมีข้อความประกาศนี้ ชื่อฟังก์ชันที่ถูกต้องต้องขึ้นต้นด้วยตัวอักษรและอาจเป็นตัวอักษร ตัวเลข หรือขีดล่างก็ได้
พิจารณาตัวอย่างบางส่วนที่แสดงวิธีใช้ฟังก์ชันที่มีหลายเอาต์พุตใน MATLAB
ตัวอย่างที่ 1
นี่คือรหัส MATLAB พื้นฐานที่ประกาศชื่อฟังก์ชัน สถิติ เพื่อคำนวณค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานขององค์ประกอบเวกเตอร์ ฟังก์ชันใช้เวกเตอร์เป็นอาร์กิวเมนต์อินพุตและส่งกลับค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของค่าทั้งหมดที่อยู่ในเวกเตอร์นั้น เราบันทึกฟังก์ชันนี้ในไฟล์สคริปต์ชื่อ สถิติ .
การทำงาน [ หมายถึงมาตรฐาน ] = สถิติ ( บาร์ )
เลน = ความยาว ( บาร์ ) ;
หมายถึง = ผลรวม ( บาร์ ) / แค่;
std = ตร ( ผลรวม ( ( หมายความว่าอย่างไร ) .^ 2 / เท่านั้น ) ) ;
จบ
บันทึก : แนะนำให้บันทึกชื่อไฟล์สคริปต์ตามชื่อฟังก์ชัน
เมื่อบันทึกไฟล์สคริปต์แล้ว คุณสามารถเรียกใช้ฟังก์ชันที่กำหนดไว้ข้างต้นในหน้าต่างคำสั่งโดยส่งเวกเตอร์เป็นอินพุต
บาร์ = [ 5 : 0.25 : 10 ] ;
[ บันทึก,stdev ] = สถิติ ( บาร์ )
ค่าเฉลี่ยที่คำนวณได้และส่วนเบี่ยงเบนมาตรฐานจะแสดงบนหน้าจอ
ตัวอย่างที่ 2
นี่คือรหัส MATLAB พื้นฐานที่ประกาศชื่อฟังก์ชัน สถิติ เพื่อคำนวณค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานขององค์ประกอบเวกเตอร์ ฟังก์ชันใช้เวกเตอร์เป็นอาร์กิวเมนต์อินพุตและส่งกลับค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของค่าทั้งหมดที่อยู่ในเวกเตอร์นั้น เราบันทึกฟังก์ชันนี้ในไฟล์สคริปต์ชื่อ stat
การทำงาน [ หมายถึงมาตรฐาน ] = สถิติ ( บาร์ )เลน = ความยาว ( บาร์ ) ;
หมายถึง = ( ผลรวม ( บาร์ ) ) / แค่;
std = ตร ( ผลรวม ( ( หมายความว่าอย่างไร ) .^ 2 / เท่านั้น ) ) ;
จบ
เราเรียกใช้ฟังก์ชันที่กำหนดไว้ข้างต้นในไฟล์สคริปต์อื่นชื่อ func.m โดยส่งเวกเตอร์เป็นอาร์กิวเมนต์อินพุต
บาร์ = [ 5 : 0.25 : 10 ] ;[ บันทึก,stdev ] = สถิติ ( บาร์ )
เมื่อเราเรียกใช้งาน func.m ไฟล์ ผลการคำนวณจะแสดงบนหน้าจอ
บันทึก : เมื่อคุณเรียกใช้ฟังก์ชันใน MATLAB จะต้องสามารถค้นหาไฟล์ฟังก์ชันที่เกี่ยวข้องได้ เมื่อวางทั้งไฟล์ฟังก์ชันและไฟล์สคริปต์ไว้ในโฟลเดอร์เดียวกัน คุณจะมั่นใจได้ว่า MATLAB สามารถค้นหาและเรียกใช้ฟังก์ชันได้อย่างถูกต้อง
ตัวอย่างที่ 3
ตัวอย่าง MATLAB นี้จะคำนวณความสูงและระยะทางสูงสุดของโพรเจกไทล์และวางแผนวิถี สำหรับสิ่งนี้ เรากำหนดฟังก์ชันที่มีอาร์กิวเมนต์อินพุต 2 ตัว v0 เป็นความเร็วเริ่มต้น และทีต้าเป็นมุม และอาร์กิวเมนต์เอาต์พุต 2 ตัวที่เป็น เอชแม็กซ์ แสดงถึงความสูงสูงสุดและ ดีแม็กซ์ เป็นระยะทางสูงสุด เราบันทึกฟังก์ชั่นในไฟล์สคริปต์ชื่อ กระสุนปืน.m ไฟล์.
การทำงาน [ เอชแม็กซ์, ดีแม็กซ์ ] =วิถี ( v0, ทีต้า )ช = 9.81 ;
v0x = v0 * เพราะ ( ทีต้า * ปี่ / 180 ) ;
v0y = v0 * ปราศจาก ( ทีต้า * ปี่ / 180 ) ;
thmax =v0y / กรัม;
เอชแม็กซ์ =v0y^ 2 / ( 2 * ช ) ;
โธ่ = 2 * thmax;
ดีแม็กซ์ =v0x * ทุกอย่าง;
พล็อต = ลินสเปซ ( 0 โธ่ 200 ) ;
x =v0x * พล็อต;
และ =v0y * tplot- 0.5 * ช * tplot.^ 2 ;
พล็อต ( x,ย )
xlabel ( 'ระยะทาง (ม.)' )
ฉลาก ( 'ความสูง (ม.)' )
ชื่อ ( 'โพรเจกไทล์' 'เส้นทาง' )
หลังจากบันทึกไฟล์ฟังก์ชันนี้แล้ว เราจะเรียกใช้ฟังก์ชันนี้ในหน้าต่างคำสั่งโดยส่งค่าความเร็วเริ่มต้นเป็น m/s และ theta ในหน่วยองศา ความสูง ระยะทาง และกราฟที่สร้างขึ้นจะแสดงในเอาต์พุตที่กำหนด
บทสรุป
การรับเอาต์พุตหลายรายการจากฟังก์ชันหนึ่งๆ อาจมีประโยชน์ด้วยเหตุผลหลายประการ เช่น การปรับปรุงประสิทธิภาพของโค้ด การลดความซับซ้อนของโค้ด การเพิ่มฟังก์ชันการทำงาน และอื่นๆ มีหลายวิธีในการรับเอาต์พุตหลายรายการจากฟังก์ชัน รวมถึงผ่านหน้าต่างคำสั่ง ไฟล์สคริปต์ หรือไฟล์ฟังก์ชัน บทช่วยสอนนี้สาธิตการใช้ฟังก์ชันของ MATLAB ที่มีเอาต์พุตหลายตัวโดยให้ตัวอย่างที่เป็นประโยชน์