matlab manual

43
425461 MATLAB for Mechanical Engineering อาจารย์ผู ้รับผิดชอบรายวิชา อ. โศรฎา แข็งการ โทรศัพท์ : 044-224399

Upload: smich-butcharoen

Post on 21-Dec-2015

29 views

Category:

Documents


2 download

DESCRIPTION

Matlab manual

TRANSCRIPT

Page 1: Matlab manual

425461 MATLAB for Mechanical Engineering

อาจารยผรบผดชอบรายวชาอ. โศรฎา แขงการ

โทรศพท : 044-224399

Page 2: Matlab manual

425461 MATLAB for Mechanical Engineering

เนอหาวชาโดยสรป

แนะน าการใชโปรแกรม MATLAB เบองตน การด าเนนการแมทรกซฟงกชนของ MATLAB การเขยนแฟม M การหาผลเฉลยของระบบสมการเชงเสนทเกยวของในงานวศวกรรมเครองกล การประเมนคาชวงและการปรบเ สน โ ค ง ก า รหาอนพน ธ และป รพน ธ เ ช ง ต ว เ ลขของ ปญหาทางวศวกรรมเครองกล ผลเฉลยของสมการอนพนธสามญของปญหาทางวศวกรรมเครองกล ภาพกราฟฟกส คณตศาสตรเชงสญลกษณ การเขยนโปรแกรมทตดตอกบผ ใชโดยการฟกสดวย MATLAB กรณศกษาทางวศวกรรมเครองกล

Page 3: Matlab manual

425461 MATLAB for Mechanical Engineering

วน – เวลา เรยน วนศกร เวลา 09.00 - 12.00 น. หอง CAD/CAM I ต าราประกอบการเรยน

‚การใช MATLAB ส าหรบงานวศวกรรม‛ ผแตง กนตธร ช านประศาสน

ต าราอานประกอบ[1] ‚MATLAB เพอการแกปญหาทางวศวกรรม‛ ผแตง สธรรม ศร

เกษม และคนอนๆ[2] ‚คมอการใชงาน MATLAB ฉบบสมบรณ” ผแตง มนส สงวร

ศลป, วรรตน ภทรอมรกล

Page 4: Matlab manual

เนอหาการศกษา

สปดาหท วนท เนอหา/หวขอ

1 5 ม.ย. 52Introduction to MATLAB MATLAB useful function

2 12 ม.ย. 52 Writing MATLAB Function and Scripts

3 19 ม.ย. 52Branch and loop programming FunctionsFlow Chart

4 26 ม.ย. 52Numerical integration and differentiationSymbolic Mathematics I/O and file manipulation

Page 5: Matlab manual

เนอหาการศกษา

สปดาหท วนท เนอหา/หวขอ

5 3 ก.ค. 52 Polynomials and Fitting

6 10 ก.ค. 52 สอบ MIDTERM

7 24 ก.ค. 52 GUI Part 1

8 31 ก.ค. 52 GUI Part 2

9 7 ส.ค. 52 MATLAB for engineering problem Part 1

10 14 ส.ค. 52 MATLAB for engineering problem Part 2

11 21 ส.ค. 52 สอบ Project

Page 6: Matlab manual

การประเมนผล

• Class exam 20%• Quiz 20%• Mid-term 30%• Project Final 30%• รวม 100%

Page 7: Matlab manual

ขอบเขตเนอหาสปดาหท 1 Introduction to MATLAB

• What is MATLAB?

• Introduction for using MATLAB

• Variable

• ตวด าเนนการทางคณตศาสตร

• คาพเศษของ MATLAB

• การด าเนนการเชงตรรกะ

• เวกเตอรและเมตรกซ

• Exercises

Page 8: Matlab manual

What is MATLAB?

เปนภาษาคอมพวเตอรภาษาหนงคลายกบ ภาษา C หรอ fortan เปนเครองคดเลขทมประสทธภาพ เปนโปรแกรมคอมพวเตอรทใชงาย ไมยงยาก เปนเครองมอในการวเคราะหขอมลทางวศวกรรมและทางสถต เปนเครองมอทน าเสนอขอมลดวยการ plots

Page 9: Matlab manual

การเปดใชงาน MATLAB

Page 10: Matlab manual

Introduction for using MATLAB

Page 11: Matlab manual

MATLAB Prompt

เครองหมาย >> หมายถง พรอมรบค าสง พมพหรอ paste commands จากนนกด enter ถาตองการพมพหลายค าสงใหใชเครองหมาย

semicolon (;) แยกค าสงแตละค าสงออกจากกน โดยค าสงทงหมดจะอยบนบรรทดเดยวกน

Page 12: Matlab manual

MATLAB Prompt

ถาปดค าสงดวย semicolon (;) เปนการบอกให MATLAB ไมตองแสดง output ออกมา

ถาตองการใหแสดง output ไมตองใส semicolon (;) >>2+2

ans = 4

>>

Page 13: Matlab manual

การก าหนดตวแปรบน MATLAB

ตวพมพใหญและตวพมพเลก ท าใหชอของตวแปรตางกน

Matrix คอการสรางตวแปรหลายคาในชอเดยว เชน

V=[0.98 1.02 .99 1.07];

Page 14: Matlab manual

การก าหนดตวแปรบน MATLAB

MATLAB สรางตวแปรในรปของ scalar (matrix ขนาด 1X1) vector (matrix ขนาด nX1 หรอ 1Xn) และ matrices

ใน MATLAB การบวก หรอ ลบ กนของ vector ถาขนาดไมเทากนจะไมสามารถบวกกนได

Page 15: Matlab manual

Basic Operations

ก าหนด matrices โดย brackets [ ] เสมอ

ใชวงเลบ ( ) เพอเรยกคาของ matrices

การเรยกคา matrices คาแรกจะเปน row เสมอ และคาทสองจะเปน column , เชน M1(3,2) ซงไมเหมอนกบ M1(2,3)

Page 16: Matlab manual

Basic Operations

ถาตองการทราบวาขณะนมตวแปร Matrices ใดบางในหนวยความจ า, ใช >>whos

ถาตองการลบคาตวแปร, ใช >>clear x y

ถาตองการทราบขนาดของตวแปร >>size(M1)

Page 17: Matlab manual
Page 18: Matlab manual

Basic Operations

ใช +, -, *, / ส าหรบการ บวก, ลบ, คณ, หาร

ใช ./ and .* ส าหรบการหาร และคณ matrices และvectors แบบ element by element

ใช / and * ส าหรบการหาร และคณ matrices ตามหลกของ Linear Algebra

ใช ‘ ส าหรบ transpose matrix

สามารถคณ matrix ดวย scalar ไดเสมอ

Page 19: Matlab manual
Page 20: Matlab manual
Page 21: Matlab manual

การก าหนดตวแปรดวยชวงตวเลข

เครองหมาย Colon, ( : ) ก าหนดชวงตวเลข

>>V3=[1:5] ก าหนด V3 ใหมคาเทากบ 1 ถง 5 (เพมคาทละ 1)

>>V3=[1:3:13]’ ก าหนด V3 ใหมคาเทากบ 1 ถง 13, (เพมคาทละ 3)สงเกตวามเครองหมาย transposed

>>M5=M1(1:2,1:5) ก าหนด M5 ใหมคาเทากบ ทกคาในแถวท 1-2 และทก columns ท 1-5 ของตวแปร M1

>>V3=M1(:,2) ก าหนด V3 ใหมคาเทากบ ทกคาใน column ท 2 ของตวแปร M1

Page 22: Matlab manual
Page 23: Matlab manual

การสรางเมตรกซพเศษบน MATLAB

rand(m,n) สรางเมตรกซทแตละ element เปนคาสม จาก 0-1 eye(n,m) สรางเมตรกซเอกลกษณ ones(n,m) สรางเมตรกซหนงหนวย zeros(n,m) สรางเมตรกซศนย Linspace(a,b,n) การสราง row vector ขนาด 1Xn โดยคาแรกจะ

เทากบ a และคาสดทายเทากบ b

Page 24: Matlab manual

ตวอยาง

Page 25: Matlab manual

ตวอยาง

Page 26: Matlab manual

คาพเศษของ MATLABคาพเศษ ความหมาย

pi ใชแทนคา ซงมคาเทากบ 3.14159

i และ j แทน imaginary value ซงมคา

Inf แทน infinity สวนมากจะเกดจากการหารจ านวนใดๆ ดวย 0

NaN แทน Not-a-Number แทนคาททางคณตศาสตรไมนยาม (0/0)

eps แทน floating-point precision ของเครอง computer ทก าลงท างานอย

ans แทนคาทต านวณครงสดทายทไมมการก าหนดคาอน

Page 27: Matlab manual

ตวด าเนนการทางคณตศาสตรการด าเนนการ รปแบบ

พชคณตรปแบบของ MATLAB

การบวก (addition) a + b a + b

การลบ (subtraction) a – b a – b

การคณ (multiplication) a b a * b

การหารทางซาย (left division) b/a a\b

การหารทางขวา (right division) a/b a/b

การยกก าลง (exponentiation) ab a^b

Page 28: Matlab manual

ล าดบความส าคญ

ล าดบความส าคญ

ตวด าเนนการ

1 วงเลบ ( )

2 เลขยกก าลง ^ และเรยงจากซายไปขวา

3 การคณ การหาร และเรยงจากซายไปขวา

4 การบวก การลบ และเรยงจากซายไปขวา

Page 29: Matlab manual

ค าสงพเศษทางคณตศาสตร

sqrt(x) หาคารากท 2 ของ x

rem(x,y) หาเศษทไดจากการหาร x ดวย y

exp(x) หาคา ex

log(x) หาคา ln(x) หรอ natural logarithm ของ x

log10(x) หาคา log10(x) หรอ logarithm ฐาน 10 ของ x

Page 30: Matlab manual

ตวอยาง

Page 31: Matlab manual

ค าสงพเศษส าหรบฟงกชนตรโกณมต

sin(x) หาคา sine ของมม x radians cos(x) หาคา cosine ของมม x radians tan(x) หาคา tan ของมม x radians sind(x) หาคา sine ของมม x degree cosd(x) หาคา cosine ของมม x degree tand(x) หาคา tan ของมม x degree

Page 32: Matlab manual

ค าสงพเศษส าหรบฟงกชนตรโกณมต asin(x) หาคา arcsine ของ x โดย -1 =< X <= 1 และคาท

ไดเปน radians acos(x) หาคา arccos ของ x โดย -1 =< X <= 1 และคาทได

เปน radians atan(x) หาคา arctan ของ x โดย x เปนจ านวนจรง และคาท

ไดเปนradians อยระหวาง และ atan2(x,y) หาคา arctan ของ x โดย x เปนจ านวนจรง และคาท

ไดเปน radians อยระหวาง และ ขนอยกบเครองหมาย x และ y

2

2

Page 33: Matlab manual

ตวอยาง

Page 34: Matlab manual

Saving your work

>>save workspace1 x y saves ตวแปร x and y ใน file ชอ workspace1.mat

>>save workspace1 saves ทกตวแปร ใน file ชอ workspace1.mat

>>load workspace1 เรยกคาตวแปรใน file ชอ workspace1.mat

Page 35: Matlab manual

การเรยกใช help

>>help แสดงหวขอทงหมดทม

>>help graph2d แสดงตวอยาง functions ของ graph2d

>>help plot แสดงตวอยาง functions ของ plot

>>clear all ลบคาตวแปรทงหมด

Page 36: Matlab manual

ค าสงพเศษส าหรบจ านวนจรง fix(x) หาคาจ านวนเตมทใกล x ไปทาง 0 มากทสด

ceil(x) หาคาจ านวนเตมทใกล x ไปทาง +มากทสด

floor(x) หาคาจ านวนเตมทใกล x ไปทาง -มากทสด round(x) หาคาจ านวนเตมทใกล x มากทสด

sign(x) หาคาเครองหมายของ x

rat(x) ประมาณคาจ านวนจรงใหอยในรปเศษสวน

abs(x) หาคาสมบรณของ x

Page 37: Matlab manual

ตวอยาง

Page 38: Matlab manual

ค าสงพเศษส าหรบจ านวนเชงซอน

z = a + bi

real(z) หาสวนจรง

imag(z) หาสวนจนตภาพ

abs(z) หาขนาด

conj(z) หาสงยคเชงซอน zz = a – bi

angle(z) หาคามมหรอ argument ของ z

Page 39: Matlab manual

ตวอยาง

Page 40: Matlab manual

ตวด าเนนการตรรกะศาสตร (Logic function)

ใชเปรยบเทยบ, ตรวจสอบ หรอคนหา element ภายในเมตรกซพจารณาแตละ column• find(x) ได vector ต าแหนงท element ไมเปน 0 ในเมตรกซ x• any(x) จะใหคา 1 ถา element ใดในเมตรกซ x ไมเปน 0 และจะ

ใหคา 0 ถา element ใดในเมตรกซ x เปน 0• all(x) จะใหคา 1 ถา element ทกในเมตรกซ x ไมเปน 0 และ

จะใหคา 0 ถาม element ใดในเมตรกซ x เปน 0

Page 41: Matlab manual

ตวด าเนนการตรรกะศาสตร (Logic function)

• isnan(x) จะใหคา 1 ถา element ใดในเมตรกซ x ไมใชตวเลข (NaN) และจะใหคา 0 ถา element ใดใน เมตรกซ x เปน NaN

• finite(x) จะใหคา 1 ถา element ทกในเมตรกซ x มคา (finite)หรอเปน 0 และจะใหคา 0 ถาม elementใดเปน infinity หรอ NAN

• isempty(x) จะใหคา 1 ถาเมตรกซ x เปนเมตรกซวาง

Page 42: Matlab manual

ตวอยาง

Page 43: Matlab manual

Next Week

Flow Chart Writing Function file and Script file Branch and loop programming Functions