ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
MATLAB Week 4
2
Outline I/O and file manipulation (บทที่ 3 หัวข้อ 3.7)
Simple plot (บทที่ 2 หัวข้อ 2.8) Interpolation and Curve fitting (บทที่ 6)
3
I/O and file manipulation
เป็นการส่งผ่านข้อมูล กับโปรแกรมอื่น การเก็บข้อมูลเพื่อนำไปใช้ต่อ เป็นระบบการบันทึกข้อมูลและรับส่งข้อมูล เป็นการ เปิด-อ่าน-เขียน-ปิด file บน MATLAB
4
การเปิด file คำสั่ง fid = fopen(filemane, permission)
เป็นการเปิด file ที่ชื่อ filename Permission : กำหนดลักษณะการเปิด ‘r’ : เปิดเพื่ออ่านอย่างเดียว read ‘w’ : เปิดเพื่อเขียนอย่างเดียว write ‘r+’ : อ่านและเขียน ไม่มีการสร้างใหม่ ‘w+’ : ตัดหรือสร้างใหม่สำหรับการอ่านหรือเขียน
5
การปิด file คำสั่ง st = fclose(fid)
เป็นการปิด file ที่ได้จากการใช้คำสั่ง fopen ก่อนหน้านี้
6
การเขียน Binary file คือ แฟ้มที่บรรจุข้อมูลที่เป็นฐานสองเท่านั้น ข้อมูลเหล่านี้ คอมพิวเตอร์จะเข้าใจและรับรู้ได้โดยปกติ แฟ้มข้อมูลเหล่านี้จะถูกกำหนดให้ใช้นามสกุล (file type) ว่า .bin คำสั่ง count = fwrite(fid,A,precision) เขียน element ของ Matrix A ลงไปใน file ที่กำหนดโดย fid เขียนตามลำดับ column Count จะบอกว่าได้มีการเขียนกี่ครั้ง
7
การอ่าน Binary file คำสั่ง [A,count] = fread(fid,size,precision)
อ่าน Binary data จาก file ที่กำหนดโดย fid ให้ไปอยู่ใน matrix A Count จะบอกว่าได้มีการอ่านกี่ครั้ง size : (ตัวเลือก) ถ้าไม่กำหนดจะอ่านจนหมด file N : อ่าน N element เข้าเป็น column vector inf : อ่านจนจบ file (ค่าเบื้องต้น) [M,N] : อ่านข้อมูลให้เข้าสู่ Matrix ขนาด M X N
8
การเขียนและอ่าน Binary file
precision
9
การเขียนและอ่าน Binary file
precision
10
ตัวอย่าง
11
ตัวอย่าง
12
ตัวอย่าง
13
ตัวอย่าง
14
การเขียน Format file เป็น format string หรือ ข้อมูลในรูปแบบของ text (ตัวหนังสือ) แฟ้มข้อมูลเหล่านี้จะถูกกำหนดให้ใช้นามสกุล (file type) ว่า .txt หรือ .dat คำสั่ง count = fprintf(fid,format,A) เขียน format data เฉพาะ real part ของ A ภายใต้เงื่อนไข format string ที่กำหนดลงบน file ที่กำหนดโดย fid Count จะบอกว่าได้มีการเขียนกี่ครั้ง
15
การอ่าน Format file คำสั่ง [a,count] = fscanf(fid,format,size)
อ่านค่าจาก format file ที่กำหนดโดย fid ให้อยู่ในรูปแบบตาม format string ที่ให้ แล้ว เก็บไว้ใน matrix A Count จะบอกว่าได้มีการอ่านกี่ครั้ง size จะบอกว่าอ่านครั้งละเท่าไหร่
16
ตัวอย่าง
17
ตัวอย่าง
18
ตัวอย่าง
19
Simple Plot เขียนกราฟ x-y แบบง่ายๆ คำสั่ง
plot(x,y) : สร้าง linear plot ของ x-y โดย x เป็นแกนนอน และ y เป็นแกนตั้ง plot(z) : ถ้า z เป็น complex number จะ plot ด้วย (Re(z),Im(z)) plot(x,y,’str’) : เมื่อ ‘str’ คือ character string กำหนดลักษณะ และสีของเส้นกราฟ plot(x,y,’str1’,w,v,’str2’) : plot curve มากกว่า 1 เส้น ในระบบ แกนเดียวกัน
20
Character string
21
Simple Plot คำสั่ง plotyy(x1,y1,x2,y2) : สร้าง linear plot ของ x1-y1 และ x2-Y2 แต่จะวางแกน y ไว้สองข้างของ กราฟ y1 อยู่ซ้ายมือและ y2 อยู่ขวามือ semilogx(x,y) : สร้าง plot ของ x-y โดย x เป็นสเกล log และ y เป็นเชิงเส้น semilogy(x,y) : สร้าง plot ของ x-y โดย y เป็นสเกล log และ x เป็นเชิงเส้น loglog(x,y) : สร้าง plot บนสเกล log ของ x-y
22
Simple Plot คำสั่ง title(‘txt’) : เขียนชื่อกราฟ วางที่ด้านบนตรงกลาง
xlabel(‘txt’) : เขียนชื่อแกน x วางตรงกลางของแกน x ylabel(‘txt’) : เขียนชื่อแกน y วางตรงกลางของแกน y grid on : ให้แสดงลายเส้นบนกราฟ grid off : ไม่ต้องแสดงลายเส้นบนกราฟ hold on : plot ซ้ำในกราฟรูปเดิม โดยไม่ต้องลบกราฟเดิม hold off : ยกเลิก hold on
23
SubPlot การสร้างกราฟย่อยใน Graphic window เดียว คำสั่ง
subplot(m,n,p) : สร้างกราฟย่อย โดยวางอยู่ในรูป matrix ขนาด mxn และให้ plot ลงในตำแหน่ง p
24
Interpolation and Curve fitting
คือ การเปลี่ยนข้อมูลที่มีลักษณะเป็นกลุ่มให้เป็น function ที่มีความต่อเนื่อง Interpolation : ฟังก์ชั่นจะผ่านทุกจุดของข้อมูล Curve fitting : ฟังก์ชั่นอาจจะผ่านหรือผ่านทุกจุดของ ข้อมูลก็ได้ แต่จะต้องเป็นฟังก์ชั่นต่อเนื่อง และใกล้เคียงกับทุกจุดมากที่สุด
25
Interpolation วิธีที่ MATLAB ใช้คือ
Polynomial interpolation : เชื่อมต่อจุดข้อมูล 2 จุดที่อยู่ติดกัน ด้วยเส้นโค้งหรือเส้นตรง ถ้าเป็น เส้นตรง linear interpolation Cubic-Spline interpolation: เป็น Curve ที่ได้จาก polynomial degree 3 ที่เชื่อมต่อ ระหว่างจุดสองจุด และ slope ระหว่างเส้นสองเส้นที่รอยต่อจะเท่ากัน
26
Linear Interpolation คำสั่ง :
interp1(x,y,s) : หา linear interpolation ของชุดข้อมูล x และ y เมื่อ y=y(x) โดยจะได้ผลคำตอบเป็น y=y(s) Note : ค่า x จะต้องเรียงจากน้อยไปหามาก
27
ตัวอย่าง การทดสอบระยะทางที่วัตถุเคลื่อนที่ เปลี่ยนไปตามเวลา
ถ้าต้องการหาระยะทางที่วัตถุเคลื่อนที่ไปได้ เมื่อเวลา t = 2.5 วินาที
28
Cubic Interpolation คำสั่ง :
interp1(x,y,s,’cubic’) : หา interpolation ของชุดข้อมูล x และ y เมื่อ y=y(x) จะได้ผลคำตอบ เป็น y=y(s) โดยใช้ cubic interpolation Note : ค่า x จะต้องเรียงจากน้อยไปหามาก
29
Spline Interpolation คำสั่ง :
interp1(x,y,s,’spline’) : หา interpolation ของชุดข้อมูล x และ y เมื่อ y=y(x) จะได้ผลคำตอบ เป็น y=y(s) โดยใช้ cubic spline interpolation spline(x,y,s) : จะให้ piecewise polynomial ที่ได้จากการ Interpolate ข้อมูล (x,y) โดย polynomial จะอยู่ใน รูป y=y(x) ppval(pp,s) : pp คือ piecewise polynomial และ s คือ จุดที่ ต้องการหาค่า
30
ตัวอย่าง
31
ตัวอย่าง
32
ตัวอย่าง
33
Curve fitting วิธีที่ MATLAB ใช้คือ
Least square : เลือก Curve ที่ได้จาก polynomial ซึ่งมี degree ตามที่ต้องการ โดย curve จะผ่านจุด ข้อมูลที่ผลรวมระยะห่างกำลังสองน้อยที่สุด P(x) = anxn + an-1xn-1 + an-2xn-2 +…+ a2x2 + a1x + a0
34
Curve fitting คำสั่ง : polyfit(x,y,n) : fit curve ของข้อมูล x และ y ด้วย polynomial degree n ผลที่ได้จะเป็นค่า สปส ของ polynomial เรียงจากกำลังมากไปน้อย polyval(P,x) : หาค่า polynomial ที่ x ใดๆ
35
ตัวอย่าง
36
Next Week บทที่ 7 Numerical integration and differentiation
บทที่ 8 Solution of ordinary Differential Equations
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.