Professional Documents
Culture Documents
MATLAB
ยอยที่เคยพัฒนามาใชใหมได
1.ภาษาโปรแกรม MATAB
2.สถาปตยกรรมในการทํางานของ MATLAB
สามารถตรวจสอบความผิดพลาดของโปรแกรมที่เขียนขึน้ ได
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 2
3.ฟงกชนั ในการคํานวณทางคณิตศาสตร
เสนที่เปนวิชาพื้นฐานสาขาวิชาตางๆ
4.Handle Graphics
การใช MATLAB
“matlabrc.m’ ขึ้นมาเพื่อ set up คาตั้งตนตางๆ ไฟล “matlabrc.m” นี้โดยปกติจะอยูที่ root directory ของ MATLAB
สําหรับ version 4 และอยูใ น $\toolbox\local สําหรับ version 5(เมื่อ $ เปน MATLAB root directory) การ
เปลี่ยนแปลงคาตั้งตนของโปรแกรม สามารถทําไดโดยแกไขไฟลนี้
หลังจากนัน้ ในหนาตางของโปรแกรม MATLAB เราจะเห็น prompt “»“ (หรือ “ป” ถาใช screen font เปน
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 3
ผลลัพธ ตัวอยางเชน
» 3+5*7^2
ans =
248
» x=3*5/4
x=
3.7500
» 3+5*7^2;
สวนในกรณีทตี่ องการเขียนคําสั่งมากกวาหนึ่งคําสั่งในบรรทัดเดียวกันสามารถใช ‘;’ หรือ ‘,’ คั่นระหวางคําสั่งได
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 4
ตัวแปรใน MATLAB
คาตัวแปรที่ใชทุกคาไดถูกกําหนดอยางถูกตอง ไมใชคาที่มาจากการคํานวณอื่น
» help size
SIZE Size of matrix.
D = SIZE(X), for M-by-N matrix X, returns the two-element row vector D = [M, N] containing the number of
rows and columns in the matrix. For N-D arrays, SIZE(X) returns a 1-by-N vector of dimension lengths. Trailing
singleton dimensions are ignored.
[M,N] = SIZE(X) returns the number of rows and columns in separate output variables. [M1,M2,M3,...,MN] =
SIZE(X) returns the length of the first N dimensions of X. M = SIZE(X,DIM) returns the length of the dimension
specified by the scalar DIM. For example, SIZE(X,1) returns the number of rows.
See also LENGTH, NDIMS.
MATLAB จะแสดงทั้งคําอธิบายและวิธีการใชคําสั่ง size ตลอดจนคําสั่งอื่นๆที่เกี่ยวของ
Function ใน MATLAB
ไปแลว และการใช M-file หรือการเขียนโปรแกรมใน batch และ function file ซึ่งเปนชุดคําสั่งที่เขียนไวใน file อื่น
แตสามารถเรียกใชไดดวยคําสั่งเดียว
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 5
ชุดคําสั่งยาวหลายบันทัด การเขียน M-file จะตองใช editor ในการเขียน ซึ่ง default editor ใน ver.4 จะเปน NotePad
Function จะแตกตางกับ batch file ตรงที่ function จะมีการรับ-สงคาตัวแปร และ function ไมสามารถ
Arithmetic operators.
+ plus - Plus
+ uplus - Unary plus
- minus - Minus
- uminus - Unary minus
* mtimes - Matrix multiply
.* times - Array multiply
^ mpower - Matrix power
.^ power - Array power
\ mldivide - Backslash or left matrix divide
/ mrdivide - Slash or right matrix divide
.\ ldivide - Left array divide
./ rdivide - Right array divide
Relational operators.
== eq - Equal
~= ne - Not equal
< lt - Less than
> gt - Greater than
<= le - Less than or equal
>= ge - Greater than or equal
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 6
Logical operators.
& and - Logical AND
| or - Logical OR
~ not - Logical NOT
Special characters.
: colon - Colon
( ) paren - Parentheses and subscripting
[ ] paren - Brackets
{ } paren - Braces and subscripting
. punct - Decimal point
.. punct - Parent directory
... punct - Continuation
, punct - Separator
; punct - Semicolon
% punct - Comment
! punct - Invoke operating system command
= punct - Assignment
' punct - Quote
.' transpose - Transpose
แตกตางระหวาง for กับ while คือ for จะสามารถกําหนดลวงหนาไดวา จะใหทําซ้ํากี่ครั้ง ในขณะที่ while จะใช
“ขอแม” เปนตัวกําหนดวาจะทําซ้ํากี่ครั้ง
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 7
Problem: van der Waals equation of state for gas can be written as
Calculate the temperature of ammonia and plot the PT graph, when pressure varies from 50 to 100 atm. V = 40
L/g-mol, TC = 405.5 K, PC = 111.3 atm. Compare the van der Waals equation and the ideal gas law.
การแปลงฟูเรียรเต็มหนวย
ฟูเรียรเต็มหนวยแตการแปลงฟูเรียรแบบเร็วจะมีวธิ ีการในการจัดแบงขอมูลแลวทําการคํานวณซึ่งจํานวนขอมูลที่ใช
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 8
เต็มหนวยและการแปลงฟูเรียรแบบเร็วซึ่งมีการะบวนการในการคํานวณสอดคลองกับสมการดังนี้
f (n ) → f (k )
f (k ) = FFT {f (n )}
n −1
f (k ) = ∑ f (n )e − j 2 πnk / N
, k = 0 ,1... , N − 1
n =0
N ⎛ n −1 ⎞
− j 2 π ( k −1 )⎜ ⎟
f (k ) = ∑ f (n )e ⎝ N ⎠
, k = 1,2 , ... , N
n =1
f (n ) ← F (k )
−1 {F ( k )}
f (n ) = FFT
เมื่อทําการแปลงกลับ
N ⎛ n −1 ⎞
j 2 π ( k −1 )⎜ ⎟
∑ F (k )e
1 ⎝ N ⎠
f (n ) = , n = 1,2 , ... N
N k =1
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 9
คําสั่ง รายละเอียด
แทนจุดของสัญญาณในดดเมนเวลาโดยมีเงื่อนไขวาถาความยาวของเวกเตอร A
ใชกระบวนการแปลงฟูเรียรแบบเร็วถาความยาวของเวกเตอร A มีความยาวไม
กระบวนการแปลงฟูเรียรเต็มหนวยซึ่งชากวาการแปลงฟูเรียรแบบเร็ว
เวกเตอร N
จงหาคาการแปลงฟูเรียรของฟงกชัน
⎧4e −2t t ≥0
f (t ) = ⎨
⎩0 t <0
วิธีทํา
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 10
สามารถอธิบายไดดังตัวอยางตอไปนี้
ฟูเรียรผกผันเพื่อดูวาคําตอบถูกตองหรือไมดดยใชคําสั่ง ifourier
g (t ) = 3e −t
2
วิธีทํา
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 11
ω2
−
ผลการแปลงฟูเรียรของฟงกชัน g (t ) = 3e −t 2
มีคาเทากับ 3 πe 4
อนุกรมฟูเรียร
เกิดปญหามักเปนฟงกชันคาบซึ่งแทนในเทอมของฟงกชันที่เปนคาบของสัญญาณไซนและโคไซนที่เปนอนุกรมกัน
t +T 0
1
เมื่อ Fn = ∫ f (t )e
− jnω 0
dt
T0 t
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 12
เราสามารถเขียนอนุกรมฟูเรียรแบบตรีโกณมิติใหอยูในรูปผลบวกไดดังนี้
∞
f (t ) = a 0 + ∑{a n cos( n ω 0t ) +b n sin( n ω 0t )}
n =1
เมือสัมประสิทธิ์ของอนุกรมฟูเรียรมีคาเทากับ
t +T 0
a0 = ∫ f (t )dt
t
t +T 0
an = ∫ f (t ) cos( nω t )dt
t
0
t +T 0
bn = ∫ f (t ) sin( nω t )dt
t
0
พิจารณาความสัมพันธระหวางฟงกชันไซนและโคไซนของอนุกรมฟูเรียรแลวหาความสัมพันธกับ
สัมประสิทธิ์อนุกรมฟูเรียรทไี่ ดกลาวมาขางตนจะไดวา
a0 = F0
F0 = F- n = ½( an - jbn )
a0 = 2Re {Fn}
bn = -2 Im { Fn}
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 13
จงหาคาอนุกรมฟูเรียรของรูปขางลางนี้
วิธีทํา
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 14
การหาคาลาปลาซเปนการแปลงฟงกชนั หนึ่งเปนอีกฟงกชันหนึ่งซึ่งเราสามารถนําการแปลงลาปลาศไปใช
สําหรับหาคําตอบของสมการเชิงอนุพันธเชิงเสนที่มีสัมประสิทธิ์เปนคาคงตัวในรุปของปญหาเงื่อนไขคาเริ่มตน เชน
เริ่มตนจะทําใหไดคําตอบที่สอดคลองกับปญหาพีชคณิตอยางอัตโนมัติ มักพบในสมการเชิงอนุพันธแบบไม
หาคาผลลัพธจากการแปลงลาปลาซ
ผลการแปลงลาปลาซ
เราจะไดฟงกชนั F เปนดังนี้
∞
F ( s ) = L {f (t )} = ∫ e − st f (t )dt
0
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 15
0 t <0
u s (t) = 1 t >0
indeterminate t =0
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 16
ดังนั้น
ดังตอไปนี้
คําสั่ง รายละเอียด
L = laplace(F) การหาผลการแปลงลาปลาซของฟงกชัน F
จงหาผลการแปลงสาปลาซของฟงกชันตอไปนี้
sin ax + cosax
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 17
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 18
ดังนี้
คําสั่ง รายละเอียด
แทน y ดวยคาของ t
ไดดังนี้
จงหาผลการแปลงลาปลาซผกผันของฟงกชันตอไปนี้
24
s + 4 s + 13
2
ผลการแปลงลาปลาซผกผันไดดังนี้
⎧ 24 ⎫
หาคาของ L −1 ⎨ 2 ⎬
⎩ s + 4 s + 13 ⎭
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี
IntroductionMATLAB(Thai) For ElectricalEngineering UBU 19
ภาควิชาวิศวกรรมไฟฟาและอิเล็กทรอนิกส มหาวิทยาลัยอุบลราชธานี