ฟังก์ชันที่มีหลายเอาต์พุตใน MATLAB

Fangkchan Thi Mi Hlay Xeatphut Ni Matlab



ฟังก์ชันที่ผู้ใช้กำหนดใน MATLAB ทำงานในลักษณะเดียวกับฟังก์ชันในตัว เรียกฟังก์ชันเหล่านี้ได้หลายวิธี เช่น ใช้หน้าต่างคำสั่ง ไฟล์สคริปต์ หรือไฟล์ฟังก์ชัน ฟังก์ชันที่ผู้ใช้กำหนดสามารถสร้างเอาต์พุตได้หลายรายการ บทความนี้มีวัตถุประสงค์เพื่อแสดงให้เห็นว่าฟังก์ชันที่มีหลายเอาต์พุตใช้ใน MATLAB อย่างไร

จะใช้ฟังก์ชันที่มีหลายเอาต์พุตใน 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 ที่มีเอาต์พุตหลายตัวโดยให้ตัวอย่างที่เป็นประโยชน์