Matlab วนซ้ำไม่สิ้นสุด คำสั่งแบบมีเงื่อนไขและลูปใน MatLab ข้อกำหนดสำหรับงานห้องปฏิบัติการ

แผนก: เทคโนโลยีสารสนเทศ

การเขียนโปรแกรมในแมทแล็บ


ผู้ประกอบการแมทแล็บ

· คำสั่งวนรอบ

วงจรสำหรับ

ไวยากรณ์

สำหรับ count=start:step:final

คำสั่ง MATLAB

คำอธิบาย

นับ – ตัวแปรวนซ้ำ

start – ค่าเริ่มต้น

สุดท้าย – ค่าสุดท้าย

ขั้นตอน - ขั้นตอนที่การนับเพิ่มขึ้นในแต่ละรายการที่ตามมาในลูป

การวนซ้ำจะสิ้นสุดลงทันทีที่จำนวนมากกว่าค่าสุดท้าย

ตัวอย่าง

ปล่อยให้จำเป็นต้องได้รับตระกูลของเส้นโค้งสำหรับ x€ ซึ่งระบุโดยฟังก์ชันขึ้นอยู่กับพารามิเตอร์

y (x, a) = e -ax บาป x,

สำหรับพารามิเตอร์ค่าตั้งแต่ -0.1 ถึง 0.1 ด้านล่างนี้คือรายการไฟล์โปรแกรมสำหรับแสดงกลุ่มเส้นโค้ง

รายการโปรแกรม

เอ็กซ์ = ;

สำหรับ = -0.1:0.02:0.1

y = ประสบการณ์ (-a*x).*sin(x);

จากการรันโปรแกรม หน้าต่างกราฟิกจะปรากฏขึ้นพร้อมกลุ่มเส้นโค้งที่ต้องการ

วงจรในขณะที่

ไวยากรณ์

ในขณะที่สภาพวนซ้ำ

คำสั่ง MATLAB

คำอธิบาย

การวนซ้ำจะทำงานตราบเท่าที่เงื่อนไขการวนซ้ำเป็นจริง ในการตั้งค่าเงื่อนไขการดำเนินการแบบวนซ้ำ อนุญาตให้ดำเนินการเชิงสัมพันธ์ต่อไปนี้:

การตั้งค่าเงื่อนไขที่ซับซ้อนมากขึ้นทำได้โดยใช้ตัวดำเนินการเชิงตรรกะ ตัวดำเนินการเชิงตรรกะได้รับในตารางต่อไปนี้


ตัวอย่าง

ผู้ประกอบการสาขา

ตัวดำเนินการแบบมีเงื่อนไขถ้า

ไวยากรณ์

ถ้าเงื่อนไข

คำสั่ง MATLAB

คำอธิบาย

หากเงื่อนไขเป็นจริง คำสั่ง MATLAB ที่อยู่ระหว่าง if และ end จะถูกดำเนินการ และหากเงื่อนไขไม่เป็นความจริง คำสั่งที่อยู่หลังจุดสิ้นสุดจะถูกดำเนินการ

ตัวอย่าง

ตัวดำเนินการแบบมีเงื่อนไขอย่างอื่น

ไวยากรณ์

ถ้าเงื่อนไข1

มิฉะนั้นเงื่อนไขที่ 2

………………………

มิฉะนั้นเงื่อนไข

คำอธิบาย

ขึ้นอยู่กับการปฏิบัติตามเงื่อนไขเฉพาะ สาขาที่เกี่ยวข้องของโปรแกรมจะทำงาน หากเงื่อนไขทั้งหมดเป็นเท็จ คำสั่งที่วางหลังจากนั้นจะถูกดำเนินการ

ตัวอย่าง

ผู้ดำเนินการสวิตช์

ไวยากรณ์

สลับตัวแปร

มูลค่ากรณี1

มูลค่ากรณีที่ 2

……………………

กรณีความหมาย


แต่ละสาขาถูกกำหนดโดยคำสั่ง case และถูกป้อนเมื่อตัวแปรคำสั่ง switch รับค่าที่ระบุหลัง case หรือค่าใดค่าหนึ่งจากรายการ case หลังจากดำเนินการสาขาใด ๆ สวิตช์จะออกและค่าที่ระบุในกรณีอื่น ๆ จะไม่ถูกตรวจสอบอีกต่อไป หากไม่พบค่าที่เหมาะสมสำหรับตัวแปร สาขาของโปรแกรมที่สอดคล้องกับอย่างอื่นจะถูกดำเนินการ

ตัวอย่าง

การหยุดชะงักของวงจร สถานการณ์พิเศษ

ผู้ดำเนินการหยุดพัก

ไวยากรณ์

ตัวดำเนินการแบ่งใช้เพื่อจัดระเบียบการคำนวณแบบวน: สำหรับ...สิ้นสุด ในขณะที่...สิ้นสุด เมื่อตรงตามเงื่อนไข

ถ้าเงื่อนไข

คำสั่งแบ่งจะสิ้นสุดการวนซ้ำ (สำหรับหรือในขณะที่) และคำสั่งที่อยู่ในบรรทัดต่อไปนี้จะถูกดำเนินการ ในกรณีของลูปซ้อนกัน ให้แยกออกจากลูปด้านใน

การจัดการข้อยกเว้น ผู้ดำเนินการพยายามจับ

ไวยากรณ์

คำแถลงที่มีการประหารชีวิต

อาจนำไปสู่ข้อผิดพลาด

คำสั่งที่จะดำเนินการ

เมื่อเกิดข้อผิดพลาดในบล็อก

ระหว่างพยายามและจับ

คำอธิบาย

โครงสร้าง try...catch ช่วยให้คุณสามารถหลีกเลี่ยงสถานการณ์ข้อยกเว้น (ข้อผิดพลาดที่นำไปสู่การยุติโปรแกรม เช่น การเข้าถึงไฟล์ที่ไม่มีอยู่จริง) และดำเนินการบางอย่างหากเกิดขึ้น

ตัวอย่าง

ฟังก์ชั่นการบริการ

แสดงส่งออกข้อความหรือค่าของตัวแปรไปยังหน้าต่างคำสั่ง

ป้อนข้อมูล– ร้องขออินพุตจากแป้นพิมพ์ ใช้เมื่อสร้างแอปพลิเคชันด้วยอินเทอร์เฟซบรรทัดคำสั่ง

ประเมินผลดำเนินการเนื้อหาของสตริงหรือตัวแปรสตริง เช่น คำสั่ง MATLAB

ชัดเจน– ลบตัวแปรสภาพแวดล้อมการทำงาน

กับแอลซี– ล้างหน้าต่างคำสั่ง

มากกว่า ข้อมูลรายละเอียดคุณสามารถเรียนรู้เกี่ยวกับฟังก์ชันเหล่านี้และฟังก์ชันอื่นๆ ได้โดยการรันบนบรรทัดคำสั่ง

ช่วยfunction_name


งานที่ต้องทำให้เสร็จ งานห้องปฏิบัติการ

จำนวนตัวเลือกการมอบหมายงานเฉพาะเจาะจงจะถูกกำหนดโดยครู

ภารกิจที่ 1

งานนี้เกี่ยวข้องกับการหาพหุนามการประมาณค่าพีชคณิตระดับ n สำหรับชุดข้อมูลบางชุด: พี(x) .

วัตถุประสงค์ของงาน:

มีความจำเป็นต้องสร้างโปรแกรมสำหรับคำนวณค่าสัมประสิทธิ์ของพหุนามการประมาณค่าพีชคณิต พี(x)= 0 + 1 x+ … + ไม่มี.

แนวทาง:

0 1 2 3

เอ็กซ์ฉัน

1,2 1,4 1,6 1,8
8,3893 8,6251 8,9286 8,9703

ราคาต่อรอง 0 , 1 , …, หนึ่งถูกกำหนดจากการแก้ระบบสมการ:

ที่นี่ n– ลำดับพหุนามการประมาณค่า

n+1 – จำนวนคู่คะแนนที่กำหนด ( x, ),

0 , 1 ,… หนึ่ง– ค่าสัมประสิทธิ์ที่ต้องการของพหุนาม พี(x)= 0 + 1 x+ … + ไม่มี).

ข้อกำหนดของโปรแกรม

· กำหนดขอบเขตของส่วน ซึ่งมีการสร้างพหุนามการประมาณค่าไว้ พี(เอ็กซ์)

· ชุด n– จำนวนส่วนของการประมาณค่า (หรือซึ่งเท่ากันคือระดับของพหุนาม)

บันทึก: x0, xn, nเข้ามาจากแป้นพิมพ์

· เพื่อให้ได้ข้อมูลเบื้องต้น (x, ย)(จำนวนคู่แต้ม (x ฉัน y ฉัน)ซึ่งเป็นการสร้างพหุนามการประมาณค่า พี(เอ็กซ์)n1=n+1) จัดเตรียม:

ü เข้าสู่โหนดที่ตั้งแบบสุ่ม x ผม, ผม=0, nจากแป้นพิมพ์

ü การคำนวณโหนด x ผม , ผม=0, n,สอดคล้องกับการจัดเรียงข้อโต้แย้งแบบเดียวกัน xบนส่วน

ü ในย่อหน้า 1.2 ค่า ใช่ ฉัน , i=0, nไม่ว่าจะป้อนจากแป้นพิมพ์ (หากไม่ทราบฟังก์ชันต้นทาง) หรือคำนวณจากฟังก์ชันที่กำหนด ฉ(x)- นิพจน์ที่กำหนดฟังก์ชันจะถูกป้อนจากแป้นพิมพ์ และต้องเป็นไปตามกฎสำหรับการเขียนนิพจน์ใน MATLAB

ü การป้อนข้อมูล ( x ฉัน, y ฉัน, i=0, n) จากไฟล์

· แก้ระบบสมการเพื่อกำหนดค่าสัมประสิทธิ์ของพหุนาม P(x)

· สร้างกราฟของฟังก์ชันตารางดั้งเดิมและพหุนาม P(x)

· หากข้อมูลต้นฉบับถูกกำหนดเป็นฟังก์ชัน f(x) ให้พล็อตข้อผิดพลาดในการประมาณค่า /f(x) – P(x)/ คำนวณค่าสัมบูรณ์สูงสุดของข้อผิดพลาดการแก้ไขในช่วงเวลาที่กำหนด


ภารกิจที่ 2

การแก้ไขเส้นโค้ง

วัตถุประสงค์ของงาน:

จำเป็นต้องสร้างโปรแกรมสำหรับคำนวณค่าสัมประสิทธิ์และสร้างฟังก์ชัน spline S(x) ซึ่ง "ติดกัน" จากชิ้นส่วนของพหุนามลำดับที่ 3 S ฉัน(x), ซึ่งมีรูปแบบการบันทึกพิเศษ:

ฟังก์ชั่นเอส ฉัน(x) กำหนดไว้ในเซ็กเมนต์

ข้อกำหนดของโปรแกรม

เมื่อปฏิบัติงานนี้ คุณต้อง:

· กำหนดขอบเขตของเซ็กเมนต์ที่สร้างฟังก์ชัน spline S(x)

· เซต n – จำนวนของเซกเมนต์การประมาณค่า ซึ่งแต่ละเซกเมนต์มีการสร้างพหุนามลูกบาศก์ Si(x)

· หมายเหตุ: ป้อน x0, xn, n จากแป้นพิมพ์

· จัดระเบียบอินพุตของข้อมูลเริ่มต้น (x, y) (จำนวนคู่ของจุด (xi, yi) ที่ใช้สร้างฟังก์ชัน spline S(x), n1=n+1) โดยให้:

ü การป้อนโหนดที่ตั้งแบบสุ่ม xi, i=0, n จากแป้นพิมพ์

ü การคำนวณโหนด xi, i=0, n ซึ่งสอดคล้องกับตำแหน่งที่สม่ำเสมอของอาร์กิวเมนต์ x บนเซ็กเมนต์

ü ในย่อหน้า 1,2 ค่าของ yi, i=0, n จะถูกป้อนจากแป้นพิมพ์ (หากไม่ทราบฟังก์ชันดั้งเดิม) หรือคำนวณโดยใช้ฟังก์ชันที่กำหนด f(x) นิพจน์ที่กำหนดฟังก์ชันจะถูกป้อนจากแป้นพิมพ์ และต้องเป็นไปตามกฎสำหรับการเขียนนิพจน์ใน MATLAB

ü การป้อนข้อมูล (xi, yi, i=0, n) จากไฟล์

ü S1""(x0)=0, S3""(x3)=0

ü S1"(x0)=ฉ "(x0), S3"(x3)=ฉ "(x3)

ü S1""(x0)=ฉ "(x0), S3""(x0)=ฉ "(x3)

· เพื่อกำหนดค่าสัมประสิทธิ์ของเส้นโค้งลูกบาศก์ธรรมชาติ (เงื่อนไขขอบเขต 1) จำเป็นต้องแก้ระบบสมการต่อไปนี้:

สัมประสิทธิ์ σ 0 =0,σ n =0

· สร้างกราฟของฟังก์ชันดั้งเดิมและฟังก์ชันเส้นโค้งสำหรับเงื่อนไขขอบเขตทั้งสามประเภท

· สร้างกราฟของฟังก์ชันข้อผิดพลาดการแก้ไขเส้นโค้ง f(x) – S(x) สำหรับเงื่อนไขขอบเขตทั้งสามประเภท

บันทึก:

ใน MATLAB ดัชนีของอาร์เรย์หนึ่งมิติและสองมิติเริ่มต้นจาก 1 ไม่ใช่จาก 0 โปรดคำนึงถึงสิ่งนี้เมื่อเขียนโปรแกรม


ภารกิจที่ 3

การประมาณฟังก์ชันโดยใช้วิธีกำลังสองน้อยที่สุด (LSM)

งานนี้เกี่ยวข้องกับการค้นหาฟังก์ชันการประมาณ (พหุนามของดีกรี m) สำหรับชุดข้อมูลบางชุดที่สร้างขึ้นโดยวิธีกำลังสองน้อยที่สุด (LSM)

วัตถุประสงค์ของงาน:

จำเป็นต้องสร้างโปรแกรมสำหรับค้นหาสัมประสิทธิ์ของพหุนาม φ (x)= 0 + 1 * x+… หนึ่ง * x มวิธีกำลังสองน้อยที่สุด

สมมติว่ามีชุดข้อมูลดังต่อไปนี้:

เอ็กซ์ฉัน

1,2 1,4 1,6 1,8 2,0 2,2 2,4 2,6 2,8 3,0
8,3893 8,6251 8,9286 8,9703 9,1731 9,1784 8,8424 8,7145 8,3077 7,9611

การค้นหาค่าสัมประสิทธิ์ที่จำเป็นดำเนินการดังนี้:

ที่ไหน n – จำนวนคะแนน ( x, ),

– ระดับของพหุนามที่ต้องการ

0 , 1 , …, เช้า – ค่าสัมประสิทธิ์ที่ต้องการ ( φ ( x )= 0 + 1 x + … + ม x ม ).

ข้อกำหนดของโปรแกรม

เมื่อปฏิบัติงานนี้ คุณต้อง:

· กำหนดขอบเขตของเซ็กเมนต์ที่สร้างฟังก์ชันการประมาณ φ(x)=a0+a1*x+… an * xm

· ตั้งค่า m – ดีกรีของพหุนาม

· หมายเหตุ: ป้อน x1, xn, m จากแป้นพิมพ์

· หากต้องการรับข้อมูลเริ่มต้น (x, y) ซึ่งเป็นฟังก์ชันการประมาณ φ(x)=a0+a1*x+… an* x m ถูกสร้างขึ้น ให้จัดเตรียม:

ü การป้อนโหนดที่ตั้งแบบสุ่ม xi, i=1, n จากแป้นพิมพ์

ü การคำนวณโหนด xi, i=1, n ซึ่งสอดคล้องกับตำแหน่งที่สม่ำเสมอของอาร์กิวเมนต์ x บนเซ็กเมนต์

ü ในย่อหน้า 1,2 ค่าของ yi, i=1, n จะถูกป้อนจากแป้นพิมพ์ (หากไม่ทราบฟังก์ชันดั้งเดิม) หรือคำนวณจากฟังก์ชันที่กำหนด f(x) นิพจน์ที่กำหนดฟังก์ชันจะถูกป้อนจากแป้นพิมพ์ และต้องเป็นไปตามกฎสำหรับการเขียนนิพจน์ใน MATLAB

ü ข้อมูลเข้า (xi, yi, i=1, n) จากไฟล์

· แก้ระบบสมการเพื่อกำหนดค่าสัมประสิทธิ์ของพหุนาม φ(x)

· สร้างกราฟของฟังก์ชันตารางดั้งเดิมและพหุนาม φ(x)

· ถ้าข้อมูลต้นฉบับถูกกำหนดเป็นฟังก์ชัน f(x) ให้พล็อตค่าข้อผิดพลาดการประมาณค่า /f(x) – φ(x)/ คำนวณค่าสัมบูรณ์สูงสุดของข้อผิดพลาดการแก้ไขในช่วงเวลาที่กำหนด

เมื่อดำเนินการจุดสุดท้ายในส่วนนั้น ใช้เวลาอย่างน้อย 500 คะแนนในการคำนวณ


ข้อกำหนดสำหรับงานห้องปฏิบัติการ

รายงานจะต้องมี:

1. คำชี้แจงของปัญหา

2. ข้อความโปรแกรม

3. ผลการทดสอบ

หมายเหตุ ข้อความโปรแกรมต้องแนบมาพร้อมกับความคิดเห็น


1. Anufriev I.E. คู่มือการสอนด้วยตนเอง Matlab 5.3/6.x – เซนต์ปีเตอร์สเบิร์ก: BHV-Petersburg, 2003 – 736 หน้า: ป่วย

2. วี.พี. Dyakonov MATLAB 6.5 SPI/7 + Simulink 5/6 ในวิชาคณิตศาสตร์และการสร้างแบบจำลอง ซีรีส์ "ห้องสมุดมืออาชีพ" – อ.: SOLON-Press, 2548. – 576 หน้า: ป่วย

3. Anufriev I.E., Smirnov A.B., Smirnova E.N. MathLab 7. – เซนต์ปีเตอร์สเบิร์ก: BHV-Petersburg, 2005. – 1104 หน้า: ป่วย

ภาษาคอมพิวเตอร์ทางเทคนิค

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

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

เริ่มต้นใช้งาน

เรียนรู้พื้นฐาน MATLAB

พื้นฐานภาษา

ไวยากรณ์ การทำดัชนีและการประมวลผลอาร์เรย์ ชนิดข้อมูล ตัวดำเนินการ

การนำเข้าและการวิเคราะห์ข้อมูล

การนำเข้าและส่งออกข้อมูลได้แก่ ไฟล์ขนาดใหญ่- การประมวลผลข้อมูลล่วงหน้า การแสดงภาพ และการวิจัย

คณิตศาสตร์

พีชคณิตเชิงเส้น การสร้างอนุพันธ์และปริพันธ์ การแปลงฟูเรียร์ และคณิตศาสตร์อื่นๆ

กราฟิก

กราฟิก 2D และ 3D, รูปภาพ, แอนิเมชั่น

การเขียนโปรแกรม

สคริปต์ ฟังก์ชัน และคลาส

การสร้างแอปพลิเคชัน

พัฒนาแอปด้วย App Designer, Programmable Workflow หรือ GUIDE

เครื่องมือพัฒนาซอฟต์แวร์

การดีบักและการทดสอบ การจัดระเบียบโครงการขนาดใหญ่ การบูรณาการกับระบบควบคุมเวอร์ชัน การบรรจุกล่องเครื่องมือ

แผนก: เทคโนโลยีสารสนเทศ

การเขียนโปรแกรมในแมทแล็บ


ผู้ประกอบการแมทแล็บ

· คำสั่งวนซ้ำ

วงจรสำหรับ

ไวยากรณ์

สำหรับ count=start:step:final

คำสั่ง MATLAB

คำอธิบาย

นับ – ตัวแปรวนซ้ำ

start – ค่าเริ่มต้น

สุดท้าย – ค่าสุดท้าย

ขั้นตอน - ขั้นตอนที่การนับเพิ่มขึ้นในแต่ละรายการที่ตามมาในลูป

การวนซ้ำจะสิ้นสุดลงทันทีที่จำนวนมากกว่าค่าสุดท้าย

ตัวอย่าง

ปล่อยให้จำเป็นต้องได้รับตระกูลของเส้นโค้งสำหรับ x€ ซึ่งระบุโดยฟังก์ชันขึ้นอยู่กับพารามิเตอร์

y (x, a) = e -ax บาป x,

สำหรับพารามิเตอร์ค่าตั้งแต่ -0.1 ถึง 0.1 ด้านล่างนี้คือรายการไฟล์โปรแกรมสำหรับแสดงกลุ่มเส้นโค้ง

รายการโปรแกรม

เอ็กซ์ = ;

สำหรับ = -0.1:0.02:0.1

y = ประสบการณ์ (-a*x).*sin(x);

จากการรันโปรแกรม หน้าต่างกราฟิกจะปรากฏขึ้นพร้อมกลุ่มเส้นโค้งที่ต้องการ

วงจรในขณะที่

ไวยากรณ์

ในขณะที่สภาพวนซ้ำ

คำสั่ง MATLAB

คำอธิบาย

การวนซ้ำจะทำงานตราบเท่าที่เงื่อนไขการวนซ้ำเป็นจริง ในการตั้งค่าเงื่อนไขการดำเนินการแบบวนซ้ำ อนุญาตให้ดำเนินการเชิงสัมพันธ์ต่อไปนี้:

การตั้งค่าเงื่อนไขที่ซับซ้อนมากขึ้นทำได้โดยใช้ตัวดำเนินการเชิงตรรกะ ตัวดำเนินการเชิงตรรกะดังตารางต่อไปนี้


ตัวอย่าง

ผู้ประกอบการสาขา

ตัวดำเนินการแบบมีเงื่อนไขถ้า

ไวยากรณ์

ถ้าเงื่อนไข

คำสั่ง MATLAB

คำอธิบาย

หากเงื่อนไขเป็นจริง คำสั่ง MATLAB ที่อยู่ระหว่าง if และ end จะถูกดำเนินการ และหากเงื่อนไขไม่เป็นความจริง คำสั่งที่อยู่หลังจุดสิ้นสุดจะถูกดำเนินการ

ตัวอย่าง

ตัวดำเนินการแบบมีเงื่อนไขอย่างอื่น

ไวยากรณ์

ถ้าเงื่อนไข1

มิฉะนั้นเงื่อนไขที่ 2

………………………

มิฉะนั้นเงื่อนไข

คำอธิบาย

ขึ้นอยู่กับการปฏิบัติตามเงื่อนไขเฉพาะ สาขาที่เกี่ยวข้องของโปรแกรมจะทำงาน หากเงื่อนไขทั้งหมดเป็นเท็จ คำสั่งที่วางหลังจากนั้นจะถูกดำเนินการ

ตัวอย่าง

ผู้ดำเนินการสวิตช์

ไวยากรณ์

สลับตัวแปร

มูลค่ากรณี1

มูลค่ากรณีที่ 2

……………………

ความหมายเฉพาะกรณี


แต่ละสาขาถูกกำหนดโดยคำสั่ง case และถูกป้อนเมื่อตัวแปรคำสั่ง switch รับค่าที่ระบุหลัง case หรือค่าใดค่าหนึ่งจากรายการ case หลังจากดำเนินการสาขาใด ๆ สวิตช์จะออกและค่าที่ระบุในกรณีอื่น ๆ จะไม่ถูกตรวจสอบอีกต่อไป หากไม่พบค่าที่เหมาะสมสำหรับตัวแปร สาขาของโปรแกรมที่สอดคล้องกับอย่างอื่นจะถูกดำเนินการ

ตัวอย่าง

การหยุดชะงักของวงจร สถานการณ์พิเศษ

ผู้ดำเนินการหยุดพัก

ไวยากรณ์

ตัวดำเนินการแบ่งใช้เพื่อจัดระเบียบการคำนวณแบบวน: สำหรับ...สิ้นสุด ในขณะที่...สิ้นสุด เมื่อตรงตามเงื่อนไข

ถ้าเงื่อนไข

คำสั่งแบ่งจะสิ้นสุดการวนซ้ำ (สำหรับหรือในขณะที่) และคำสั่งที่อยู่ในบรรทัดต่อไปนี้จะถูกดำเนินการ ในกรณีของลูปซ้อนกัน ให้แยกออกจากลูปด้านใน

การจัดการข้อยกเว้น ผู้ดำเนินการพยายามจับ

ไวยากรณ์

คำแถลงที่มีการประหารชีวิต

อาจนำไปสู่ข้อผิดพลาด

คำสั่งที่จะดำเนินการ

เมื่อเกิดข้อผิดพลาดในบล็อก

ระหว่างพยายามและจับ

คำอธิบาย

โครงสร้าง try...catch ช่วยให้คุณสามารถหลีกเลี่ยงสถานการณ์ข้อยกเว้น (ข้อผิดพลาดที่นำไปสู่การยุติโปรแกรม เช่น การเข้าถึงไฟล์ที่ไม่มีอยู่จริง) และดำเนินการบางอย่างหากเกิดขึ้น

ตัวอย่าง

ฟังก์ชั่นการบริการ

แสดงส่งออกข้อความหรือค่าของตัวแปรไปยังหน้าต่างคำสั่ง

ป้อนข้อมูล– ร้องขออินพุตจากแป้นพิมพ์ ใช้เมื่อสร้างแอปพลิเคชันด้วยอินเทอร์เฟซบรรทัดคำสั่ง

ประเมินผลดำเนินการเนื้อหาของสตริงหรือตัวแปรสตริง เช่น คำสั่ง MATLAB

ชัดเจน– ลบตัวแปรสภาพแวดล้อมการทำงาน

กับแอลซี– ล้างหน้าต่างคำสั่ง

ข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันเหล่านี้และฟังก์ชันอื่น ๆ สามารถพบได้โดยการเรียกใช้ที่บรรทัดคำสั่ง

ช่วยfunction_name

มอบหมายงานห้องปฏิบัติการ

จำนวนตัวเลือกการมอบหมายงานเฉพาะเจาะจงจะถูกกำหนดโดยครู

ภารกิจที่ 1

งานนี้เกี่ยวข้องกับการหาพหุนามการประมาณค่าพีชคณิตระดับ n สำหรับชุดข้อมูลบางชุด: พี(x) .

วัตถุประสงค์ของงาน:

มีความจำเป็นต้องสร้างโปรแกรมสำหรับคำนวณค่าสัมประสิทธิ์ของพหุนามการประมาณค่าพีชคณิต พี(x)= 0 + 1 x+ … + ไม่มี.

แนวทาง:

สมมติว่ามีชุดข้อมูลดังต่อไปนี้:

ฉัน 0 1 2 3
เอ็กซ์ฉัน 1,2 1,4 1,6 1,8
ใช่แล้ว 8,3893 8,6251 8,9286 8,9703

ราคาต่อรอง 0 , 1 , …, หนึ่งถูกกำหนดจากการแก้ระบบสมการ:

ที่นี่ n– ลำดับพหุนามการประมาณค่า

n+1 – จำนวนคู่คะแนนที่กำหนด ( x, ),

0 , 1 ,… หนึ่ง– ค่าสัมประสิทธิ์ที่ต้องการของพหุนาม พี(x)= 0 + 1 x+ … + ไม่มี).

ข้อกำหนดของโปรแกรม

· กำหนดขอบเขตของส่วน ซึ่งมีการสร้างพหุนามการประมาณค่าไว้ พี(เอ็กซ์)

· ชุด n– จำนวนส่วนของการประมาณค่า (หรือซึ่งเท่ากันคือระดับของพหุนาม)

บันทึก: x0, xn, nเข้ามาจากแป้นพิมพ์

· เพื่อให้ได้ข้อมูลเบื้องต้น (x, ย)(จำนวนคู่แต้ม (x ฉัน y ฉัน)ซึ่งเป็นการสร้างพหุนามการประมาณค่า พี(เอ็กซ์)n1=n+1) จัดเตรียม:

เข้าสู่โหนดสุ่ม x ผม, ผม=0, nจากแป้นพิมพ์

การคำนวณโหนด x ผม , ผม=0, n,สอดคล้องกับการจัดเรียงข้อโต้แย้งแบบเดียวกัน xบนส่วน

ในย่อหน้า 1.2 ค่า ใช่ ฉัน , i=0, nไม่ว่าจะป้อนจากแป้นพิมพ์ (หากไม่ทราบฟังก์ชันต้นทาง) หรือคำนวณจากฟังก์ชันที่กำหนด ฉ(x)- นิพจน์ที่กำหนดฟังก์ชันจะถูกป้อนจากแป้นพิมพ์ และต้องเป็นไปตามกฎสำหรับการเขียนนิพจน์ใน MATLAB

การป้อนข้อมูล ( x ฉัน, y ฉัน, i=0, n) จากไฟล์

· แก้ระบบสมการเพื่อกำหนดค่าสัมประสิทธิ์ของพหุนาม P(x)

· สร้างกราฟของฟังก์ชันตารางดั้งเดิมและพหุนาม P(x)

· หากข้อมูลต้นฉบับถูกกำหนดเป็นฟังก์ชัน f(x) ให้พล็อตข้อผิดพลาดในการประมาณค่า /f(x) – P(x)/ คำนวณค่าสัมบูรณ์สูงสุดของข้อผิดพลาดการแก้ไขในช่วงเวลาที่กำหนด

เมื่อดำเนินการจุดสุดท้ายในส่วนนั้น ใช้เวลาอย่างน้อย 500 คะแนนในการคำนวณ

ภารกิจที่ 2

การแก้ไขเส้นโค้ง

วัตถุประสงค์ของงาน:

จำเป็นต้องสร้างโปรแกรมสำหรับคำนวณค่าสัมประสิทธิ์และสร้างฟังก์ชัน spline S(x) ซึ่ง "ติดกัน" จากชิ้นส่วนของพหุนามลำดับที่ 3 S ฉัน(x), ซึ่งมีรูปแบบการบันทึกพิเศษ:

,

ฟังก์ชั่นเอส ฉัน(x) กำหนดไว้ในเซ็กเมนต์

ข้อกำหนดของโปรแกรม

เมื่อปฏิบัติงานนี้ คุณต้อง:

· กำหนดขอบเขตของเซ็กเมนต์ที่สร้างฟังก์ชัน spline S(x)

· เซต n – จำนวนของเซกเมนต์การประมาณค่า ซึ่งแต่ละเซกเมนต์มีการสร้างพหุนามลูกบาศก์ Si(x)

· หมายเหตุ: ป้อน x0, xn, n จากแป้นพิมพ์

· จัดระเบียบอินพุตของข้อมูลเริ่มต้น (x, y) (จำนวนคู่ของจุด (xi, yi) ที่ใช้สร้างฟังก์ชัน spline S(x), n1=n+1) โดยให้:

การป้อนโหนดที่ตั้งแบบสุ่ม xi, i=0, n จากแป้นพิมพ์

การคำนวณโหนด xi, i=0, n ซึ่งสอดคล้องกับตำแหน่งที่สม่ำเสมอของอาร์กิวเมนต์ x บนเซ็กเมนต์

ในย่อหน้า 1,2 ค่าของ yi, i=0, n จะถูกป้อนจากแป้นพิมพ์ (หากไม่ทราบฟังก์ชันดั้งเดิม) หรือคำนวณโดยใช้ฟังก์ชันที่กำหนด f(x) นิพจน์ที่กำหนดฟังก์ชันจะถูกป้อนจากแป้นพิมพ์ และต้องเป็นไปตามกฎสำหรับการเขียนนิพจน์ใน MATLAB

การป้อนข้อมูล (xi, yi, i=0, n) จากไฟล์

S1""(x0)=0, S3""(x3)=0

S1"(x0)=ฉ "(x0), S3"(x3)=ฉ "(x3)

S1""(x0)=ฉ "(x0), S3""(x0)=ฉ "(x3)

· เพื่อกำหนดค่าสัมประสิทธิ์ของเส้นโค้งลูกบาศก์ธรรมชาติ (เงื่อนไขขอบเขต 1) จำเป็นต้องแก้ระบบสมการต่อไปนี้:

สัมประสิทธิ์ σ 0 =0,σ n =0

· สร้างกราฟของฟังก์ชันดั้งเดิมและฟังก์ชันเส้นโค้งสำหรับเงื่อนไขขอบเขตทั้งสามประเภท

· สร้างกราฟของฟังก์ชันข้อผิดพลาดการแก้ไขเส้นโค้ง f(x) – S(x) สำหรับเงื่อนไขขอบเขตทั้งสามประเภท

บันทึก:

ใน MATLAB ดัชนีของอาร์เรย์หนึ่งมิติและสองมิติเริ่มต้นจาก 1 ไม่ใช่จาก 0 โปรดคำนึงถึงสิ่งนี้เมื่อเขียนโปรแกรม

นอกจากโปรแกรมที่มี โครงสร้างเชิงเส้น, ซึ่งมีการดำเนินการตามคำสั่งอย่างเคร่งครัด มีอัลกอริธึมจำนวนมากที่มีโครงสร้าง ไม่เชิงเส้น. ในกรณีนี้ ลำดับขององค์ประกอบอัลกอริทึมสามารถดำเนินการได้ขึ้นอยู่กับเงื่อนไขบางประการ บางครั้งมีจำนวนการทำซ้ำที่จำกัด - วงจรปกติ บางครั้งอยู่ในรูปแบบของวงจรที่จะเสร็จสมบูรณ์เมื่อตรงตามเงื่อนไขที่กำหนด โปรแกรมร้ายแรงเกือบทุกโปรแกรมมีโครงสร้างที่ไม่เป็นเชิงเส้น ในการสร้างโปรแกรมดังกล่าว จำเป็นต้องมีโครงสร้างการควบคุมพิเศษ มีให้บริการในภาษาการเขียนโปรแกรมทุกประเภท ระดับสูงและโดยเฉพาะใน Matlab

มาดูตัวดำเนินการกัน -files สำหรับรายละเอียดเพิ่มเติม

ผู้ดำเนินการที่ได้รับมอบหมายผู้ดำเนินการหลักของระบบการเขียนโปรแกรม แมทแล็บเป็น ผู้ปฏิบัติงานที่ได้รับมอบหมายโดยมีโครงสร้างดังนี้

ชื่อตัวแปร= การแสดงออก

ตัวดำเนินการมีวัตถุประสงค์เพื่อระบุตัวแปรและแสดงด้วยสัญลักษณ์ = ทางด้านซ้ายเป็นชื่อของตัวแปร และทางด้านขวาคือนิพจน์ทางคณิตศาสตร์หรือสตริง (กฎสำหรับการเขียนเลขคณิตและนิพจน์สตริงถูกกล่าวถึงในหัวข้อ 1.1.2) นี่คือตัวอย่างบางส่วนของตัวดำเนินการที่ได้รับมอบหมาย (รูปที่ 1.3.4-1)

ข้าว. 1.3.4-1. ตัวอย่างของผู้ปฏิบัติงานที่ได้รับมอบหมาย

ตัวแปรทั้งหมดที่ใช้ทางด้านขวาของตัวดำเนินการกำหนดจะต้องถูกกำหนดไว้ก่อนหน้านี้ หากบรรทัดคำสั่งลงท้ายด้วยเครื่องหมายอัฒภาค ( ; ) จากนั้นผลลัพธ์ของคำสั่งจะไม่แสดง มิฉะนั้นจะถูกแสดงในบรรทัดถัดไปของหน้าต่างคำสั่ง หมายเหตุนี้ยังใช้กับการดำเนินการตามคำสั่งการมอบหมายที่อยู่ใน -ไฟล์

ตัวดำเนินการป้อนข้อมูลการป้อนข้อมูลลงใน Matlab สามารถทำได้โดยใช้ตัวดำเนินการกำหนด ( ก=5;) และการใช้ฟังก์ชันป้อนข้อมูลด้วยแป้นพิมพ์:

ชื่อตัวแปร= อินพุต("ขอ");

ฟังก์ชันนี้จะเข้าสู่นิพจน์จากแป้นพิมพ์ และผลลัพธ์จะถูกจัดเก็บไว้ในตัวแปรที่เรียกว่า - ในตัวอย่างด้านล่างเป็นตัวแปร ขั้นแรกให้ป้อนค่าตัวเลขแล้วจึงป้อนนิพจน์ตัวเลข (รูปที่ 1.3.4-2)

ข้าว. 1.3.4-3. การประเมินการแสดงออกที่กำหนดในรูปแบบสัญลักษณ์

คำสั่งแบบมีเงื่อนไขถ้า... จบ. ตัวดำเนินการแบบมีเงื่อนไข ถ้าวี มุมมองทั่วไปเขียนดังนี้:

ถ้านิพจน์บูลีน1

คำแนะนำ1

อย่างอื่นเงื่อนไข2

บูลีนนิพจน์2

นิพจน์บูลีน3

กฎการบันทึก การแสดงออกทางตรรกะอธิบายไว้ในหัวข้อ 1.1

การออกแบบนี้ช่วยให้มีตัวเลือกส่วนตัวได้หลายแบบ ง่ายที่สุด - สาขาที่ถูกตัดทอน [x]มีแบบฟอร์มดังนี้

ถ้านิพจน์บูลีน

คำแนะนำ

ให้เราระลึกว่าถ้า นิพจน์บูลีนส่งคืนค่าบูลีน 1 (เช่น “จริง”) จะถูกดำเนินการ คำแนะนำประกอบเป็นร่างกายของโครงสร้าง ถ้า...จบ- ในกรณีนี้ผู้ปฏิบัติงาน จบระบุจุดสิ้นสุดของรายการคำแนะนำ คำแนะนำในรายการจะคั่นด้วยเครื่องหมายจุลภาคหรืออัฒภาค ถ้า นิพจน์บูลีนไม่ได้ดำเนินการ (ให้ค่าบูลีน 0 , "โกหก") แล้ว คำแนะนำยังไม่สมบูรณ์เช่นกัน

ด้านล่างนี้เป็นตัวอย่างของการใช้สาขาที่ถูกตัดทอนที่ง่ายที่สุด ซึ่งนำไปใช้งานโดยใช้ตัวดำเนินการ ถ้า(รูปที่ 1.3.4-4)

ข้าว. 1.3.4-5. ตัวอย่างสาขามาตรฐาน

จากตัวอย่างข้างต้นจะเห็นได้ว่าผู้ปฏิบัติงาน ถ้าอาจเป็นบรรทัดเดียวหรือหลายบรรทัดก็ได้

ลองดูตัวอย่างที่ซับซ้อนกว่านี้ - สาขาที่ซ้อนกัน- ลองดูตัวอย่าง

อีกทั้งเพื่อสะท้อนโครงสร้างการแตกแขนงที่ซับซ้อนได้อย่างเต็มที่โดยไม่ต้องกังวลเรื่องการโอนยาว บรรทัดคำสั่งเราใช้ -ฟังก์ชั่น (รูปที่ 1.3.4-7) ให้เราเลือกข้อมูลเพื่อตรวจสอบสาขาหลักแล้วหันไปที่ฟังก์ชั่น ราซ()ด้วยข้อมูลเริ่มต้นที่แตกต่างกัน (รูปที่ 1.3.4-6)

ข้าว. 1.3.4-7. ฟังก์ชันที่ใช้การแตกแขนงแบบซ้อน

ตัวดำเนินการแบบปรนัยคือสวิตช์หากต้องการใช้การเลือกหลายรายการ ให้ใช้โครงสร้างต่อไปนี้ สวิตช์:

สวิตช์การแสดงออก

กรณีแนวคิด_1

รายการ_ของ_คำแนะนำ_1

กรณีค่า_2

รายการ_ของ_คำแนะนำ_2

กรณีค่า_N

รายการ_ของ_คำแนะนำ_N

มิฉะนั้น

Instruction_list_N+1

ถ้าเป็นการแสดงออกหลังส่วนหัว สวิตช์มีความหมายอย่างหนึ่งในสำนวน ความหมาย...,จากนั้นบล็อกคำสั่งจะถูกดำเนินการ กรณีมิฉะนั้น - รายการคำแนะนำที่อยู่หลังผู้ปฏิบัติงาน มิฉะนั้น- เมื่อดำเนินการบล็อก กรณีรายการคำสั่งเหล่านั้นถูกดำเนินการเพื่อที่ ความหมายเกิดขึ้นพร้อมกับ โดยการแสดงออก- โปรดทราบว่า ความหมายอาจเป็นตัวเลข ค่าคงที่ ตัวแปร เวกเตอร์ของเซลล์ หรือแม้แต่ตัวแปรสตริง ให้เราอธิบายการใช้โอเปอเรเตอร์การค้นหา สวิตช์ตัวอย่างต่อไปนี้:

-ฟังก์ชั่นที่ใช้หลายสาขาจะแสดงในรูป 1.3.4-8 และการเข้าถึงด้วยข้อมูลเบื้องต้นที่ทำให้คุณสามารถตรวจสอบแต่ละสาขาของสาขาได้ดังรูปที่ 1.3.4-8 1.3.4-9.

ข้าว. 1.3.4-9. การเรียกใช้ฟังก์ชัน มัลติฟังก์ชั่น()

การทำงาน มัลติฟังก์ชั่น(x,n)พารามิเตอร์สองตัว โดยตัวที่สองมีบทบาทเป็นตัวบ่งชี้ที่กำหนดประเภทของการพึ่งพาการทำงาน ค่าฟังก์ชันถูกเขียนลงในตัวแปร - ถ้า n=1 บล็อกตัวพิมพ์แรกจะถูกดำเนินการ ถ้า 2 แล้วบล็อกตัวที่สอง ถ้า n=2, 3 หรือ 4 ก็จะดำเนินการบล็อกตัวที่สาม หากค่าของตัวแปร n ไม่ตรงกับค่าใด ๆ ที่แสดงไว้ คำสั่งจะอยู่หลังจากนั้น คำหลัก มิฉะนั้น.

โอเปอเรเตอร์ลูปปกติใช้สำหรับ...สิ้นสุด ประเภทตัวดำเนินการวนรอบ เพื่อ...จบมักใช้เพื่อจัดระเบียบการคำนวณตามจำนวนการวนซ้ำที่กำหนด โครงสร้างของวงจรดังกล่าวมีดังนี้:

สำหรับ วา = s:d:e

คำแนะนำ1

คำแนะนำN

ที่ไหน ส-ค่าเริ่มต้นของตัวแปรลูป var, ด-การเพิ่มขึ้นของตัวแปรนี้และ อี -ค่าสุดท้ายของตัวแปรควบคุม เมื่อเกิน การวนซ้ำจะสิ้นสุด ยังสามารถเขียนเป็นแบบฟอร์มได้ ส:อี(ในกรณีนี้ ด=ล- รายการคำสั่งที่ดำเนินการในลูปจะลงท้ายด้วยคำสั่ง จบ.

เป็นตัวอย่างการใช้งานโอเปอเรเตอร์ เพื่อ...จบคำนวณผลรวมขององค์ประกอบอาร์เรย์ เอ็กซ์ซึ่งมีค่าที่กำหนดไว้ในหน้าต่างคำสั่งโดยใช้ฟังก์ชัน m สรุป()(รูปที่ 1.3.4-10) พารามิเตอร์ที่เป็นเวกเตอร์ x- จำนวนองค์ประกอบอาร์เรย์ เอ็กซ์กำหนดโดยฟังก์ชัน ความยาว- นอกเหนือจากการเรียกใช้ฟังก์ชันแล้ว หน้าต่างคำสั่งยังช่วยให้คุณตรวจสอบผลลัพธ์การคำนวณโดยใช้ฟังก์ชันในตัวอีกด้วย ผลรวม(x)(รูปที่ 1.3.4-11)

ข้าว. 1.3.4-11. การเรียกใช้ฟังก์ชัน สรุป()และฟังก์ชั่นในตัว ผลรวม()

โอเปอเรเตอร์สามารถใช้งานแบบวนซ้ำได้ ดำเนินการต่อ ซึ่งส่งผ่านการควบคุมไปยังการวนซ้ำครั้งถัดไปของลูป ข้ามคำสั่งที่เขียนหลังจากนั้น และในลูปแบบซ้อน จะส่งผ่านการควบคุมไปยังการวนซ้ำครั้งถัดไปของลูปหลัก ผู้ดำเนินการ หยุดพัก สามารถใช้เพื่อยุติการดำเนินการของลูปตั้งแต่เนิ่นๆ (เช่น เมื่อทำการดีบั๊กส่วนของโปรแกรม) ทันทีที่เจอในโปรแกรม การวนซ้ำจะถูกขัดจังหวะ

นอกจากวงจรปกติธรรมดาใน Matlab แล้ว ยังสามารถจัดระเบียบได้อีกด้วย ลูปที่ซ้อนกัน- ลองพิจารณาตัวอย่างการสร้างอาร์เรย์สองมิติ เอ,แต่ละองค์ประกอบแสดงถึงผลรวมของดัชนี (รูปที่ 1.3.4-12) อุทธรณ์ไปยัง สคริปต์-ไฟล์ วซิกล์แสดงในรูป 1.3.4-13.

ข้าว. 1.3.4-13. อุทธรณ์ไปยัง สคริปต์- ไฟล์ที่มีชื่อ วซิกล์

ตัวดำเนินการวนซ้ำคือ while...endมุมมองทั่วไปของโครงสร้าง ในขณะที่...จบ ดูเหมือนว่านี้:

ในขณะที่นิพจน์บูลีน

คำแนะนำ

คุณลักษณะที่โดดเด่นของโครงสร้างนี้คือคำสั่งที่อยู่ในเนื้อความของโครงสร้างการทำซ้ำจะดำเนินการเฉพาะในกรณีที่บางส่วนเท่านั้น นิพจน์บูลีน"จริง". ทันทีที่เงื่อนไขกลายเป็นเท็จ โครงสร้างการทำซ้ำจะออกจากการทำงาน และการควบคุมจะถูกถ่ายโอนไปยังคำสั่งที่อยู่หลังคีย์เวิร์ด จบ.

ขอยกตัวอย่างง่ายๆ (รูปที่ 1.3.4-14)


ข้าว. 1.3.4-14. โปรแกรมโต้ตอบโดยใช้ตัวดำเนินการ ในขณะที่...จบ

โปรแกรมนี้บันทึกไว้ใน - ชื่อไฟล์ ไพรเมอร์11ทำหน้าที่คำนวณเส้นรอบวงซ้ำๆ จากค่ารัศมีที่ผู้ใช้ป้อน โดยที่บทสนทนาถูกนำไปใช้โดยใช้คำสั่ง ป้อนข้อมูล.เส้นที่เกี่ยวข้องกับอินพุตตัวแปร และการคำนวณเส้นรอบวงรวมอยู่ในโครงสร้างการควบคุม ในขณะที่...จบ- นี่เป็นสิ่งจำเป็นสำหรับการคำนวณซ้ำแบบวนเมื่อป้อนค่าที่ต่างกัน - ลาก่อน ร>=0วงจรจะเกิดซ้ำ แต่มันก็คุ้มค่าที่จะถาม ร<0 การคำนวณเส้นรอบวงจะหยุดและสิ้นสุดการวนซ้ำ เนื่องจากในบรรทัดที่สองของโปรแกรมจะมีค่า ถูกกำหนดให้เป็น 0 การวนซ้ำจะถูกทำซ้ำอย่างน้อยหนึ่งครั้ง

การทำงานกับโปรแกรมในหน้าต่างคำสั่งจะแสดงในรูป 1.3.4-15.

ข้าว. 1.3.4-16. การขัดจังหวะโปรแกรมโดยใช้คำสั่ง หยุดพัก

ผู้ดำเนินการ ดำเนินการต่อผ่านการควบคุมไปยังการวนซ้ำครั้งถัดไปของลูป ข้ามคำสั่งที่เขียนหลังจากนั้น และในลูปแบบซ้อน จะส่งผ่านการควบคุมไปยังการวนซ้ำครั้งถัดไปของลูปหลัก ด้านล่างนี้เป็นตัวอย่างของการคำนวณผลรวมและผลิตภัณฑ์ขององค์ประกอบบวกของอาร์เรย์สองมิติ b(3,3) (รูปที่ 1.3.4-17)


ข้าว. 1.3.4-17. การขัดจังหวะโปรแกรมโดยใช้คำสั่ง ดำเนินการต่อ

ตัวอย่างการแก้ปัญหาการใช้งาน

M-ไฟล์

ตัวอย่างที่ 1.3.5-1 ให้ n ตัวเลข - คุณต้องคำนวณผลรวม: ที่ไหน

เพื่อแก้ไขปัญหานี้ จึงได้มีการพัฒนาฟังก์ชันขึ้น เอฟบี(x)ซึ่งใช้อัลกอริธึมในการคำนวณค่าปัจจุบันของฟังก์ชัน ฟังก์ชั่นนี้มีพารามิเตอร์อินพุตหนึ่งตัว - ค่าปัจจุบันขององค์ประกอบอาร์เรย์ และพารามิเตอร์เอาต์พุตหนึ่งตัว - (รูปที่ 1.3.5-1) เข้าถึงฟังก์ชันในวงวนที่จัดระเบียบเพื่อคำนวณผลรวม (รูปที่ 1.3.5-2)

ข้าว. 1.3.5-2. โปรแกรมที่ใช้คำนวณผลรวมของตัวเลข

ในการคำนวณผลรวมของค่าฟังก์ชัน ฟังก์ชันจึงถูกสร้างขึ้น สคริปต์- ไฟล์ที่มีชื่อ ซาดาชา.มโดยระบุจำนวนตัวเลขก่อน ( n=10) และเวกเตอร์ของค่าของพวกเขา ( ) จากนั้นจะมีการจัดระเบียบการวนซ้ำปกติเพื่อเรียกใช้ฟังก์ชันต่างๆ FB()และการคำนวณจำนวนเงิน

การคำนวณจะดำเนินการโดยการวิ่ง สคริปต์-file โดยพิมพ์ในหน้าต่างบรรทัดคำสั่ง หน้าต่างคำสั่งชื่อของเขา ซาดาชา- ผลลัพธ์ของการดำเนินการแสดงไว้ในรูปที่ 1 1.3.5-3.


ข้าว. 1.3.5-3. ปล่อย สคริปต์-ไฟล์ ซาดาชาสำหรับการดำเนินการ

ตัวอย่างที่ 1.3.5-2. สร้างอาร์เรย์สองมิติ a(3,4) จากตัวเลขใดๆ คำนวณและส่งออกอาร์เรย์หนึ่งมิติ b ซึ่งแต่ละองค์ประกอบคือค่าเฉลี่ยเลขคณิตขององค์ประกอบของแถวที่สอดคล้องกันของอาร์เรย์ a

ในรูป ให้ 1.3.5-4 สคริปต์- ไฟล์ที่มีชื่อ ซาดาชา2โดยที่เมทริกซ์ถูกป้อนเข้าไป ประกอบด้วยสามแถวและสี่คอลัมน์ การวนซ้ำจะถูกจัดระเบียบตามจำนวนองค์ประกอบอาเรย์ที่กำลังก่อตัว โดยการเรียกใช้ฟังก์ชัน sred_ar()- อาร์เรย์ถูกส่งผ่านไปยังฟังก์ชัน , หมายเลขบรรทัด ( ฉัน) และจำนวนองค์ประกอบในบรรทัด ( - การพิมพ์องค์ประกอบอาร์เรย์ ระบุไว้ในคอลัมน์

ข้าว. 1.3.5-5. การทำงาน sred_ar()การคำนวณค่าเฉลี่ยเลขคณิต
องค์ประกอบสตริงอาร์เรย์

ซึ่งเป็นผลมาจากการเปิดตัว สคริปต์- ชื่อไฟล์ ซาดาชา2ออกไปนอกหน้าต่าง หน้าต่างคำสั่งแสดงคอลัมน์ขององค์ประกอบอาร์เรย์

ข้าว. 1.3.5-7. การทำงาน เยี่ยม()การคำนวณค่าของเทอมที่ i

ข้าว. 1.3.5-9. เรียกใช้ฟังก์ชัน ผลรวม()สำหรับการดำเนินการ


งานห้องปฏิบัติการในหัวข้อ

“เครื่องมืออัลกอริธึมและการเขียนโปรแกรม

ใน Matlab"

คำถามที่ต้องศึกษา

1) ประเภท ม-ไฟล์.

2) การสร้างและบันทึกไฟล์ใหม่ และการเปิดไฟล์ m ที่สร้างไว้ก่อนหน้านี้

3) คุณสมบัติ สคริปต์-ไฟล์และ ม-ฟังก์ชั่น

4) เปิดตัวเพื่อดำเนินการ สคริปต์-ไฟล์จากโปรแกรมแก้ไขข้อความ

5) เปิดตัวเพื่อดำเนินการ สคริปต์-ไฟล์จากหน้าต่างคำสั่ง

6) อุทธรณ์ต่อ สคริปต์-ไฟล์และ ม-ฉฟังก์ชั่น

7) เครื่องมือภาษาการเขียนโปรแกรมในระบบ Matlab

8) ตัวดำเนินการ m-Language พื้นฐาน วัตถุประสงค์ และรูปแบบ .

2. งานทั่วไป

1) ศึกษาเนื้อหาในหัวข้อ 1.3 (หน้า 1.3.1 – 1.3.5).

2) เลือกงานแต่ละรายการ จากโต๊ะ 1.3.6-1.

3) ดีไซน์ ม -ฟังก์ชันสำหรับการใช้อัลกอริธึมมาตรฐาน: การคำนวณผลรวมจำกัด สาขา การค้นหาค่าต่ำสุดและค่าสูงสุดในลำดับข้อมูล ฯลฯ

4) เข้า และ บันทึก - ฟังก์ชั่นบนสื่อภายนอก

5) สร้าง ใหม่สคริปต์ - ไฟล์ที่คุณป้อนรหัสโปรแกรมที่อธิบายตรรกะในการแก้ปัญหา

6) บันทึกสคริปต์ -file ในไดเร็กทอรีปัจจุบัน

7) สคริปต์แก้ไขข้อบกพร่อง t-file เปิดใช้งานเพื่อดำเนินการจากโปรแกรมแก้ไขข้อความด้วยคำสั่งวิ่ง .

8) เตรียมตัว และ เข้าข้อมูลเบื้องต้นสำหรับการแก้ปัญหา

9) ดำเนินการสคริปต์ - ไฟล์จากหน้าต่างบรรทัดคำสั่งหน้าต่างคำสั่ง .

10) บันทึกข้อความ หน้าต่างการทำงานบนสื่อภายนอก

11) ให้ผลลัพธ์ ทำงานให้กับครู คำตอบสำหรับคำถามที่ถาม

12) ดำเนินการ ทีม เคลียร์ทั้งหมดสำหรับการทำความสะอาด สภาพแวดล้อมในการทำงาน .

13) ส่งรายงานของคุณ ตามงานที่ทำเสร็จแล้ว .


ตัวเลือกสำหรับการมอบหมายงานส่วนบุคคล

ตารางที่ 1.3.6-1

ออกกำลังกาย
ป้อนจำนวนธรรมชาติ n และเวกเตอร์ของจำนวนจริง หา: ที่ไหน
คำนวณ ที่ไหน

ตั้งค่าอาร์เรย์ ซึ่งประกอบด้วยองค์ประกอบจำนวนคู่ เลขคู่ละ โดยที่ i+1 เป็นผลคูณของสอง ระบุพิกัดของจุดยอดของเส้นประ สร้างเส้นหลายเส้นโดยเชื่อมต่อจุดยอดสุดท้ายกับจุดแรก
- คำนวณผลิตภัณฑ์ , ที่ไหน
ป้อนจำนวนธรรมชาติ n และจำนวนจริง x
คำนวณ ป้อนจำนวนธรรมชาติ n ค้นหาค่าที่ใหญ่ที่สุดในบรรดาค่าต่างๆ
โดยที่ k=1, 2,…,n รวมถึงผลรวมของค่าที่ได้รับทั้งหมด ป้อนจำนวนธรรมชาติ n ท่ามกลางคุณค่าต่างๆ
, ที่ไหน
(i=1,2,…n) หาค่าบวกทั้งหมดแล้วคำนวณผลรวม ใส่จำนวนธรรมชาติ n และเวกเตอร์ของจำนวนจริง
- พิจารณาว่าเวกเตอร์มีจำนวนบวกหรือลบมากกว่านั้น และหาจำนวนบวกที่ใหญ่ที่สุดและน้อยที่สุดและจำนวนบวกน้อยที่สุด
ป้อนเมทริกซ์ B(5,7) และสร้างเวกเตอร์ C(5) จากองค์ประกอบที่ใหญ่ที่สุดตัวแรกของแถว แสดงองค์ประกอบในแถวและคอลัมน์ สร้างเวกเตอร์ตามกฎ:
(i=1,2,…n) หาค่าบวกทั้งหมดแล้วคำนวณผลรวม - ค้นหาจำนวนของจำนวนบวกสองตัวที่อยู่ติดกัน และจำนวนสองตัวที่อยู่ติดกันที่มีเครื่องหมายต่างกัน
ป้อนเมทริกซ์จตุรัส A(4,4) สร้างเวกเตอร์ X จากองค์ประกอบสูงสุดของคอลัมน์ แสดงองค์ประกอบบนหน้าจอในลำดับตรงและย้อนกลับ
ป้อนเวกเตอร์จำนวนเต็ม - แปลงค่าโดยให้เลขศูนย์มาก่อน จากนั้นจึงแปลงองค์ประกอบอื่นๆ ทั้งหมด กำหนดผลรวมและจำนวนองค์ประกอบที่มีค่าหารด้วย 5 ลงตัว
ป้อนเวกเตอร์ของจำนวนจริง - สร้างอาร์เรย์ x จากนั้นแต่ละองค์ประกอบจะมีองค์ประกอบต่อเนื่องกันสูงสุดสามองค์ประกอบในอาร์เรย์ z
รูปแบบเมทริกซ์ A(4,4) ตามกฎ:
ค้นหาและแสดงค่าและดัชนีขององค์ประกอบที่เหมือนกันสองรายการ หากไม่มี ให้แสดงข้อความ
สร้างเมทริกซ์ D(3,2) ตามกฎ: - สร้างเวกเตอร์จากองค์ประกอบลบของเมทริกซ์ผลลัพธ์
ระบุจำนวนธรรมชาติ n คำนวณว่าเมทริกซ์แบบ n คูณ n ตัวใดมีองค์ประกอบที่เป็นบวกมากกว่าหากองค์ประกอบนั้นถูกสร้างขึ้นตามกฎ: แสดงเมทริกซ์ที่สร้างขึ้น
ใส่เมทริกซ์จตุรัสของจำนวนจริง A(4,4) ค้นหาผลรวมของค่าที่ใหญ่ที่สุดขององค์ประกอบของแถว สร้างเมทริกซ์ B(4,4) ใหม่โดยการคูณแต่ละองค์ประกอบของเมทริกซ์ A ด้วยผลรวมที่พบแล้วหารด้วยดีเทอร์มิแนนต์ของเมทริกซ์ดั้งเดิม
ป้อนเมทริกซ์ของจำนวนจริง A(4,7) และรับเวกเตอร์ C(4) จากนั้นองค์ประกอบคือ: · องค์ประกอบที่ใหญ่ที่สุดในแถวแรก;
· องค์ประกอบที่เล็กที่สุดในแถวที่สอง
· ค่าเฉลี่ยเลขคณิตขององค์ประกอบของแถวที่สาม
· ผลรวมขององค์ประกอบของแถวที่สี่
ป้อนจำนวนธรรมชาติ n และเมทริกซ์ของจำนวนจริง C(n,n) ค้นหาค่าเฉลี่ยเลขคณิตของค่าที่ใหญ่ที่สุดและเล็กที่สุดขององค์ประกอบและแทนที่องค์ประกอบแนวทแยงด้วยค่านี้แสดงเมทริกซ์ C บนหน้าจอ
ป้อนจำนวนธรรมชาติ k1, k2 และเมทริกซ์จำนวนจริงขนาด 8x4 สลับองค์ประกอบ k1 และ k2 ของแถวในเมทริกซ์ ที่ไหน
ป้อนจำนวนธรรมชาติ n และเมทริกซ์ของจำนวนจริง C(n,9) หาค่าเฉลี่ยเลขคณิตของแต่ละคอลัมน์ที่เป็นเลขคู่
ใส่เมทริกซ์ของจำนวนจริง A(3,4) แทนที่องค์ประกอบของแถวเมทริกซ์ด้วยผลรวมสูงสุดของค่าองค์ประกอบ - องค์ประกอบที่มีค่าต่ำสุด - สองและตั้งค่าองค์ประกอบที่เหลือของเมทริกซ์เท่ากับศูนย์
สร้างเมทริกซ์ A(4,4) ตามกฎลบคอลัมน์ที่มีองค์ประกอบน้อยกว่า 10 ออกจากเมทริกซ์
สร้างเมทริกซ์ B(9,3) ตามกฎ: กำหนดองค์ประกอบที่เล็กที่สุดในแต่ละแถวของเมทริกซ์แล้วเขียนลงในองค์ประกอบที่สอดคล้องกันของเวกเตอร์ C ให้เอาท์พุตผลลัพธ์เวกเตอร์ C
ใส่เมทริกซ์ของจำนวนจริง A(3,4) ซึ่งสมาชิกทุกตัวต่างกัน ในแต่ละแถว คุณควรเลือกค่าที่ใหญ่ที่สุดและเล็กที่สุด และควรเขียนผลรวมของดัชนีของคอลัมน์ที่ค่าเหล่านั้นอยู่ด้วยองค์ประกอบที่สอดคล้องกันของเวกเตอร์ C(3)
ใส่เมทริกซ์ของจำนวนจริง A(4,4) รับลำดับขององค์ประกอบของเส้นทแยงมุมหลักและเส้นทแยงมุมรอง สร้างเวกเตอร์ B(4) และ C(4) จากองค์ประกอบเหล่านี้และแสดงบนหน้าจอ

1) ในรูปแบบความคิดเห็น:

· ชื่อผลงานในห้องปฏิบัติการ

· ชื่อนักศึกษา หมายเลขกลุ่ม

· หมายเลขตัวเลือก

· งานส่วนบุคคล

2) โปรโตคอลการคำนวณ (เซสชัน) ในหน้าต่าง หน้าต่างคำสั่งมาพร้อมกับความคิดเห็นที่จำเป็น

1.3.7. คำถามเพื่อความปลอดภัยในหัวข้อ

1) คืออะไร สคริปต์-ไฟล์และคุณสมบัติคืออะไร?

2) อย่างไร สคริปต์-ไฟล์กำลังถูกดำเนินการหรือไม่?

3) คืออะไร ม-ฟังก์ชั่น ฉัน?

4) อะไรคือความแตกต่าง สคริปต์-ไฟล์จาก ม-ฟังก์ชั่น?

5) สามารถ ม- การทำงานมีพารามิเตอร์เอาต์พุตหลายตัวหรือไม่

6) อุทธรณ์ต่อ m- ฟังก์ชั่น.

7) รูปแบบตัวดำเนินการ ป้อนข้อมูล().

8) วิธีการใช้งานตัวดำเนินการ ถ้า...จบใช้การแยกสาขาแบบมาตรฐาน ถูกตัดทอน และซ้อนกันหรือไม่

9) รูปแบบของตัวดำเนินการหลายสาขา สวิตช์.

10) รูปแบบตัวดำเนินการวนซ้ำปกติ เพื่อ...จบคุณสมบัติการตั้งค่าของตัวแปรลูป

11) การมอบหมายผู้ปฏิบัติงาน ดำเนินการต่อและ พักเบรค.

12) ตัวดำเนินการวนซ้ำ ในขณะที่...จบและโครงสร้างของมัน


ส่วนที่ 2 เทคโนโลยีโซลูชัน
ปัญหาการคำนวณโดยใช้ MatLab

ภาษาคอมพิวเตอร์ทางเทคนิค

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

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

เริ่มต้นใช้งาน

เรียนรู้พื้นฐาน MATLAB

พื้นฐานภาษา

ไวยากรณ์ การทำดัชนีและการประมวลผลอาร์เรย์ ชนิดข้อมูล ตัวดำเนินการ

การนำเข้าและการวิเคราะห์ข้อมูล

นำเข้าและส่งออกข้อมูล รวมถึงไฟล์ขนาดใหญ่ การประมวลผลข้อมูลล่วงหน้า การแสดงภาพ และการวิจัย

คณิตศาสตร์

พีชคณิตเชิงเส้น การสร้างอนุพันธ์และปริพันธ์ การแปลงฟูเรียร์ และคณิตศาสตร์อื่นๆ

กราฟิก

กราฟิก 2D และ 3D, รูปภาพ, แอนิเมชั่น

การเขียนโปรแกรม

สคริปต์ ฟังก์ชัน และคลาส

การสร้างแอปพลิเคชัน

พัฒนาแอปด้วย App Designer, Programmable Workflow หรือ GUIDE

เครื่องมือพัฒนาซอฟต์แวร์

การดีบักและการทดสอบ การจัดระเบียบโครงการขนาดใหญ่ การบูรณาการกับระบบควบคุมเวอร์ชัน การบรรจุกล่องเครื่องมือ