เนื่องจากขอบเขตที่จำกัดของคู่มืออ้างอิงนี้ จึงมีเพียงคำสั่งกราฟิกและฟังก์ชันที่มีคำอธิบายกราฟิกน้อยที่สุดเท่านั้นที่รวมอยู่ด้วย ผู้อ่านที่สนใจควรศึกษาเอกสารประกอบของระบบ MATLAB โดยเฉพาะหนังสือที่เพิ่งออกใหม่ “การใช้กราฟิก MATLAB” (Natick, 1996)
ฟังก์ชั่นกราฟิกพื้นฐานระบบ MATLAB ช่วยให้คุณสร้างกราฟประเภทต่อไปนี้บนหน้าจอและพิมพ์บนอุปกรณ์การพิมพ์: เชิงเส้น ลอการิทึม กึ่งลอการิทึม ขั้วโลก
สำหรับแต่ละกราฟ คุณสามารถตั้งชื่อ ติดป้ายกำกับแกน และใช้ตารางมาตราส่วนได้
กราฟ 2 มิติ
- PLOT - พล็อตในระดับเชิงเส้น
- LOGLOG - กราฟในระดับลอการิทึม
- SEMILOGX, SEMILOGY - กราฟในระดับกึ่งลอการิทึม
- POLAR - กราฟในพิกัดเชิงขั้ว
กราฟ 3 มิติ
MATLAB มีคำสั่งและฟังก์ชันมากมายสำหรับการสร้างพล็อตสามมิติ ค่าขององค์ประกอบของอาร์เรย์ตัวเลขถือเป็นพิกัด z ของจุดที่อยู่เหนือระนาบที่กำหนดโดยพิกัด x และ y มีหลายวิธีในการเชื่อมต่อจุดเหล่านี้ ประการแรกคือจุดเชื่อมต่อในส่วน (ฟังก์ชัน plot3) ส่วนที่สองคือการสร้างพื้นผิวตาข่าย (ฟังก์ชันตาข่ายและเซิร์ฟ) พื้นผิวที่สร้างด้วยฟังก์ชันตาข่ายคือพื้นผิวตาข่ายที่เซลล์มีสีพื้นหลังและเส้นขอบสามารถมีสีที่กำหนดโดยคุณสมบัติ EdgeColor ของวัตถุกราฟิกพื้นผิว พื้นผิวที่สร้างขึ้นโดยใช้ฟังก์ชันท่องคือพื้นผิวตาข่ายที่สามารถระบุสีได้ไม่เพียงแต่สำหรับเส้นขอบเท่านั้น แต่ยังรวมถึงเซลล์ด้วย ส่วนหลังถูกควบคุมโดยคุณสมบัติ FaceColor ของวัตถุกราฟิกพื้นผิว ระดับการนำเสนอของหนังสือเล่มนี้ไม่จำเป็นต้องให้ผู้อ่านมีความรู้เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ ปริมาณของมันไม่อนุญาตให้เราอธิบายระบบย่อยกราฟิกซึ่งสร้างขึ้นจากแนวทางนี้ได้อย่างสมบูรณ์ ผู้อ่านที่สนใจควรศึกษาเอกสารประกอบสำหรับระบบ MATLAB โดยเฉพาะหนังสือที่เพิ่งเปิดตัวโดยใช้กราฟิก MATLAB (Natick, 1996)
- PLOT3 - พล็อตเส้นและจุดในพื้นที่สามมิติ
- MESHGRID - การก่อตัวของอาร์เรย์สองมิติ X และ Y
- MESH, MESHC, MESHZ - พื้นผิวตาข่ายสามมิติ
- SURF, SURFC - พื้นผิวตาข่ายสีเทา
- SURFL - พื้นผิวแรเงาพร้อมแบ็คไลท์
- AXIS - การปรับขนาดแกนและการแสดงผล
- GRID - แอปพลิเคชันกริด
- HOLD - ควบคุมโหมดการบันทึกของหน้าต่างกราฟิกปัจจุบัน
- SUBPLOT - การแยกหน้าต่างกราฟิก
- ZOOM - การควบคุมมาตราส่วนแผนภูมิ
- COLORMAP - จานสี
- CAXIS - สร้างความสัมพันธ์ระหว่างจานสีและมาตราส่วนแกน
- การแรเงา - การแรเงาพื้นผิว
- CONTOURC - การสร้างอาร์เรย์คำอธิบายของเส้นระดับ
- CONTOUR - รูปภาพของเส้นระดับสำหรับพื้นผิวสามมิติ
- CONTOUR3 - รูปภาพของเส้นระดับสามมิติ
จารึกและคำอธิบายสำหรับกราฟิก
- TITLE - ชื่อเรื่องสำหรับกราฟสองและสามมิติ
- XLABEL, YLABEL, ZLABEL - การกำหนดแกน
- CLABEL - การทำเครื่องหมายเส้นระดับ
- TEXT - การเพิ่มข้อความลงในแผนภูมิปัจจุบัน
- GTEXT - วางข้อความที่ระบุบนแผนภูมิโดยใช้เมาส์
- LEGEND - คำอธิบายของแผนภูมิ
- COLORBAR - สเกลจานสี
กราฟิกพิเศษ
ส่วนกราฟิกพิเศษประกอบด้วยคำสั่งกราฟิกและฟังก์ชันสำหรับการสร้างกราฟแท่ง ฮิสโตแกรม การแสดงเวกเตอร์และเชิงซ้อน ลำดับข้อมูลแยก และเส้นทางการเคลื่อนที่สำหรับกราฟิกทั้ง 2D และ 3D ส่วนนี้ได้รับการพัฒนาเพิ่มเติมในเวอร์ชัน MATLAB 5.0 ซึ่งมีการปรับปรุงและขยายเครื่องมือกราฟิกพิเศษอย่างมีนัยสำคัญ
เรียนรู้การทำงานใน MATLAB อย่างเจาะลึก
- ตัวดำเนินการอัฒภาค: หากคำสั่งลงท้ายด้วย ';' ผลลัพธ์ของการดำเนินการนี้จะไม่ปรากฏบนหน้าจอ ซึ่งจะเห็นได้ชัดเมื่อมีคำจำกัดความเล็กๆ เช่น y = 1 ปัญหาเกิดขึ้นเมื่อจำเป็นต้องสร้างเมทริกซ์ที่มีมิติขนาดใหญ่ ไม่จำเป็นต้องใช้เครื่องหมาย ';' เมื่อเอาต์พุตจำเป็นสำหรับผู้ใช้ เช่น เมื่อทำงานกับกราฟิก
- "คำสั่งล้างข้อมูล": มีคำสั่งที่มีประโยชน์หลายคำสั่งที่สามารถเรียกได้จากหน้าต่างคำสั่ง พิมพ์ "clear" หลังเครื่องหมาย ">>" วิธีนี้จะล้างตัวแปรปัจจุบันทั้งหมด ซึ่งอาจช่วยได้หากพบผลลัพธ์ที่แปลก คุณยังสามารถเขียน "clear" ตามด้วยชื่อตัวแปรเพื่อล้างค่าของตัวแปรเฉพาะได้
- "ประเภทตัวแปร": ตัวแปรประเภทเดียวใน MATLAB คืออาร์เรย์ ซึ่งหมายความว่าตัวแปรจะถูกจัดเรียงเป็นรายการค่า รายการค่าที่ง่ายที่สุดคือตัวเลขตัวเดียว ในกรณีของ MATLAB คุณไม่จำเป็นต้องระบุขนาดอาร์เรย์เมื่อสร้างตัวแปร หากต้องการกำหนดค่าตัวเลขตัวเดียวให้ตัวแปร ให้พิมพ์ เช่น z =1 หากคุณต้องการเพิ่มค่าสำหรับ z เพียงป้อน z = 3 คุณสามารถอ้างอิงถึงค่าใดๆ ในอาร์เรย์ได้โดยการเขียน z[i] โดยที่ i คือหมายเลขตำแหน่งในอาร์เรย์ ดังนั้น หากคุณต้องการได้ค่า 3 จาก z คุณก็แค่พิมพ์ z
- ลูป: ลูปจะใช้เมื่อจำเป็นต้องดำเนินการหลายครั้ง ลูปใน MATLAB มี 2 ประเภท: ลูป for และลูป while โครงสร้างทั้งสองสามารถใช้แทนกันได้ อย่างไรก็ตาม การสร้างวงวนไม่สิ้นสุดด้วยโครงสร้าง " while" จะง่ายกว่าการสร้าง "for" สัญญาณของการวนซ้ำไม่สิ้นสุดคือส่งออกเฉพาะข้อมูลที่อยู่ในลูปเท่านั้น
- “For Loops”: สำหรับลูปใน MATLAB มีลักษณะดังนี้: “for i = 1:n / do actions / end” (แบ็กสแลชหมายถึงขึ้นบรรทัดใหม่) การวนซ้ำนี้หมายถึง "ดำเนินการ" n ครั้ง ดังนั้น หากวนซ้ำพูดว่า “พิมพ์ “สวัสดี”” และจำนวนการตีความคือ 5 ดังนั้น “สวัสดี” จะถูกพิมพ์ 5 ครั้ง
- “While loops”: ใน MATLAB ดูเหมือนว่า: “ในขณะที่นิพจน์เป็นจริง / ดำเนินการ / สิ้นสุด” ซึ่งหมายความว่าการดำเนินการจะดำเนินการตราบเท่าที่นิพจน์เป็นจริง โดยปกติแล้วในเนื้อความของลูปจะมีคำสั่งที่เปลี่ยนค่าของนิพจน์บูลีนเป็น "เท็จ" หากต้องการสร้างการวนซ้ำ while จาก for for loop คุณต้องเขียนว่า " while i<=n / do действия / end".
- "Nested Loops": ลูปจะซ้อนกันหากอยู่ภายในลูปอื่น มีลักษณะดังนี้: "for i = 1:5 / for j = 1:5 / do actions / end / end" การกระทำบนตัวนับ j จะดำเนินการห้าครั้ง จากนั้นค่าของ i จะเพิ่มขึ้นทีละหนึ่ง การกระทำบนตัวนับ j จะดำเนินการอีกครั้ง 5 ครั้ง เป็นต้น
- สำหรับข้อมูลเพิ่มเติมเกี่ยวกับส่วนใดๆ ของบทความนี้หรือ MATLAB โดยทั่วไป โปรดไปที่
MatLab มีเครื่องมือสร้างภาพข้อมูลที่หลากหลาย เมื่อใช้ภาษาภายใน คุณสามารถแสดงพล็อต 2D และ 3D ในพิกัดคาร์ทีเซียนและพิกัดเชิงขั้ว แสดงภาพในความลึกของสีที่แตกต่างกันและแผนที่สีที่แตกต่างกัน สร้างภาพเคลื่อนไหวอย่างง่ายของผลลัพธ์การจำลองระหว่างการคำนวณ และอื่นๆ อีกมากมาย
3.1. ฟังก์ชั่นพล็อต
เรามาเริ่มดูความสามารถในการสร้างภาพข้อมูลของ MatLab ด้วยกราฟสองมิติ ซึ่งโดยปกติจะสร้างขึ้นโดยใช้ฟังก์ชัน plot() วิธีที่ดีที่สุดคือพิจารณาตัวเลือกต่างๆ สำหรับวิธีการทำงานของฟังก์ชันนี้โดยใช้ตัวอย่างเฉพาะ
สมมติว่าคุณต้องการพล็อตฟังก์ชันไซน์ในช่วงตั้งแต่ 0 ถึง ในการทำเช่นนี้เราจะตั้งค่าเวกเตอร์ (ชุด) ของจุดตามแกน Ox ซึ่งจะแสดงค่าของฟังก์ชันไซน์:
ผลลัพธ์คือเวกเตอร์คอลัมน์ที่มีค่าหลากหลายตั้งแต่ 0 ถึงและเพิ่มขึ้นทีละ 0.01 จากนั้นเราคำนวณชุดค่าของฟังก์ชันไซน์ที่จุดเหล่านี้:
และแสดงผลบนหน้าจอ
เป็นผลให้เราได้กราฟที่แสดงในรูปที่ 1 3.1.
สัญกรณ์ต่อไปนี้ของฟังก์ชัน plot() แสดงให้เห็นว่า อันดับแรกอาร์กิวเมนต์ที่มีชุดของจุดบนแกน Ox จะถูกเขียน จากนั้นจึงเขียนอาร์กิวเมนต์ที่มีชุดของจุดบนแกน Oy เมื่อรู้ค่าเหล่านี้แล้ว ฟังก์ชัน plot() จะสามารถพล็อตจุดบนระนาบและประมาณค่าเหล่านั้นเชิงเส้นเพื่อสร้างกราฟต่อเนื่องได้
ข้าว. 3.1. การแสดงฟังก์ชันไซน์โดยใช้ฟังก์ชัน plot()
ฟังก์ชัน plot() สามารถเขียนได้ด้วยอาร์กิวเมนต์ x หรือ y หนึ่งตัว:
โครงเรื่อง(x);
โครงเรื่อง(y);
ด้วยเหตุนี้ เราจึงได้กราฟสองแบบที่แตกต่างกันดังแสดงในรูปที่ 1 3.2.
การวิเคราะห์รูปที่ 3.2 แสดงให้เห็นว่าในกรณีของอาร์กิวเมนต์หนึ่ง ฟังก์ชัน plot() จะแสดงชุดของจุดตามแกน Oy และสร้างชุดของจุดโดยอัตโนมัติโดยมีหน่วยเป็นขั้นตามแกน Ox ดังนั้น เพื่อให้เห็นภาพเวกเตอร์เป็นกราฟสองมิติ ก็เพียงพอแล้วที่จะใช้ฟังก์ชัน plot() กับอาร์กิวเมนต์ตัวเดียว
ในการลงจุดหลายจุดบนแกนพิกัดเดียวกัน ฟังก์ชัน plot() จะถูกเขียนดังนี้:
x = 0:0.01:ปี่;
y1 = บาป(x);
y2 = คอส(x);
พล็อต(x,y1,x,y2);
ผลลัพธ์ของแฟรกเมนต์ของโปรแกรมนี้จะแสดงดังรูปที่ 1 3.3.
ข้าว. 3.2. ผลลัพธ์ของฟังก์ชัน plot() ที่มีหนึ่งอาร์กิวเมนต์:
ก – โครงเรื่อง(x); ข – พล็อต(y)
ข้าว. 3.3. แสดงกราฟสองกราฟบนแกนพิกัดเดียวกัน
ในทำนองเดียวกัน คุณสามารถพล็อตสองแปลงโดยใช้อาร์กิวเมนต์เดียวในฟังก์ชัน plot() สมมติว่ามีค่าเวกเตอร์สองตัว
y1 = บาป(x);
y2 = คอส(x);
ที่คุณต้องการแสดงบนหน้าจอ เมื่อต้องการทำเช่นนี้ เราจะรวมพวกมันเข้าด้วยกันเป็นเมทริกซ์สองมิติ
โดยที่คอลัมน์ต่างๆ ประกอบด้วยเวกเตอร์ y1 และ y2 ตามลำดับ เมทริกซ์ดังกล่าวจะถูกแสดงโดยฟังก์ชัน
โครงเรื่อง(); % เครื่องหมายอะพอสทรอฟีแปลเวกเตอร์สตริง
% เป็นเวกเตอร์คอลัมน์
ในรูปแบบของสองกราฟ (รูปที่ 3.4)
ข้าว. 3.4. แสดงเมทริกซ์สองมิติเป็นสองกราฟ
เวกเตอร์สองตัวที่อยู่ในแกนเดียวกันสามารถแสดงได้ก็ต่อเมื่อขนาดตรงกันเท่านั้น เมื่อทำงานกับเวกเตอร์ที่มีมิติต่างกัน พวกมันจะต้องลดลงตามจำนวนองค์ประกอบหรือแสดงบนกราฟที่ต่างกัน มีหลายวิธีในการแสดงกราฟในแกนพิกัดที่แตกต่างกัน ในกรณีที่ง่ายที่สุด คุณสามารถสร้างหน้าต่างกราฟิกสองหน้าต่างและแสดงกราฟที่จำเป็นในนั้นได้ ทำได้ดังนี้:
x1 = 0:0.01:2*ไพ;
y1 = บาป(x1);
x2 = 0:0.01:ปี่;
y2 = คอส(x2);
รูป; % สร้างหน้าต่างกราฟิกที่ 2
โครงเรื่อง (x2, y2); % วาดกราฟที่ 2 ในหน้าต่างที่ 2
ฟังก์ชันรูปที่ใช้ในโปรแกรมนี้จะสร้างหน้าต่างกราฟิกใหม่และเปิดใช้งาน ฟังก์ชัน plot() ที่ถูกเรียกทันทีหลังจากฟังก์ชันรูป จะแสดงพล็อตในหน้าต่างกราฟิกที่ใช้งานอยู่ในปัจจุบัน เป็นผลให้หน้าต่างสองบานที่มีสองกราฟจะปรากฏบนหน้าจอ
ความไม่สะดวกของส่วนข้างต้นของโปรแกรมคือการเรียกใช้ฟังก์ชันรูปอีกครั้งจะแสดงหน้าต่างใหม่อีกหน้าต่างบนหน้าจอ และหากโปรแกรมถูกดำเนินการสองครั้ง ก็จะมีหน้าต่างกราฟิกสามหน้าต่างบนหน้าจอ แต่มีเพียงสองหน้าต่างเท่านั้นที่จะ มีข้อมูลปัจจุบัน ในกรณีนี้ จะดีกว่าถ้าสร้างโปรแกรมเพื่อให้หน้าต่างสองหน้าต่างพร้อมกราฟที่จำเป็นปรากฏบนหน้าจอเสมอ สิ่งนี้สามารถทำได้หากเมื่อเรียกใช้ฟังก์ชันรูปคุณระบุจำนวนหน้าต่างกราฟิกที่ต้องสร้างหรือเปิดใช้งานเป็นอาร์กิวเมนต์หากถูกสร้างขึ้นแล้ว ดังนั้นโปรแกรมข้างต้นสามารถเขียนได้แบบนี้
x1 = 0:0.01:2*ไพ;
y1 = บาป(x1);
x2 = 0:0.01:ปี่;
y2 = คอส(x2);
รูปที่ 1); % กำลังสร้างหน้าต่างหมายเลข 1
โครงเรื่อง (x1, y1); % การวาดกราฟแรก
รูปที่ (2); % สร้างหน้าต่างกราฟิกที่มีหมายเลข 2
โครงเรื่อง (x2, y2); % วาดกราฟที่ 2 ในหน้าต่างที่ 2
เมื่อรันโปรแกรมนี้ จะมีเพียงหน้าต่างกราฟิกสองหน้าต่างที่มีหมายเลข 1 และ 2 เท่านั้นที่จะแสดงบนหน้าจอเสมอ และจะแสดงกราฟของฟังก์ชันไซน์และโคไซน์ตามลำดับ
ในบางกรณี การนำเสนอข้อมูลจะสะดวกยิ่งขึ้นโดยการแสดงกราฟสองกราฟในหน้าต่างกราฟิกเดียว ซึ่งสามารถทำได้โดยใช้ฟังก์ชัน subplot() ซึ่งมีไวยากรณ์ต่อไปนี้:
แผนย่อย(<число строк>, <число столбцов>, <номер координатной оси>)
ลองพิจารณาตัวอย่างการแสดงกราฟสองกราฟด้านล่างกันของฟังก์ชันไซน์และโคไซน์ข้างต้น
x1 = 0:0.01:2*ไพ;
y1 = บาป(x1);
x2 = 0:0.01:ปี่;
y2 = คอส(x2);
รูปที่ 1);
แผนย่อย (2,1,1); % แบ่งหน้าต่างออกเป็น 2 แถวและ 1 คอลัมน์
โครงเรื่อง (x1,y1); การแสดง % ของกราฟแรก
แผนย่อย (2,1,2); % สร้างแกนพิกัดที่ 2
โครงเรื่อง (x2,y2); % แสดงกราฟที่ 2 ในแกนใหม่
ผลลัพธ์ของโปรแกรมจะแสดงดังรูป 3.5.
ในทำนองเดียวกัน คุณสามารถแสดงกราฟตั้งแต่สองกราฟขึ้นไปในคอลัมน์เดียว ในรูปแบบของตาราง ฯลฯ นอกจากนี้ คุณยังสามารถระบุพิกัดที่แน่นอนของตำแหน่งพล็อตในหน้าต่างกราฟิกได้ เมื่อต้องการทำเช่นนี้ ให้ใช้พารามิเตอร์ตำแหน่งในฟังก์ชัน subplot():
แผนย่อย ('ตำแหน่ง', );
โดยที่ด้านซ้ายคือออฟเซ็ตจากด้านซ้ายของหน้าต่าง ด้านล่าง – ชดเชยจากด้านล่างของหน้าต่าง ความกว้าง ความสูง – ความกว้างและความสูงของแผนภูมิในหน้าต่าง ตัวแปรทั้งหมดนี้มีตั้งแต่ 0 ถึง 1
ข้าว. 3.5. ตัวอย่างของฟังก์ชันแผนย่อย
ด้านล่างนี้เป็นส่วนของโปรแกรมสำหรับแสดงกราฟของฟังก์ชันไซน์ที่อยู่ตรงกลางหน้าต่างกราฟิก ผลลัพธ์ของงานแสดงไว้ในรูปที่ 1 3.6.
x1 = 0:0.01:2*ไพ;
y1 = บาป(x1);
แผนย่อย ('ตำแหน่ง', );
โครงเรื่อง (x1,y1);
ในตัวอย่างนี้ ฟังก์ชัน subplot() จะชดเชยการลงจุดหนึ่งในสามจากขอบด้านซ้ายและด้านล่างของหน้าต่าง และวาดการลงจุดที่มีความกว้างและความสูงของหนึ่งในสามของหน้าต่างกราฟิก ผลลัพธ์คือผลของการวาดฟังก์ชันไซน์ที่กึ่งกลางหน้าต่างหลัก
ดังนั้นเมื่อใช้พารามิเตอร์ตำแหน่ง คุณสามารถวางองค์ประกอบกราฟิกในระนาบหน้าต่างโดยพลการได้
ข้าว. 3.6. ตัวอย่างการทำงานของฟังก์ชันแผนย่อยกับพารามิเตอร์ตำแหน่ง
บทเรียน #3
พื้นฐานของการแสดงภาพกราฟิกของการคำนวณ
คุณสมบัติของกราฟิก MATLAB
ฟังก์ชันการพล็อตของตัวแปรตัวเดียว
แผนภูมิคอลัมน์
การสร้างกราฟ 3 มิติ
การหมุนกราฟด้วยเมาส์
เมนูบริบทแผนภูมิ
การควบคุมรูปแบบกราฟ
คุณสมบัติของกราฟิก MATLAB
เริ่มต้นด้วย MATLAB 4.0 ซึ่งเป็นรุ่นแรกที่ใช้ Windows ความสามารถด้านกราฟิกของ MATLAB ได้รับการปรับปรุงอย่างมาก คุณสมบัติหลักที่โดดเด่นของกราฟิกใน MATLAB 6 เวอร์ชันใหม่:
อินเทอร์เฟซของหน้าต่างกราฟิกที่ได้รับการปรับปรุงอย่างมีนัยสำคัญ
การแนะนำแถบเครื่องมือกล้องใหม่สำหรับการเปลี่ยนแปลงสภาพการมองเห็นของวัตถุแบบโต้ตอบ
ความสามารถในการจัดรูปแบบกราฟิกขั้นสูง
ความสามารถในการสร้างกราฟิกในหน้าต่างแยก
ความสามารถในการแสดงหน้าต่างกราฟิกหลายหน้าต่าง
ความสามารถในการย้ายหน้าต่างไปรอบๆ หน้าจอและปรับขนาดหน้าต่าง
ความสามารถในการย้ายพื้นที่กราฟิกภายในหน้าต่างกราฟิก
การตั้งค่าระบบพิกัดและแกนต่างๆ
กราฟิกคุณภาพสูง
ตัวเลือกสีที่หลากหลาย
ความง่ายในการติดตั้งคุณสมบัติกราฟิก - คุณลักษณะ;
การลบข้อจำกัดเกี่ยวกับจำนวนสี
พารามิเตอร์คำสั่งกราฟิกมากมาย
ความสามารถในการรับตัวเลขสามมิติที่ดูเป็นธรรมชาติและการผสมผสานกัน
ความง่ายในการสร้างกราฟสามมิติด้วยการฉายภาพบนเครื่องบิน
ความสามารถในการสร้างส่วนต่าง ๆ ของตัวเลขสามมิติและพื้นผิวโดยใช้ระนาบ
ฟังก์ชั่นหลากสีและสีฮาล์ฟโทน
ความสามารถในการจำลองเอฟเฟกต์แสงเมื่อส่องสว่างตัวเลขด้วยแหล่งกำเนิดแสงแบบจุด
ความสามารถในการสร้างกราฟิกแอนิเมชั่น
ความสามารถในการสร้างวัตถุสำหรับอินเทอร์เฟซผู้ใช้ทั่วไป
ที่เกี่ยวข้องกับแนวคิดของกราฟิกคือแนวคิดของ วัตถุกราฟิกมี คุณสมบัติบางอย่าง ในกรณีส่วนใหญ่ วัตถุอาจถูกลืมได้หาก มีเพียงคุณเท่านั้นที่ไม่เกี่ยวข้องกับงานการเขียนโปรแกรมเชิงวัตถุ กราฟิก นี่เป็นเพราะความจริงที่ว่าคำสั่งกราฟิกระดับสูงส่วนใหญ่ มุ่งเน้นไปที่ผู้ใช้ปลายทาง ตั้งค่าคุณสมบัติของวัตถุกราฟิกโดยอัตโนมัติ และรับประกันการสร้างกราฟิกในระบบพิกัด จานสี สเกล ฯลฯ ที่ต้องการ
ในระดับที่ต่ำกว่าของการแก้ปัญหาเน้นโปรแกรมเมอร์ กราฟิกคำอธิบาย(Handle Graphics) ซึ่งแต่ละวัตถุกราฟิกจะมีการกำหนดคำอธิบายพิเศษ - คำอธิบายซึ่งสามารถอ้างอิงได้เมื่อใช้วัตถุกราฟิก กราฟิกตัวอธิบายช่วยให้สามารถตั้งโปรแกรมภาพของออบเจ็กต์อินเทอร์เฟซผู้ใช้ เช่น ปุ่มควบคุม แผงข้อความ ฯลฯ คำสั่งกราฟิกตัวอธิบายสามารถใช้ในกราฟิกระดับสูง เช่น เพื่อลบแกน เปลี่ยนสี ฯลฯ ในออบเจ็กต์กราฟิกที่สร้างไว้แล้ว ความสามารถที่กว้างขวางเหล่านี้ทำให้กราฟิก MATLAB เป็นหนึ่งในระบบย่อยกราฟิกของระบบคณิตศาสตร์คอมพิวเตอร์ (CCM) ที่ดีที่สุด
แม้จะมีคำสั่งกราฟิกมากมาย แต่ไวยากรณ์ของคำสั่งก็ค่อนข้างเรียบง่ายและเข้าใจง่ายแม้แต่กับผู้ใช้มือใหม่ก็ตาม ตามกฎคำอธิบาย "จากง่ายไปซับซ้อน" เราจะพิจารณากราฟิกของฟังก์ชันของตัวแปรหนึ่งก่อน จากนั้นจึงพิจารณากราฟิกสามมิติ พิเศษ ภาพเคลื่อนไหว และสุดท้ายคือกราฟิกอธิบาย
แม้ว่าหนังสือเล่มนี้จะไม่ได้ให้คำอธิบายที่ครบถ้วนสมบูรณ์ของคำสั่งกราฟิกทั้งหมดในระบบ MATLAB แต่คำสั่งกราฟิกส่วนใหญ่จะกล่าวถึงพร้อมกับตัวอย่างที่ถือได้ว่าเพิ่มเติมจากคำสั่งที่ให้ไว้ในเอกสารประกอบของระบบ
ฟังก์ชันการพล็อตของตัวแปรตัวเดียว
ในโหมดการคำนวณโดยตรง ความสามารถของระบบเกือบทั้งหมดจะพร้อมใช้งาน ตัวอย่างเช่น มีการใช้กันอย่างแพร่หลายในการพล็อตกราฟของฟังก์ชันต่างๆ เพื่อให้เห็นภาพพฤติกรรมของฟังก์ชันต่างๆ ในการเปลี่ยนแปลงอาร์กิวเมนต์ที่หลากหลาย ในกรณีนี้ กราฟจะถูกลงจุดในหน้าต่างที่ปรับขนาดได้และแบบเคลื่อนย้ายแยกกัน
ก่อนอื่น เรามาลองตัวอย่างที่ง่ายที่สุดกันก่อน - การวางแผนคลื่นไซน์ ควรจำไว้ว่า MATLAB (เช่นเดียวกับ SCM อื่นๆ) สร้างกราฟของฟังก์ชันบนจุดจำนวนหนึ่ง โดยเชื่อมต่อกับส่วนของเส้นตรง กล่าวคือ ทำการประมาณค่าเชิงเส้นของฟังก์ชันในช่วงเวลาระหว่างจุดที่อยู่ติดกัน มาตั้งค่าช่วงเวลาการเปลี่ยนแปลงอาร์กิวเมนต์กัน เอ็กซ์จาก 0 ถึง 10 โดยมีขั้นละ 0.1 ในการพล็อตกราฟ เพียงตั้งค่าเวกเตอร์ x=0:0.1:10 ก่อน จากนั้นใช้คำสั่งการพล็อต plot(sin(x)) นี่แสดงไว้ในรูปที่ 3.1.
เวกเตอร์ x ระบุช่วงการเปลี่ยนแปลงของตัวแปรอิสระตั้งแต่ 0 ถึง 10 ด้วยขั้นตอน 0.1 เหตุใดขั้นตอนนี้จึงถูกดำเนินการและไม่พูด 1? ความจริงก็คือว่าพล็อตไม่ได้สร้างกราฟที่แท้จริงของฟังก์ชัน sin(x) แต่สร้างเพียงจำนวนจุดที่ระบุโดยจำนวนองค์ประกอบของเวกเตอร์ x จากนั้นจุดเหล่านี้จะเชื่อมต่อกันด้วยส่วนของเส้นตรง กล่าวคือ ดำเนินการแก้ไขข้อมูลกราฟเชิงเส้นเป็นชิ้นๆ ที่ 100 คะแนน ดวงตาจะรับรู้เส้นโค้งที่เกิดขึ้นว่าค่อนข้างเรียบ แต่ด้วยคะแนน 10-20 จะดูเหมือนว่าประกอบด้วยส่วนตรง
MATLAB ลงจุดกราฟในหน้าต่างแยกที่เรียกว่าหน้าต่างกราฟิก เมื่อมองแวบแรก ความแตกต่างในหน้าต่างกราฟิกที่แสดงในรูปที่ 1 3.1 จากหน้าต่างคำสั่ง MATLAB ตำแหน่งเครื่องมือปรากฏในเมนูหลักของหน้าต่าง ซึ่งช่วยให้คุณสามารถแสดงหรือซ่อนแถบเครื่องมือที่มองเห็นได้ในส่วนบนของหน้าต่างกราฟิกในรูปที่ 1 3.1. เครื่องมือของแผงนี้ (เราจะดูอย่างละเอียดยิ่งขึ้นในภายหลัง) ช่วยให้คุณสามารถจัดการพารามิเตอร์แผนภูมิและเพิ่มความคิดเห็นแบบข้อความได้ทุกที่
ข้าว. 3.1. ตัวอย่างการพล็อตคลื่นไซน์
การพล็อตกราฟของฟังก์ชันต่างๆ ในหน้าต่างเดียว
คำอธิบายโดยละเอียดเพิ่มเติมของหน้าต่างกราฟิกจะมีให้ในบทที่ 5 สำหรับตอนนี้ เรามาดูรายละเอียดเพิ่มเติมและพยายามสร้างกราฟของฟังก์ชันสามฟังก์ชันพร้อมกัน: sin(x), cos(#) และ sin (ก)/กก่อนอื่น เราทราบว่าฟังก์ชันเหล่านี้สามารถแสดงด้วยตัวแปรที่ไม่มีอาร์กิวเมนต์ที่ชัดเจนในรูปแบบ y(x):
"อิล=ซิน(x): y2=cos(x): y3=ซิน(x)/x;
ความเป็นไปได้นี้เกิดจากการที่ตัวแปรเหล่านี้เป็นเวกเตอร์ เช่นเดียวกับตัวแปร x ตอนนี้คุณสามารถใช้แบบฟอร์มคำสั่งแบบใดแบบหนึ่งได้
โครงเรื่อง: โครงเรื่อง(al.fl.a2.f2.a3.f3,...)
โดยที่ al, а2, аЗ,.„ เป็นเวกเตอร์ของอาร์กิวเมนต์ของฟังก์ชัน (ในกรณีของเราคือ x ทั้งหมด) และ f1, f2, f3,... เป็นเวกเตอร์ของค่าฟังก์ชัน ซึ่งกราฟจะถูกพล็อตในหน้าต่างเดียว ในกรณีของเรา ในการพล็อตกราฟของฟังก์ชันเหล่านี้ เราต้องเขียนดังต่อไปนี้:
» พล็อต (x,yl,x,y2,x.y3)
คุณสามารถคาดหวังได้ว่าในกรณีนี้ MATLAB จะพล็อตจุดของกราฟของฟังก์ชันเหล่านี้ตามปกติและเชื่อมต่อกับส่วนของเส้นตรง แต่อนิจจาถ้าเราทำ คำสั่งเหล่านี้เราจะไม่ได้กราฟใดๆ เลย แม้แต่ความล้มเหลวก็ไม่ได้รับการยกเว้น บีการทำงานของโปรแกรม สาเหตุของเหตุการณ์นี้ได้มีการพูดคุยกันแล้วในบทเรียนที่แล้ว - เมื่อคำนวณฟังก์ชัน y3=sin(x)/x หาก x เป็นอาร์เรย์ (เวกเตอร์) ตัวดำเนินการหารเมทริกซ์ / จะไม่สามารถใช้ได้
ตัวอย่างนี้แสดงให้เห็นอย่างชัดเจนอีกครั้งว่าการใช้งานแบบผิวเผินอย่างแท้จริงแม้แต่ระบบที่ทรงพลังอย่าง MATLAB บางครั้งก็นำไปสู่ความล้มเหลวที่น่ารำคาญ หากต้องการได้กราฟต่อไป คุณต้องคำนวณอัตราส่วน บาป(x) ถึง xcโดยใช้ตัวดำเนินการหารอาร์เรย์ที่ชาญฉลาดตามองค์ประกอบ/ กรณีนี้แสดงด้วยรูปที่ 3.2.
ข้าว. 3.2. กราฟสามฟังก์ชัน
โปรดทราบว่าแม้ว่า MATLAB จะพล็อตทั้งสามฟังก์ชันในครั้งนี้ แต่หน้าต่างคำสั่งแสดงคำเตือนเกี่ยวกับการหารด้วย 0 เมื่อ x=0 สิ่งนี้ชี้ให้เห็นว่า pi ot “ไม่รู้” ว่าค่าความไม่แน่นอน sin(x)/x=0/0 นั้นถอดออกได้และให้ 1 นี่เป็นข้อเสียเปรียบของระบบการคำนวณเชิงตัวเลขเกือบทั้งหมด
ฟังก์ชั่นกราฟิก fplot
แน่นอนว่า MATLAB มีสิ่งอำนวยความสะดวกสำหรับการวางแผนและฟังก์ชันต่างๆ เช่น sin(x)/x ซึ่งมีความไม่แน่นอนที่ถอดออกได้ โดยไม่ต้องพูดถึงเครื่องมือเหล่านี้โดยละเอียด เราก็จะแสดงวิธีการดำเนินการโดยใช้คำสั่งกราฟิกอื่น -
fplot: fplot"f(x)" -
อนุญาตให้คุณสร้างฟังก์ชันที่ระบุในรูปแบบสัญลักษณ์ในช่วงเวลาของการเปลี่ยนอาร์กิวเมนต์ x จาก xmin เป็น xmax โดยไม่มีขั้นตอนการเปลี่ยน x ที่ตายตัว หนึ่งในตัวเลือกสำหรับการใช้งานแสดงไว้ในรูปที่ 1 3.3. แม้ว่าในระหว่างกระบวนการคำนวณ คำเตือนข้อผิดพลาด (หารด้วย 0) จะปรากฏขึ้น แต่กราฟจะถูกพล็อตอย่างถูกต้อง ที่ x=0 sinx/x=l โปรดสังเกตคำสั่งทั้งสองที่ใช้ด้วย: clear - ล้างหน้าต่างกราฟิกและเปิดตาราง - เปิดการแสดงผลของตารางซึ่งสร้างด้วยเส้นประ
ข้าว. 3.3. พล็อต sin(x)/x โดยใช้ fplot
ในรูป 3.3 ยังแสดงเมนู File ของหน้าต่างกราฟิกอีกด้วย เห็นได้ง่ายว่ามีการทำงานของไฟล์ทั่วไป อย่างไรก็ตาม พวกเขาไม่ได้หมายถึงไฟล์เอกสาร แต่หมายถึงไฟล์กราฟิก โดยเฉพาะอย่างยิ่ง คุณสามารถกำหนดชื่อให้กับกราฟิกที่เขียนลงดิสก์ได้
เราจะมาดูรายละเอียดเกี่ยวกับความสามารถของคำสั่งกราฟิกต่างๆ ในภายหลัง โดยเฉพาะอย่างยิ่ง เราจะแสดงวิธีที่คุณสามารถตั้งค่าสีและรูปแบบของเส้นเฉพาะ วิธีเปลี่ยนการแสดงแกนพิกัด ใช้ป้ายข้อความต่างๆ กับกราฟ และดำเนินการอื่นๆ อีกมากมายสำหรับการจัดรูปแบบกราฟเพื่อให้มีลักษณะที่มองเห็นได้ชัดเจนยิ่งขึ้น ตรงตามความต้องการของผู้ใช้ นอกจากนี้เรายังจะกล่าวถึงการใช้คำสั่งกราฟิกใหม่ๆ มากมายซึ่งจะขยายความสามารถในการสร้างกราฟทุกประเภทเท่าที่จะจินตนาการได้อย่างมาก
แผนภูมิคอลัมน์
ในการคำนวณที่ใช้มักจะพบกราฟที่เรียกว่ากราฟแท่งซึ่งสะท้อนถึงเนื้อหาของเวกเตอร์ V ในกรณีนี้แต่ละองค์ประกอบของเวกเตอร์จะแสดงด้วยคอลัมน์ซึ่งมีความสูงเป็นสัดส่วนกับค่าขององค์ประกอบ คอลัมน์จะถูกกำหนดหมายเลขและปรับขนาดโดยสัมพันธ์กับค่าสูงสุดของคอลัมน์ที่สูงที่สุด คำสั่ง bar(V) จะสร้างกราฟดังกล่าว (รูปที่ 3.4)
แผนภูมิคอลัมน์เป็นเพียงหนึ่งในหลายประเภท กราฟ,ซึ่งระบบ MATLAB สามารถสร้างได้ แผนภูมิแท่งมักใช้ในการนำเสนอข้อมูลจากการคำนวณทางการเงินและเศรษฐศาสตร์
ข้าว. 3.4 ยังแนะนำเมนูเครื่องมือของหน้าต่างกราฟิก ซึ่งเปิดตัวใน MATLAB 5.3.1 (Release 11.1) เห็นได้ง่ายว่านอกเหนือจากความสามารถในการแสดงแถบเครื่องมือแล้ว ยังมีคำสั่งอื่นๆ อีกจำนวนหนึ่งที่จะกล่าวถึงในภายหลัง คำสั่งเหล่านี้เป็นคำสั่งสำหรับการแสดงคุณสมบัติของวัตถุกราฟิก การเปลี่ยนมาตราส่วนแผนภูมิ การเพิ่มแกน ฯลฯ
ข้าว. 3.4. การสร้างแผนภูมิแท่งของค่าองค์ประกอบเวกเตอร์
การสร้างกราฟ 3 มิติ
การสร้างกราฟของพื้นผิวที่ซับซ้อนก็ทำได้ง่ายเช่นเดียวกัน คุณเพียงแค่ต้องรู้ว่าทีมใดกำลังดำเนินการตามกำหนดการนี้หรือตารางนั้น ตัวอย่างเช่น หากต้องการพล็อตพื้นผิวและฉายภาพเป็นโครงร่างบนระนาบใต้พื้นผิว เพียงใช้คำสั่งต่อไปนี้ (ดูบทที่ 6):
" =ตารางตาข่าย(-5:0.1:5);
» Z=X.*บาป(X+Y);
» meshc(XY,Z)
หน้าต่างที่มีกราฟที่ลงจุดจะแสดงในรูปที่ 1 3.5.
ข้าว. 3.5. หน้าต่างที่มีกราฟของพื้นผิวและการฉายภาพไปยังระนาบใต้ภาพ
ก่อนหน้านี้ อาจต้องใช้เวลาหลายวันในการคอมไพล์และดีบักโปรแกรมที่จำเป็นในการสร้างกำหนดการดังกล่าว ใน MATLAB คุณสามารถเปลี่ยนฟังก์ชันการกำหนดพื้นผิวได้ภายในเวลาไม่กี่วินาที ซี(เอ็กซ์, วาย)และรับกราฟใหม่ของพื้นผิวที่มีสีทันที ในกรณีนี้ระบุโดยเวกเตอร์ Z และด้วยการฉายภาพบนระนาบ XY ในรูป รูปที่ 3.5 ยังแสดงเมนูวิธีใช้ที่เปิดอยู่ในหน้าต่างกราฟิก 3D
เราจะจำกัดตัวเองอยู่เพียงตัวอย่างของการพล็อตกราฟที่ค่อนข้างง่ายและเป็นแบบอย่าง ข้อสรุปที่สำคัญตามมาจากพวกเขา - เพื่อแก้ไขปัญหานี้หรือปัญหานั้นคุณจำเป็นต้องรู้คำสั่งและฟังก์ชันที่เกี่ยวข้อง ทั้งหนังสือเล่มนี้และระบบวิธีใช้ MATLAB จะช่วยคุณในเรื่องนี้
การหมุนกราฟด้วยเมาส์
คุณสามารถหมุนรูปร่างที่สร้างขึ้นด้วยเมาส์และสังเกตจากมุมที่ต่างกัน ลองพิจารณาความเป็นไปได้นี้โดยใช้ตัวอย่างการสร้างโลโก้สำหรับระบบ MATLAB - เมมเบรน เมื่อต้องการทำสิ่งนี้ โดยการป้อนคำสั่งเมมเบรน เราจะได้กราฟต้นฉบับที่แสดงในรูปที่ 1 3.6.
ข้าว. 3.6. การสร้างเมมเบรน - โลโก้ระบบ MATLAB
หากต้องการหมุนกราฟ เพียงเปิดใช้งานปุ่มสุดท้ายทางด้านขวาของแถบเครื่องมือที่มีรูปวงกลมประและลูกศร ตอนนี้ โดยการวางเคอร์เซอร์ของเมาส์ในพื้นที่กราฟแล้วกดปุ่มซ้ายของเมาส์ คุณสามารถใช้การเคลื่อนที่เป็นวงกลมเพื่อทำให้กราฟหมุนไปพร้อมกับกรอบที่ขนานกัน (รูปที่ 3.7)
สิ่งที่น่าสนใจคือใน MATLAB 6 คุณยังสามารถหมุนกราฟสองมิติได้โดยการสังเกตการหมุนของระนาบที่กราฟกราฟนั้นถูกพล็อตไว้ การหมุนนี้ไม่จำเป็นต้องตั้งโปรแกรมใดๆ
ข้าว. 3.7. การหมุนรูปร่าง 3 มิติด้วยเมาส์
เมนูบริบทแผนภูมิ
หากต้องการเปลี่ยนไปใช้โหมดแก้ไขพล็อต ให้คลิกที่ปุ่มแก้ไขพล็อตด้วยเคอร์เซอร์ลูกศร ในโหมดนี้ แผนภูมิสามารถควบคุมได้โดยใช้เมนูบริบทที่เรียกว่าโดยการคลิกขวาที่เมาส์ ลักษณะของเมนูนี้โดยมีเคอร์เซอร์อยู่ในพื้นที่กราฟิกสามมิติภายนอกวัตถุกราฟิกสามมิติที่สร้างขึ้นจะแสดงในรูปที่ 1 3.8. คุณยังสามารถเลือกกราฟโดยใช้เมาส์ของคุณได้ การคลิกซ้ายจะแสดงกรอบรอบๆ รูปภาพ (ดูรูปที่ 3.8) ตอนนี้คุณสามารถใส่ลูกศรบนแผนภูมิ อธิบายคำจารึก (ปุ่มที่มีตัวอักษร A) ฯลฯ
ข้าว. 3.8. แผนภูมิในการแก้ไขสถานะและเมนูบริบท
พื้นฐานการจัดรูปแบบกราฟ 2D
กราฟ MATLAB สร้างได้ง่ายอย่างไม่น่าเชื่อ เนื่องจากคุณสมบัติแผนภูมิจำนวนมากได้รับการตั้งค่าตามค่าเริ่มต้น คุณสมบัติเหล่านี้รวมถึงการแสดงหรือการซ่อนแกนพิกัด ตำแหน่งศูนย์กลาง สีของเส้นกราฟ ความหนา ฯลฯ ฯลฯ ในภายหลังเราจะแสดงให้เห็นว่าคุณสมบัติและรูปลักษณ์ของกราฟสามารถเปลี่ยนแปลงได้อย่างไรโดยใช้พารามิเตอร์ของ คำสั่งกราฟิก อย่างไรก็ตาม เส้นทางนี้ต้องการความรู้ที่ดีเกี่ยวกับรายละเอียดของภาษาการเขียนโปรแกรมและกราฟิกคำอธิบายของระบบ MATLAB
ใน MATLAB 6 เวอร์ชันใหม่ เพื่อเปลี่ยนคุณสมบัติของกราฟ (การจัดรูปแบบ) จะใช้หลักการควบคุมรูปแบบ (ลักษณะที่ปรากฏ) ของวัตถุกราฟทั้งหมดด้วยภาพ ช่วยให้กราฟมีรูปลักษณ์ที่เหมาะสมได้ง่าย เรียบง่าย และมองเห็นได้ก่อนที่จะเขียนเป็นไฟล์ลงดิสก์ เราสามารถพูดได้ว่าส่วนนี้ใช้หลักการบางประการของการเขียนโปรแกรมเครื่องมือกราฟิกที่เน้นการมองเห็น
ที่นี่เราจะดูความเป็นไปได้ของการจัดรูปแบบกราฟที่หากพูดเป็นรูปเป็นร่างแล้ว จะอยู่บนพื้นผิว คำอธิบายอย่างเป็นระบบของอินเทอร์เฟซของระบบ MATLAB 6.0 รวมถึงอินเทอร์เฟซของหน้าต่างกราฟิกมีให้ในบทที่ 5
การจัดรูปแบบเส้นกราฟ
MATLAB มีความสามารถในการกำหนดค่าและปรับคุณสมบัติของกราฟได้อย่างง่ายดายโดยใช้เครื่องมือพิเศษ ในเวอร์ชันใหม่ของ MATLAB 6.0 มีการเปลี่ยนแปลงอย่างมาก ดังนั้นในเวอร์ชันก่อนหน้านี้จึงใช้ตัวแก้ไขคุณสมบัติพิเศษเพื่อกำหนดค่า (รูปแบบ) กราฟิก - ตัวแก้ไขคุณสมบัติกราฟิก สามารถเข้าถึงได้จากเมนูไฟล์ของหน้าต่างโหมดคำสั่ง MATLAB โดยใช้คำสั่ง Show Graphics Properties Editor
ใน MATLAB เวอร์ชันใหม่ การจัดรูปแบบแผนภูมิมีความเข้มงวดและสะดวกยิ่งขึ้น ในเวลาเดียวกัน ตัวแก้ไขคุณสมบัติกราฟิกที่กล่าวถึงก่อนหน้านี้จะไม่ถูกเรียกเช่นนั้นอีกต่อไป และคำสั่งแสดงคุณสมบัติกราฟิกหายไปในเวอร์ชันใหม่ จะถูกแทนที่ด้วยคำสั่ง Figure Properties และ Axis Properties พร้อมการตั้งค่าที่จำเป็นทั้งหมด
เมื่อพล็อตกราฟ หน้าต่างกราฟิกจะปรากฏขึ้น บางครั้งมันถูกซ่อนไว้โดยหน้าต่างที่มีอยู่ก่อนหน้านี้ของทั้งระบบ MATLAB และแอพพลิเคชั่นอื่น ๆ ที่ทำงานในสภาพแวดล้อม Windows 95/98/Me/2000/NT4 หากคุณไม่เห็นกราฟที่ระบุสำหรับการลงจุดให้ค้นหาในรายการหน้าต่างที่เปิดอยู่ (แอปพลิเคชัน) โดยกดปุ่ม Alt + Tab และเลือกหน้าต่างที่ต้องการจากรายการ หน้าต่างกราฟิกมีรูปภาพของโลโก้ระบบ MATLAB ตามค่าเริ่มต้น พวกมันจะแสดงขึ้นพร้อมกับแถบเครื่องมือที่มีปุ่มเรียงกันเป็นแถวซึ่งมีจุดประสงค์ที่ค่อนข้างชัดเจน
เมื่อคลิกปุ่มแก้ไขพล็อตในแถบเครื่องมือหน้าต่างกราฟิกแล้วคลิกที่โครงเรื่อง คุณจะสังเกตเห็นว่าโครงเรื่องถูกเน้นด้วยกรอบรอบๆ ตอนนี้ให้ชี้เคอร์เซอร์ของเมาส์ไปที่วัตถุใดวัตถุหนึ่ง กราฟิก และโดยการคลิกปุ่มซ้ายอีกครั้ง คุณจะเห็นออบเจ็กต์ที่เลือกและหน้าต่างการจัดรูปแบบปรากฏขึ้น
ตัวอย่างเช่น โดยการชี้เมาส์ไปที่เส้นกราฟในโหมดแก้ไข (และคลิกปุ่มซ้ายอย่างรวดเร็วสองครั้ง) คุณจะเห็นหน้าต่างการจัดรูปแบบเส้นกราฟที่แสดงในรูปที่ 1 3.9 ทางซ้าย ส่วนหนึ่งของหน้าต่างกราฟิกที่มีกราฟที่เลือกจะปรากฏทางด้านขวา ให้ความสนใจกับการปรากฏตัวของสี่เหลี่ยมสีดำจำนวนหนึ่งบนเส้นกราฟ - พวกมันใช้เพื่อชี้เคอร์เซอร์ของเมาส์ไปที่เส้นกราฟโดยเฉพาะ ไม่ใช่ที่วัตถุอื่น
ข้าว. 3.9. หน้าต่างกราฟ (ขวา) และหน้าต่างการจัดรูปแบบเส้น (ซ้าย)
ในหน้าต่างนี้ แท็บหลักสำหรับการจัดรูปแบบจะเปิดอยู่ - สไตล์ โดยจะกำหนดรูปแบบการแสดงเส้น เช่น ลักษณะที่ปรากฏ (เช่น เส้นทึบหรือเส้นประ) ความกว้างและสี ตลอดจนพารามิเตอร์ของเครื่องหมายที่ทำเครื่องหมายจุดควบคุมของกราฟ
มีประโยชน์ที่จะทราบว่าปุ่มใช้ช่วยให้คุณสามารถใช้การตั้งค่าที่คุณทำกับแผนภูมิก่อนที่จะปิดหน้าต่างข้อความ ปุ่ม OK จะเข้าสู่การตั้งค่าที่ทำไว้และปิดหน้าต่างข้อความ จุดประสงค์ของปุ่มอื่นๆ นั้นชัดเจน
การจัดรูปแบบเครื่องหมายจุดยึด
ในกรณีของเรา จุดอ้างอิงจะถูกระบุโดยตัวแปรอันดับ x ซึ่งมีช่วงของค่าตั้งแต่ -15 ถึง +15 โดยมีขั้นตอนเป็น 0.1 จุดเหล่านี้จะปรากฏบนกราฟหากคุณเลือกสไตล์มาร์กเกอร์ในช่องคุณสมบัติมาร์กเกอร์จากเมนูสไตล์ ในรูป ตัวอย่างเช่น รูปที่ 3.10 แสดงการสร้างกราฟที่มีเครื่องหมายของจุดควบคุมในรูปของวงกลม
ข้าว. 3.10. ตัวอย่างการตั้งค่าพารามิเตอร์มาร์กเกอร์และการวางแผนกราฟด้วย
คุณสามารถกำหนดขนาดของมาร์กเกอร์ สีเติม และสีเส้นขอบได้ ดังนั้นในรูป เวอร์ชัน 3.10 เมื่อดูบนหน้าจอแสดงผลสี เครื่องหมายจะมีลักษณะเป็นวงกลมที่มีเงื่อนไขขนาด 4 มีขอบสีแดง และมีสีแรเงาสีเหลือง เครื่องหมายสามารถตั้งค่าเป็นวงกลม สี่เหลี่ยม ไม้กางเขน เพชร ฯลฯ การใช้เครื่องหมายทำให้กราฟมองเห็นได้ชัดเจนยิ่งขึ้น
การจัดรูปแบบเส้นและเครื่องหมายสำหรับกราฟหลายฟังก์ชัน
หากคุณกำลังพล็อตกราฟของหลายฟังก์ชัน คุณสามารถจัดรูปแบบเส้นและเครื่องหมายของแต่ละเส้นโค้งแยกกันได้ มารันคำสั่งต่อไปนี้:
"x=-6:.1:6;
» พล็อต(x.sin(x).x.sin(x).^3.x,บาป(x).^5):
ข้าว. รูปที่ 3.11 แสดงตัวอย่างการจัดรูปแบบกราฟที่ได้รับจากการดำเนินการคำสั่งเหล่านี้
อย่างไรก็ตาม ให้ใส่ใจกับวิธีการระบุองศาของไซน์ มันจะเป็นความผิดพลาดร้ายแรงหากจะเขียนนิพจน์เหล่านี้ในรูปแบบ sin(x)^2 และ cos(x)^2 เนื่องจาก x เป็นเวกเตอร์ ตัวดำเนินการ ^ ในกรณีนี้จะให้การยกกำลังตามองค์ประกอบ ซึ่งเป็นสิ่งจำเป็นในการพล็อตกราฟของฟังก์ชันเหล่านี้
ข้าว. 3.11. ตัวอย่างการจัดรูปแบบกราฟของ 3 ฟังก์ชัน
การจัดรูปแบบแกนกราฟ
เช่นเดียวกับกฎที่อธิบายไว้ข้างต้น การจัดรูปแบบของวัตถุแผนภูมิอื่นๆ จะดำเนินการ ตัวอย่างเช่นโดยการชี้เคอร์เซอร์ของเมาส์ไปที่แกนของกราฟ (ซึ่งมีป้ายกำกับในรูปแบบของสี่เหลี่ยมสีดำด้วย) และดับเบิลคลิกที่ปุ่มซ้ายของเมาส์คุณจะเห็นลักษณะที่ปรากฏของหน้าต่างสำหรับการจัดรูปแบบวัตถุกราฟิกคำอธิบาย ตัวแก้ไขคุณสมบัติ (ตัวแก้ไขคุณสมบัติ, ตัวแก้ไขคุณสมบัติกราฟิก) (รูปที่ 3.12) กำหนดค่าให้จัดรูปแบบแกน
ข้าว. 3.12. ตัวอย่างการจัดรูปแบบแกนแผนภูมิ
หน้าต่างตัวแก้ไขกราฟิก Descriptor Graphics Properties มีหลายแท็บ การตั้งค่าที่ค่อนข้างชัดเจน และไม่มีอะไรขัดขวางไม่ให้ผู้อ่านทดลองกับแท็บเหล่านั้นได้สักสองสามนาที สิ่งนี้จะช่วยให้คุณเข้าใจความเรียบง่ายและในขณะเดียวกันก็มีประสิทธิภาพสูงในการจัดรูปแบบออบเจ็กต์กราฟิก ตัวอย่างเช่น คุณสามารถตั้งค่ามาตราส่วนเชิงเส้นหรือลอการิทึมของแกนได้ (แท็บมาตราส่วน ที่เปิดในรูปที่ 3.12) ทิศทางปกติหรือผกผันของแกน (X, Y และในกรณีของกราฟสามมิติ ให้ใช้ Z ) และแสดงกริด (พารามิเตอร์ Grid Show) เปลี่ยนรูปแบบของแกนและสีพื้นหลัง (แท็บ Style) เพิ่มป้ายกำกับให้กับแกน (แท็บ Label) ฯลฯ
ข้าว. รูปที่ 3.13 แสดงกราฟคลื่นไซน์หลังการจัดรูปแบบแกนบางส่วน ที่นี่ (ตามที่แสดงในรูปที่ 3.12) การสร้างกริดตามแนวแกน X และ Y การสร้างจารึก (เพียงตัวอักษร X และ Y) ตามแนวแกนพิกัดและการสร้างจารึกชื่อจะถูกระบุ . ในเวลาเดียวกันในรูป. รูปที่ 3.13 แสดงเมนูเครื่องมือขยายของหน้าต่างกราฟิกที่เปิดอยู่ คำสั่งของมันจะอธิบายโดยละเอียดในบทที่ 5 พูดง่ายๆ ก็คือ คุณสามารถทำอะไรก็ได้ที่คุณต้องการด้วยออบเจ็กต์กราฟิก! เราจะมาดูความเป็นไปได้บางประการในการจัดรูปแบบวัตถุกราฟิกในภายหลัง ตามที่เราอธิบายประเภทของกราฟิก
ข้าว. 3.13. ตัวอย่างการพล็อตไซนัสอยด์หลังการจัดรูปแบบแกน
หากคอมพิวเตอร์มีชุดแบบอักษรที่เหมาะสมคำจารึกบนกราฟก็สามารถทำได้เป็นภาษารัสเซีย - รูปที่ 1 รูปที่ 3.13 แสดงให้เห็นคุณสมบัติที่สำคัญนี้สำหรับผู้ใช้ของเราเป็นอย่างดี คำจารึกชื่อเป็นภาษารัสเซีย เครื่องมือจัดรูปแบบฉลากมีตัวเลือกมากมายในการเลือกชุดแบบอักษร สไตล์ ขนาดอักขระ และสี
การใช้ป้ายกำกับและลูกศรกับแผนภูมิโดยตรง
นอกจากนี้ คุณสามารถเพิ่มป้ายกำกับลงในแผนภูมิได้โดยใช้ปุ่มแถบเครื่องมือที่มีตัวอักษร A ตำแหน่งของป้ายกำกับจะได้รับการแก้ไขด้วยการคลิกเมาส์ ในรูป รูปที่ 3.14 แสดงกราฟที่จัดรูปแบบพร้อมบล็อกข้อความที่สร้างขึ้นในลักษณะนี้ที่ด้านซ้ายบนของฟิลด์กราฟ
เมนูบริบทคลิกขวาจะแสดงอยู่ที่นี่ อธิบายการเลือกขนาดของอักขระที่จารึก (และตัวเลือกอื่น ๆ ของเมนูนี้) เราเตือนคุณว่าเมนูนี้จะปรากฏขึ้นเมื่อคุณคลิกขวาที่วัตถุที่กำหนด เมนูนี้ประกอบด้วยคำสั่งทั้งหมดที่ใช้ได้สำหรับออบเจ็กต์ที่กำหนดในสถานการณ์ที่กำหนด
ข้าว. 3.14. การติดป้ายกำกับแผนภูมิที่จัดรูปแบบแล้ว
จารึกที่ได้รับด้วยวิธีนี้สามารถเลือกและย้ายด้วยเมาส์ไปยังที่อื่นได้ ข้าว. รูปที่ 3.15 แสดงกระบวนการสร้างป้ายกำกับเพิ่มอีกสองป้ายและย้ายบล็อกข้อความไปยังตำแหน่งที่ต้องการ คำจารึกทำด้วยขนาดตัวอักษรและสไตล์ที่แตกต่างกัน เป็นเรื่องดีอย่างยิ่งที่เมื่อคุณระบุการยกกำลังบนคำจารึกด้วยเครื่องหมาย ^ คำจารึกบนหน้าจอจะแสดงในรูปแบบทางคณิตศาสตร์ตามธรรมชาติ (ระดับอยู่ในรูปแบบของตัวยก)
ข้าว. 3.15. กราฟที่จัดรูปแบบสุดท้ายของฟังก์ชัน 3 รายการ
ในรูป โดยเฉพาะรูปที่ 3.15 แสดงวิธีการตั้งค่าป้ายกำกับในรูปแบบต่างๆ รวมถึงวิธีการตั้งค่าลูกศรโดยใช้ปุ่มแถบเครื่องมือที่เกี่ยวข้อง นี่คือลูกศร ในโหมดแก้ไขกราฟ คุณสามารถเลื่อนและหมุนเมาส์ รวมถึงเปลี่ยนความยาวของเมาส์ได้ คุณยังสามารถพล็อตเส้นปกติ (โดยไม่มีลูกศร) บนกราฟได้
การสร้างคำอธิบายและระดับสีบนแผนภูมิ
นอกจากนี้ คุณสามารถเปลี่ยนขนาดของกราฟได้ (ดูเมนูเครื่องมือและคำสั่งซูมเข้าและซูมออก) เริ่มหมุนกราฟด้วยเมาส์ (คำสั่งหมุน 3D) เพิ่มส่วนของเส้นตรงหรือกราฟิกดั้งเดิมอื่น ๆ (เพิ่มเมนูย่อย ) และเชื่อมต่อกับกำหนดการ ตำนาน -คำอธิบายในรูปแบบของส่วนของเส้นตรงที่มีข้อความอ้างอิงอยู่ภายในหรือใกล้กราฟ เนื่องจากกราฟของเรามีเส้นโค้งสามเส้น คำอธิบายจึงเป็นการกำหนดเส้นสามเส้นนี้ที่มุมขวาบนของรูป (รูปที่ 3.16) แต่ละเส้นมีสีเดียวกับบนกราฟ (และรูปแบบเดียวกัน)
ข้าว. 3.16. กำหนดการสรุปแล้ว
ควรสังเกตอีกครั้งว่าตัวเลือกการจัดรูปแบบแผนภูมิที่อธิบายไว้ทั้งหมดนั้นสามารถใช้งานได้โดยทางโปรแกรมด้วย โดยการระบุคำสั่งกราฟิก พารามิเตอร์ และพื้นฐานที่เหมาะสม ตัวอย่างเช่น คำสั่ง text(x,y, "legend") อนุญาตให้คุณระบุคำจารึก "legend" โดยที่จุดเริ่มต้นมีพิกัด (x, y) หากหลังจากเครื่องหมายอะพอสทรอฟีตัวแรก พารามิเตอร์ \leftarrow จะถูกวางไว้หน้าข้อความ คำจารึก (คำอธิบาย) จะปรากฏขึ้นหลังลูกศรโดยให้ปลายชี้ไปทางซ้าย ในทำนองเดียวกัน พารามิเตอร์ \rightarrow หลังคำจารึกระบุการแสดงลูกศรหลังคำจารึกโดยให้ปลายหันไปทางขวา คุณสมบัตินี้ช่วยให้คุณทำเครื่องหมายได้ไม่เพียงแต่เส้นโค้งเท่านั้น แต่ยังรวมถึงจุดแต่ละจุดด้วย นอกจากนี้ยังเป็นไปได้ที่จะใช้คำสั่ง legend("s1", "s2",...) ซึ่งแสดงคำอธิบายของรูปแบบปกติ - ส่วนของเส้นกราฟที่มีคำอธิบาย "si", "s2" ฯลฯ
การย้ายกราฟในหน้าต่างกราฟิก
โดยทั่วไปกราฟจะอยู่ในตำแหน่งคงที่ตรงกลางหน้าต่างกราฟิก อย่างไรก็ตาม ในโหมดแก้ไขแผนภูมิ เมื่อเคอร์เซอร์ของเมาส์อยู่ในพื้นที่แผนภูมิ จะมีคำสั่ง Unlock ในเมนูบริบทคลิกขวา ตำแหน่งแกน จะลบการตรึงตำแหน่งของแกนพิกัดของกราฟและช่วยให้คุณสามารถเคลื่อนย้ายด้วยเมาส์พร้อมกับแกน นี่คือภาพประกอบในรูป 3.17.
ข้าว. 3.17. ตัวอย่างการย้ายกราฟ
สิ่งที่น่าสนใจคือเมื่อคุณย้ายกราฟ คำอธิบายและแผนภาพสีจะยังคงอยู่ในตำแหน่งเดิม
การใช้กราฟิก “แว่นขยาย”
แถบเครื่องมือมีปุ่มพร้อมแว่นขยายและเครื่องหมาย + และ - ด้วยความช่วยเหลือของพวกเขา คำสั่ง Zoom In (+) และ Zoom Out (-) จะถูกดำเนินการ ซึ่งจะทำให้คุณสามารถซูมเข้าหรือออกรูปภาพได้ ในขณะเดียวกันคำสั่ง Zoom In ก็น่าสนใจสำหรับความเป็นไปได้อีกอย่างหนึ่ง - ด้วยความช่วยเหลือคุณสามารถเลือกส่วนของกราฟได้โดยการเลื่อนเมาส์โดยกดปุ่มซ้าย - รูปที่ 3.18.
ข้าว. 3.18. ตัวอย่างการเน้นส่วนของกราฟ
ข้าว. 3.19.ตัวอย่างการดูกราฟบางส่วน
พื้นที่การเลือกจะถูกทำเครื่องหมายด้วยเส้นประบางๆ เป็นรูปสี่เหลี่ยมผืนผ้า เมื่อปล่อยปุ่มซ้ายของเมาส์คุณสามารถสังเกตการสร้างส่วนที่เลือกของกราฟได้ทั่วทั้งหน้าต่าง - รูปที่. 3.19. การใช้คำสั่งซูมออก คุณสามารถคืนค่ากราฟเป็นขนาดก่อนหน้าได้ นี่คือวิธีการใช้ "แว่นขยาย" แบบกราฟิก
การทำงานกับกล้องกราฟิก 3 มิติ
การจัดรูปแบบกราฟ 3 มิติแตกต่างจากกราฟสองมิติ (2D) โดยมีคุณสมบัติเพิ่มเติมหลายประการ มาสาธิตโดยใช้ตัวอย่างง่ายๆ ของการสร้างกราฟิก 3D โดยใช้คำสั่งง่ายๆ ต่อไปนี้:
» Z=จุดสูงสุด(40):
» ตาข่าย(Z);
ข้าว. 3.20. ตัวอย่างการสร้างกราฟโครงลวด 3 มิติ
ที่นี่ คำสั่งแรกจะสร้างอาร์เรย์ของจุดพื้นผิวโดยใช้คำอธิบายสำเร็จรูปจำนวนหนึ่งสำหรับพื้นผิวดังกล่าวที่สร้างไว้ในเคอร์เนลของระบบ MATLAB
ข้าว. 3.21.ตัวอย่างการจัดรูปแบบกราฟ 3 มิติ
คำสั่งที่สองเพียงสร้างพื้นผิวนี้จากจุดอ้างอิง โดยใช้การประมาณค่าสำหรับจุดที่อยู่ตรงกลาง ด้วยวิธีนี้ พื้นผิวของกรอบสีจะถูกสร้างขึ้น ราวกับทอจากลวดหลากสี ในรูป รูปที่ 3.20 แสดงการสร้างพื้นผิวนี้พร้อมกับแถบเครื่องมือกราฟิก 3D พิเศษที่เรียกว่า Camera ในต้นฉบับ
แม้จะมีปุ่มมากมาย แต่การใช้แถบเครื่องมือกราฟิก 3D ก็ค่อนข้างง่ายหากคุณจินตนาการว่าคุณกำลังมองวัตถุผ่านเลนส์กล้อง ภาพวาดบนปุ่มจะอธิบายความหมายของการกระทำ - นี่คือการเคลื่อนไหวและการหมุนของภาพวาด 3 มิติที่สัมพันธ์กับแกนพิกัดบางแกน การเปิดการแสดงเปอร์สเปคทีฟ การเปลี่ยนโทนสี ฯลฯ
มะเดื่อ 3.22- หยุดเฟรมของการหมุนกราฟ 3 มิติ
ข้าว. 3.21 แสดงให้เห็นว่าเทคนิคการจัดรูปแบบกราฟิกสองมิติสามารถนำมาใช้เมื่อทำงานกับกราฟิกสามมิติ - การแสดงคำจารึกบนกราฟ การแสดงคำอธิบาย (โดยวิธีการ ตอนนี้เป็นสามมิติ) และระดับสี
คุณสามารถใช้ปุ่มเคอร์เซอร์เพื่อควบคุมตำแหน่งและการหมุนของกราฟ 3 มิติ ผลของการหมุนกราฟแสดงไว้ในรูปที่ 1 รูป 3.22 ซึ่งแสดงกราฟในรูป 3.21 หลังจากหมุนขณะกดปุ่ม -> ต่างจากการหมุนด้วยเมาส์ (เป็นไปได้) การเคลื่อนย้ายและหมุนโดยใช้ปุ่มเคอร์เซอร์กับประเภทการเคลื่อนไหวที่เลือกจะทำให้การเคลื่อนไหวหรือการหมุนของภาพราบรื่น ด้วยวิธีนี้ ภาพเคลื่อนไหว (การฟื้นฟู) ของกราฟิกสามมิติจึงเกิดขึ้น
หมายเหตุสุดท้ายเกี่ยวกับกราฟิก
ดังนั้นเราจึงดูเทคนิคพื้นฐานสำหรับการจัดรูปแบบกราฟ โดยใช้เครื่องมือแถบเครื่องมือเป็นหลักและคำสั่งเฉพาะจากเมนูหน้าต่างกราฟิกที่ค่อนข้างชัดเจน ส่วนติดต่อผู้ใช้แบบหน้าต่างกราฟิกจะอธิบายรายละเอียดเพิ่มเติมในบทที่ 5
แม้ว่าเทคนิคการจัดรูปแบบกราฟิกจำนวนมากจะถูกยืมมาจากเทคโนโลยีการเขียนโปรแกรมเชิงภาพ แต่ระบบ MATLAB พื้นฐาน (โดยไม่มีแพ็คเกจส่วนขยายเพิ่มเติม (กล่องเครื่องมือ)) ยังคงขาดความสามารถเต็มรูปแบบสำหรับการเขียนโปรแกรมดังกล่าว แม้ว่าจะมีความสามารถขั้นสูงของกราฟิกตัวอธิบายก็ตาม สิ่งนี้ชัดเจนจากข้อเท็จจริงที่ว่าการเปลี่ยนแปลงที่ทำโดยการจัดรูปแบบกราฟไม่ได้มาพร้อมกับการสร้างโค้ดโปรแกรม ซึ่งเมื่อต่อมาถูกเรียกด้วยพารามิเตอร์ใหม่ จะสร้างการสร้างกราฟด้วยพารามิเตอร์ใหม่ ผู้ใช้สามารถเบิร์นสำเนาของกราฟที่สร้างขึ้นลงดิสก์ในรูปแบบภาพแรสเตอร์ (.bmp) เท่านั้น และใช้เพื่อแสดงภาพประกอบ
อย่างไรก็ตาม เครื่องมือ MATLAB ช่วยให้โปรแกรมเมอร์ที่มีประสบการณ์สามารถสร้างส่วนขยายระบบด้วยเทคโนโลยีการเขียนโปรแกรมเชิงภาพได้ ตัวอย่างที่ชัดเจนที่สุดคือระบบการสร้างแบบจำลองวัตถุแบบไดนามิก Simulink พร้อมชุดแบบจำลองจากบล็อกสำเร็จรูป ในกรณีนี้ไม่เพียงสร้างบล็อกไดอะแกรมกราฟิกที่ซับซ้อนของอุปกรณ์จำลองโดยอัตโนมัติ แต่ยังรวมถึงระบบสมการสถานะด้วยซึ่งเป็นพื้นฐานของการจำลอง
เราได้เรียนรู้อะไรใหม่บ้าง?
ในบทเรียนนี้เราได้เรียนรู้:
สร้างกราฟฟังก์ชันของตัวแปรตัวเดียว
สร้างแผนภูมิแท่ง
สร้างกราฟสามมิติ
หมุนกราฟด้วยเมาส์
ใช้เมนูบริบทของแผนภูมิ
จัดการรูปแบบแผนภูมิ