matlab matrix laboratory
TRANSCRIPT
เรยนรการใชงานเบองตน
MATLAB
MATRIX LABORATORY
อาจารย ดร. ชยพร ตงทอง
ภาควชาคณตศาสตร คณะวทยาศาสตร
มหาวทยาลยเชยงใหม
2
การใชงานเบองตน
MATLAB
MATLAB เปนภาษาคอมพวเตอรชนสง (High-level Language) สาหรบการคานวณทาง
เทคนคทประกอบดวยการคานวณเชงตวเลข กราฟกทซบซอน และการจาลองแบบเพอใหมองเหน
ภาพพจนไดงายขน ชอของ MATLAB ยอมาจาก matrix laboratory เดมโปรแกรม MATLAB ได
เขยนขนเพอใชในการคานวณทาง matrix หรอเปน matrix software
MATLAB ไดพฒนามาดวยการแกปญหาทสงมาจากหลาย ๆ ผใชเปนระยะเวลาหลายป จง
ทาใหโปรแกรม MATLAB มฟงกชนตาง ๆ ใหเลอกใชมากมาย ในบงมหาวทยาลยไดใชโปรแกรม
MATLAB เปนหลกสตรพนฐานในการศกษาทางดานคณตศาสตร วศวกรรม และวทยาศาสตร
แขนงตาง ๆ ตลอดจนในดานอตสาหกรรมไดใชโปรแกรม MATLAB เปนเครองมอสาหรบใชใน
การทางานวจย
การกาหนดคาใหกบตวแปร
การกาหนดคาใหกบตวแปรในโปรแกรม MATLAB สามารถกระทาไดโดยการใช
เครองหมายเทากบ “(=)” แลวตามดวยคาขอมลหรอนพจนทตองการกาหนดใหกบตวแปร
ตวอยางเชน ตวแปร = นพจน;
เปนการกาหนดคาใหตวแปร A มคาเทากบ 10 + 2 = 12
หากไมมการเปลยนแปลงคาของ A คาของ A จะมคาเทากบ 12
ตลอด
หากตองการตรวจสอบหรอดคาตวแปรทกาหนดไว
กสามารถกระทาไดโดยการพมพตวแปรทตองการดคาขอมล
บนหนาตางคาสงไดโดยตรง
เราสามารถนาคา A ไปคานวณตอได
จากตวอยางจะเหนวาคาของ B จะมคาเทากบ 14
เกดจากการนาคา A = 12 บวก 2
จะไดวาเราสามารถกาหนดคาของตวแปรใหเทากบนพจน
ของตวแปรอนได
3
กาหนดคาเปน Character String
เราสามารถกาหนดคาตวแปรใหเปนตวอกษรได โดยการใสขอความทจะกาหนดใหตวแปร
ในเครองหมายคาพด รปแบบคอ ตวแปร = ‘ขอความ’
ตวอยางเชน
เปนการกาหนดใหตวแปร name เกบคาวา Chaiporn
คาสง disp
โปรแกรม MATLAB สามารถแสดงคาขอมลในรปแบบตวอกษรหรอตวเลขไดโดยกาหนด
เปนชอตวแปรหรอขอความไดดวยการใชคาสง dispโปรแกรม MATLAB จะตรวจสอบตวอกษร
หรอขอความทอยในเครองหมายคาพดของคาสงนแลวทาการแสดงตวอกษรหรอขอความทอยใน
วงเลบ แตถาไมมเครองหมายคาพดอยในวงเลบ โปรแกรม MATLAB จะแปรความหมายของ
ตวอกษรหรอขอความทอยในวงเลบเปนคาขอมลแลวแสดงคานนออกมา ตวอยางเชน
จากตวอยางนจะเหนวาเรามตวแปรอย 3 ตวแปร นนคอ A, name และ
Chaiporn โดยทคาของแตละตวจะขนอยกบการกาหนดคาของแตละตว
แปร จะสงเกตเหนวาหากเราใสเครองหมาย ; ตอทายแตละบรรทด
เครองจะไมแสดงคาของตวแปรนน ๆ ใหด หากเราอยากใหเครองแสดง
คาของตวแปรทตองการ ใหใชคาสง disp(ตวแปร)
การกาหนดคาใหกบตวแปรทตองการใหเปนตวอกษรนน เราจะใหเครองหมายคาพดใน
การกาหนดขอความ โดยทเครองจะไมสนใจความหมายของขอความนน ๆ ถงแมวาขอความนน จะ
ไปซ ากบตวแปรอกตวแปรหนงกตาม
และเราสามารถตดขอความในตวแปรนนมาเพยงบางสวนได
โดยการพมพตวแปรทตองการจะตดแลวตามดวยเครองหมาย
(begin position : end position) ตวอยางเชน
4
ตวดาเนนการ ตวดาเนนการเปรยบเทยบและตรรกะ และเครองหมายพเศษ
โปรแกรม MATLAB ไดกาหนดตวดาเนนการเครองหมายเปรยบเทยบ และตวดาเนนการ
เปรยบเทยบทางตรรกะมาใชในการคานวณเพออานวยความสะดวกในการเขยนโปรแกรม ดงน
ตวดาเนนการ
ลกษณะดาเนนงาน ตวดาเนนการ รปแบบของ MATLAB
การบวก + A+B
การลบ – A–B
การคณ * A*B
การคณเชงสมาชก .* A.*B
การหารทางขวา / A/B
การหารทางซาย \ A\B
การหารเชงสมาชก ./ A./B
การยกกาลง ^ A^b
การยกกาลงเชงสมาชก .^ A.^b
ตวดาเนนการเปรยบเทยบและตรรกะ
ลกษณะดาเนนงาน ตวดาเนนการเปรยบเทยบ
ทางตรรกะ
ตวอยางรปแบบการใชงาน
นอยกวา < x < 10
นอยกวาหรอเทากบ <= x <= 10
มากกวา > x > 10
มากกวาหรอเทากบ >= x >=10
เทากบ = = x = = 1
ไมเทากบ ~ = x ~ = 5
และ & x>2 & y<1
หรอ | x>2|y<1
ไม ~ ~x
5
เครองหมายพเศษ
เครองหมายหรอสญลกษณทนยมใชบอยในโปรแกรม MATLAB สวนใหญจะเปน
เครองหมาย % และ ; เครองหมาย % จะเอาไวใชแสดงหมายเหต ทกอยางทอยตามหลงเครองหมาย
นในบรรทดเดยวกน โปรแกรมจะไมสนใจความหมาย เรามกจะเอาไวใชเขยนคาอธบายความหมาย
ของโปรแกรมทเราเขยนขน สวนเครองหมาย ; จะเอาไวใชแยกเมตรกซหรอคาสง และใชสาหรบ
เปนคาสงไมใหแสดงคาผลลพธทไดจากการประมวลผล
เครองหมาย รายละเอยด
. จดทศนยม
( ) กาหนด subscripts
= กาหนดคา
[ ] สรางเวกเตอรและเมตรกซ
: สรางเวกเตอร
… กระทาคาสงยงบรรทดตอไป
, แยก element ภายในเมตรกและ subscripts
ฟงกชนคณตศาสตรพนฐานและคาตวแปรเฉพาะ
โปรแกรม MATLAB ไดกาหนดคาตวแปรเฉพาะทจาเปนตอการใชงานในการคานวณโดย
คาตวแปรเฉพาะนจะใชในการคานวณบอยมาก ดงนนเพอความสะดวกและไมใหเสยเวลาจงได
สรางฟงกชนและคาตวแปรนาไปใชงานไดทนท คาตวแปรเฉพาะในโปรแกรม MATLAB
ตวแปร รายละเอยด
pi π = 22/7
i 1−
Inf ∞
NaN Not-a-Number
Ans เกบผลจากการคานวณคาปจจบนใด ๆ ท
ไมไดทาการกาหนดชอตวแปรของผลลพธ
6
ฟงกชนในการคานวณทางพชคณต
sqrt(x) เปนฟงกชนในการหารากทสองของ x
ตวอยางเชน อยากหาคารากทสองของ A เมอกาหนดให A = 2
fix(x) เปนคาสงหาจานวนเตมทไดจากการตดเศษทศนยมทงหมดของ x ทง
ตวอยางเชน fix(–1.2) = –1
fix(0.99) = 0
fix(1.5) = 1
fix(1.89) = 1
floor(x) เปนคาสงใชหาจานวนเตมบวกทมากทสดทมคามากกวาหรอเทากบ x
ตวอยางเชน floor(–1.2) = –2
floor(–1.9) = –2
floor(0.99) = 0
floor(1.45) = 1
7
round(x) เปนคาสงใชหาจานวนเตมบวกโดยการปดเศษทศนยมตามนยสาคญของจดทศนยม
ตวอยางเชน round(–1.12) = –1
round(–1.54) = –2
round(0.55) = 1
round(1.01) = 1
rem(x,y) เปนคาสงใชหาคาเศษทเหลอจากการหารกนระหวางคา x และ y
ตวอยางเชน
เศษทไดจากการหาร 10 ดวย 2 คอ 0
เศษทไดจากการหาร 10 ดวย 4 คอ 2
เศษทไดจากการหาร 10 ดวย 6 คอ 4
เศษทไดจากการหาร 25 ดวย 6 คอ 1
abs(x) เปนคาสงในการหาคาสมบรณของ x หาก x เปนจานวนเชงซอน x = a + bi แลว
abs(x) = 22
ba +
ตวอยางเชน
22 =−
5.45.4 =
2361.2541i21 ==+=+
525169i43 ==+=+
8
คาสงหรอฟงกชนทใชในการหาคาทางตรโกณมต
การหาคาทางตรโกณมตเปนการหาคาโดยการใชความสมพนธของวงกลมหนงหนวยทม
การวดมมเปนหนวยองศาและ Radian แตในการคานวณของโปรแกรม MATLAB จะใชการ
คานวณในหนวยของ radian ดงนนกอนการคานวณถาคณใชหนวยองศากควรเปลยนใหเปนหนวย
ของ radian กอนการคานวณซงสามารถกระทาไดโดยการเทยบบรรญตไตรยางคไดดงน คอ
180 องศา เทากบ π หรอ pi เรเดยน
ถา x องศา เทากบ x*pi/180 เรเดยน
เชน ถาตองการเปลยนมม 75 องศาเปนเรเดยนกสามารถเปลยนไดโดยการแทนคา x เปน
75 องศา ดงนนจะไดคาเรเดยนเปน 75*pi/180 เทากบ 1.309 เรเดยน ซงคา pi มคาเทากบ 3.1416
ความสมพนธระหวางคาตาง ๆ ในทางตรโกณมตกาหนดเปนคา sine, cosine, tangent,
arcsine, หรอ อนเวอรสของ sine, arccosine หรออนเวอรสของ cosine, และ arctangent หรออน
เวอรสของ tangent การหาคาตาง ๆ เหลานจะอาศยความสมพนธของสามเหลยมมมฉากเปนสาคญ
ฟงกชนในการคานวณคาทางตรโกณมตมดงน
คาสง รายละเอยด
sin(x) ฟงกชนนใชคานวณหาคา sine ของ x โดยทคา x ตองอยใน
หนวยของเรเดยน
cos(x) ฟงกชนนใชคานวณหาคา cosine ของ x โดยทคา x ตองอย
ในหนวยของเรเดยน
tan(x) ฟงกชนนใชคานวณหาคา tangent ของ x โดยทคา x ตองอย
ในหนวยของเรเดยน
asin(x)
ฟงกชนทใชในการคานวณคาอนเวอรสของ sine ซงผลทได
จากการคานวณจะเปนมมเรเดยนทอยระหวาง -π/2 ถง π/2
โดยทคา x จะตองอยในชวง -1 ถง 1
acos(x)
ฟงกชนทใชในการคานวณคาอนเวอรสของ cosine ซงผลท
ไดจากการคานวณจะเปนมมเรเดยนทอยระหวาง 0 ถง π
โดยทคา x จะตองอยในชวง -1 ถง 1
atan(x)
ฟงกชนทใชในการคานวณคาอนเวอรสของ tangent ซงผลท
ไดจากการคานวณจะเปนมมเรเดยนทอยระหวาง -π/2 ถง
π/2 โดยทคา x จะตองอยในชวง -1 ถง 1
9
การหาคาฟงกชนไฮเพอรโบลก
ฟงกชนไฮเพอรโบลกเปนฟงกชน Natural Logarithm function ซงฟงกชนนจะสมพนธกน
กบคา ex เมอคา e มคาประมาณ 2.71828 คา ex นสามารถหาไดโดยใชฟงกชน exp(x)
การหาคาฟงกชนไฮเพอรโบลก มคาสงดงน
คาสง รายละเอยด
sinh(x) ฟงกชนนใชสาหรบการหาคาไฮเพอรโบลก sine ของ x
cosh(x) ฟงกชนนใชสาหรบการหาคาไฮเพอรโบลก cosine ของ x
tanh(x) ฟงกชนนใชสาหรบการหาคาไฮเพอรโบลก tangent ของ x
ฟงกชนทใชในการหาคา Logarithm
ในการคานวณเพอหาคาลอการทมนนจะเสยเวลาและยงยากในการคานวณมากเพราะ
จะตองเปดตารางเพอเทยบคาในการหาผลลพธ เพอลดความยงยากดงกลาวโปรแกรม MATLAB จง
มฟงกชนทใชสาหรบการหาคา Logarithm คอ log และ log10 ซงมโครงสรางดงน
การหาคาฟงกชนลอการทม มคาสงดงน
คาสง รายละเอยด
log(x) ฟงกชนนใชสาหรบการหาคา natural logarithm ของ x
log10(x) ฟงกชนนใชสาหรบการหาคา common logarithms
(logarithm ฐาน10) ของ x
ตวอยางเชน
ln(2) = 0.6931
log10(2) = 0.3010
10
การสรางอารเรย
ในการกาหนดคาตวแปรและขอมลตาง ๆ ของโปรแกรม MATLAB สวนใหญจะทาการ
เกบขอมลตาง ๆ ไวในอารเรยขอมลทเปนเวกเตอรและเมตรกซซงมความสาคญมาก และเรา
สามารถสรางอารเรยขอมลไดดงตอไปนคอ
♦ อารเรยในโปรแกรม MATLAB สามารถสรางไดโดยการกาหนดคาตวแปรไวดาน
ซายมอแลวตามดวยเครองหมายเทากบ (=) สวนดานขวามอใหนาคาขอมลมาใสใน
เครองหมาย Bracket [ ]
x = [x1]
เชน x = [100]
เปนเมตรกซทม 1 แถว 1 หลก
♦ คาขอมลหรอคาตวเลขระหวางหลกจะถกแยกดวยชองวาง (space) หรอเครองหมาย ,
x = [x1 x2 … xn]
หรอ
x = [x1,x2,…,xn]
เชน x = [ 0 1 2 3 4]
เปนเมตรกซทม 1 แถว 5 หลก
11
♦ การสรางอารเรยใหมหลาย ๆ แถวและหลายมตกสามารถกระทาไดโดยการแบงคา
ระหวางแถวดวยเครองหมายเซมโคลอน ( ; )
x = [x11 x12 … x1n; x21 x22 … x2n;…; xm1 xm2 … xmn]
เชน x = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]
เปนเมตรกซทม 3 แถว 3 หลก
♦ การสรางอารเรยใหมหลาย ๆ แถวและหลาย ๆ หลกกสามารถกระทาไดโดยการแบงคา
ระหวางแถวดวยการแยกคนละบรรทด
x = [x11 x12 … x1n
x21 x22 … x2n
xm1 xm2 … xmn]
♦ การสรางอารเรยโดยการใชเครองหมาย colon ( : ) ซงสามารถแบงการใชงานไดดงน
1. ถาเครองหมาย colon ( : ) อยระหวางจานวนจรงสองคาใด ๆ จะหมายถงคาทอยทาง
ซายมอเปนคาเรมตนและคาทอยทางขวามอเปนคาสดทาย (Variable = begin : end)
โดยโปรแกรม MATLAB จะทาการสรางคาอารเรยทเพมคาเรมตนทละ 1 คาจนถงคา
สดทาย
เชน A = 1:5
จะไดเมตรกซขนาด 1 แถว 5 หลก
โดยท A = [ 1 2 3 4 5 ]
12
2. ถาเครองหมาย colon ( : ) แยกจานวนจรงสามจานวนใด ๆ จะหมายถงคาแรกเปนคา
เรมตนคากลางจะเปนคาทเพมขน (ในกรณเปนคาบวก) หรอคาทลดลง (ในกรณเปนคา
ลบ) และคาทสามจะเปนคาสดทาย
Variable = begin : step : end
ตวอยางเชน A = 1:2:9
จะไดเมตรกซ A = [ 1 3 5 7 9 ]
หรอ B = 0:−2: −8
จะไดเมตรกซ B = [ 0 −2 −4 −6 −8 ]
คณตศาสตรทเกยวกบอารเรย
โปรแกรม MATLAB จะใชเครองหมายทางคณตศาสตร ในการคานวณคาตาง ๆ
ตวอยางเชน การคานวณระหวางคาสเกลารกบสเกลาร อารเรยกบอารเรย คาสเกลารกบอารเรย เปน
ตน โดยในหวขอนจะกลาวถงการดาเนนการคานวณคาตาง ๆ ดงตอไปน
การดาเนนการระหวางคาสเกลารกบอารเรย
การคานวณคาสเกลารกบอารเรยนจะเหมอนกบการคานวณทางคณตศาสตรทวไปโดย
คาสเกลารจะทาการบวก การลบ การคณ และการหาร กบทก ๆ คาในอารเรยททาการคานวณ
ตวอยางเชน
13
การดาเนนการระหวางคาอารเรยกบอารเรย
การดาเนนการทางคณตศาสตรระหวางอารเรยจะไมงายเหมอนการดาเนนการระหวาง
อารเรยกบคาสเกลารทงนเพราะการดาเนนการระหวางอารเรยกบอารเรยจะตองพจารณาขนาดหรอ
มตของอารเรยทจะตองทาการคานวณดวย ตวอยางเชน การบวก การลบ และการหาร จะตองกระทา
ในอารเรยทมมตเทากน สวนการคณนนจะตองพจารณาวาจานวนหลกของอารเรยหรอเมตรกซแรก
จะตองมจานวนหลกเทากบจานวนแถวของอารเรยหรอเมตรกซหลงจงจะทาการคานวณไดและการ
ยกกาลงจะพจารณาวาอารเรยททาการคานวณนนจะตองมจานวนแถว และจานวนหลกเทากนจงจะ
ทาการคานวณได
ถาเปนการคานวณแบบจดตอจด (element by element or dot product: จะกระทาระหวาง
ตาแหนงทตรงกนของเมตรกซ) จะพจารณาวาอารเรยททาการคณ หารและยกกาลง แบบจดตอจด
(element by element) จะตองมขนาดเทากน การดาเนนการแบบจดนจะใชเครองหมาย ( “.” ) ไว
หนาเครองหมายทจะทาการดาเนนการ ตวอยางเชน การคณจะใชเครองหมาย ( “.*” ) และ การหาร
จะใชเครองหมาย ( “./” ) สาหรบผลลพธทไดจากการบวกและการลบอารเรยทว ๆ ไปและการ
ดาเนนการแบบจดจะใหคาผลลพธเทากน ดงนนโปรแกรม MATLAB จงไมนาการบวกและการลบ
แบบจดตอจดมาใชงาน สวนการคณ การหารและการยกกาลงในการคานวณแบบอารเรยทวไปแบบ
จดตอจดนนจะทาใหผลลพธทตางกน เชน
A*B หมายถงการคณเมตรกซธรรมดาคอนาแถวของเมตรกซแรกคณกบหลกของเมตรกซหลง
A.*B หมายถงการนาสมาชกตาแหนงตรงกนคณกน
A^2 หมายถง A*A สวน A.^2 หมายถงนาสมาชกแตละตวของ A มายกกาลงสอง
A/B หมายถง A*B-1 สวน A./B หมายถงนาสมาชกตาแหนงตรงกนหารกน
14
อารเรยมาตรฐาน (Standard arrays)
โปรแกรม MATLAB จะมฟงกชนตาง ๆ สาหรบสรางอารเรยมาตรฐานเพอความรวดเรว
และสะดวกตอการใชงาน อารเรยทเปนเมตรกซพเศษเหลานประกอบดวยเมตรกซทเปนศนย
ทงหมด เมตรกซทเปนหนงทงหมด เมตรกซเอกลกษณ เมตรกซของการสมจานวน เมตรกซแนว
ทแยงมมและเมตรกซใหคาคงทเฉพาะ
เมตรกซทเปนศนยทงหมด : จะใชคาสงตอไปน
zeros(n) คาสงนจะใชสรางเมตรกซศนยซงเปนเมตรกซจตรสทมขนาด n×n
เชน หากตองการเมตรกซ 0 ขนาด 3×3
ใชคาสง zeros(3)
zeros(m,n) คาสงนจะใชสรางเมตรกซศนย ทมขนาด m×n
เชน หากตองการเมตรกซ 0 ขนาด 2×4
ใชคาสง zeros(2,4)
zeros(size(A)) คาสงนจะใชสรางเมตรกซศนยทมขนาดเทากบขนาดเมตรกซ A ใด ๆ
เชนหากเรามเมตรกซ A =
654
321
ซงมขนาด 2×3
หากตองการเมตรกซ 0 ทมขนาดเดยวกบ A
ใชคาสง zeros(size(A))
15
เมตรกซทเปนหนงทงหมด : จะใชคาสงตอไปน
ones(n) คาสงนใชสรางเมตรกซทมคาเปนหนงทงหมดซงเปนเมตรกซจตรสทมขนาด n×n
ones(m,n) คาสงนใชสรางเมตรกซทมคาเปนหนงทงหมดทมขนาด m×n
one(size(A)) คาสงนจะใชสรางเมตรกซทมคาเปนหนงทงหมดซงเปนเมตรกซทมขนาด
เทากบเมตรกซ A
16
เมตรกซเอกลกษณ : เปนเมตรกซทมคาหนงในเสนทแยงมมหลกสวนตาแหนงอน ๆ จะม
คาเปนศนยทงหมด คาสงทใชสรางเมตรกซเอกลกษณมดงตอไปน
eye(n) คาสงนใชสรางเมตรกซเอกลกษณซงเปนเมตรกซจตรสขนาด n×n
eye(m,n) คาสงนใชสรางเมตรกซเอกลกษณขนาด m×n
eye(size(A)) คาสงนใชสรางเมตรกซเอกลกษณทมขนาดเทากบเมตรกซ A
17
เมตรกซแนวทแยงมม (diagonal matrices) :มคาสงดงตอไปน
diag(A) คาสงนจะทาการหาคาเมตรกซในแนวเสนทแยงมมหลกของเมตรกซ A โดยท
เมตรกซ A จะตองมจานวนแถวมากกวา 1 แถวขนไป
diag(A) คาสงนจะแทนเมตรกซ A ลงบนแนวเสนทแยงมมหลกของเมตรกซศนยขนาด
n×n เมอเมตรกซ A เปนเมตรกซทมขนาด 1×n
18
det(A) ฟงกชนนใชเพอหาคาดเทอรมนนท (Determinant) ของเมตรกซ A ซงเปนเมตรกซ
จตรส
inv(A) ฟงกชนนใชเพอหาคาอนเวอรสของเมตรกซ A โดยอยภายใตเงอนไขวาคา
Determinant ของเมตรกซตองไมเปนศนยหรอเมตรกซ A ตองเปน singular matrices
19
การจดการอารเรยโดยทวไป
ในเมออารเรยหรอเมตรกซเปนพนฐานของโปรแกรม MATLAB จะมหลายวธทใชสาหรบ
จดการอารเรยหรอเมตรกซเพอสรางประสทธภาพในการทางาน ในสวนนจะกลาวถงการจดการ
เมตรกซในโปรแกรม MATLAB ซงมดงตอไปน
A(r,c) = k กาหนดใหแถวท r หลกท c ของเมตรกซ A มคาเทากบ k
A(:,c) = k กาหนดใหทกแถวและหลกท c ของเมตรกซ A มคาเทากบ k
20
A(r,:) = k กาหนดใหแถวท r และทก ๆ หลกของเมตรกซ A มคาเทากบ k
A(:) การนาหลกทงหมดของเมตรกซมาตอกนเปนหลกเดยว
21
สมการโพลโนเมยล
สมการโพลโนเมยลทอยในรปของสมการมาตรฐานจะเปนดงน
f (x) = anxn + an-1 + … + a1x + a0
เราจะกาหนดใหเมตรกซ A เปนเมตรกซสมประสทธของพหนาม ซงเราจะใช A แทน f(x)
โดยท A = [an an-1 … a1 a0] หาก f(x) เปนพหนามกาลง n เมตรกซ A จะมขนาด 1×n+1
การหารากของสมการโพลโนเมยล
จะหารากคาตอบของสมการ f(x) = 0
คาสง รายละเอยด
roots(A)
คานวณหารากของสมการโพลโนเมยล เมอ A เปนคาสมประสทธของ
สมการโพลโนเมยลทเรยงจากเลขยกกาลงมากไปนอยซงเราเรยก A วาเปน
เวกเตอรสมประสทธ
รากของสมการ 06xx7xx)x(f234 =+−−+=
คอ −3, −1, 2 และ 1
รากของสมการโพลโนเมยล 05x4x)x(f5 =+−=
คอ −1.6304, −0.2371+1.5155i, −0.2371−1.5155i,
1.0523+0.4426i และ 1.0523−0.4426i
22
เราอาจจะใชคาสง solve ในการหารากคาตอบของสมการ f(x) = 0 โดยการประกาศให
โปรแกรม MATLAB รวา x เปนตวแปรกอน โดยการใชคาสง syms x จากนนกาหนดฟงกชน f
แลวใชคาสง solve(f) โปรแกรมจะคานวณหารากของสมการ f(x) = 0 ใหทนท
หรอ
การเปลยนกลบจากรากของสมการโพลโนเมยลไปเปนสมการโพลโนเมยล
ถาเรามคารากของสมการโพลโนเมยลแตไมทราบวาฟงกชนของโพลโนเมยลทสอดคลอง
กบคารากของเรานนวามสมการเปนเชนไร ใชฟงกชน poly
คาสง รายละเอยด
poly(A) การเปลยนกลบจากรากของสมการโพลโนเมยลไปเปนสมการโพลโน
เมยล เมอ A คอ รากของโพลโนเมยลทตองการหาสมการโพลโนเมยล
เชน หากอยากทราบวาราก 1, 2, −1 และ −3
เปนรากของสมการโพลโนเมยลใด
กาหนด A = [1 2 −1 −3] แลวใชคาสง poly(A)
ดงนนสมการโพลโนเมยล
คอ 06xx7xx234 =+−−+
23
การหาอนพนธ
คาสง รายละเอยด
diff(f) การหาอนพนธของฟงกชน f
diff(f,n) การหาอนพนธของฟงกชน f อนดบท n
34
x4)x(dx
d=
24
2
2
x12)x(dx
d=
xsin)x(cosdx
d−=
xcos)x(cosdx
d4
4
=
y
1x2y)
y
xxxy(
dx
d 2 ++=++
)yxsin(ey))yxsin(e(dx
d xy2xy2
2
++=+−
24
การอนทเกรต
คาสง รายละเอยด
int(f(x)) ∫ dx)x(f
int(f(x,y),x) ∫ dx)y,x(f
int(f(x),a,b) ∫b
a
dx)x(f
int(f(x,y),x,a,b) ∫b
a
dx)y,x(f
Cx4
xdx)1x(
43 ++=+∫
∫ +++=++ C2
yxxy
3
xdx)xyyx(
22
322
64dx)x(4
0
3 =∫
y
)1)y((cos2dx))xy(sin(
22
0
−π−=∫
π
25
หาคาตอบของสมการเชงอนพนธอนดบหนง
คาสง รายละเอยด
dsolve(‘eqn’) แกสมการเชงอนพนธอนดบหนง โดยการใส
สมการลงไปในเครองหมายคาพด (‘eqn’)
dsolve(‘eqn’,’cond’)
แกสมการเชงอนพนธอนดบหนง โดยการใส
สมการลงไปในเครองหมายคาพด (‘eqn’)
และใสเงอนไขตามลงไป(’cond’)
คาตอบของสมการเชงอนพนธ
0tydt
dy=+
คอ 2/t
1
2
eCy−=
คาตอบของสมการเชงอนพนธ
4)0(y;e9y5dt
dy t2 ==+
คอ t5t2
e7
19e
7
9y
−+=
26
diary
คาสง diary เปนคาสงทใชเกบคาสงทเราใชในการทางานแตละครง วธการใชคอ
กอนทจะทางานให พมพคาสง diary แลวตามดวยชอไฟลทตองการจะเกบไว จากนนกทางาน
ตามปกต โปรแกรมจะทาการบนทกขอมลทกอยางทเราพมพลงไป หลงจากเสรจสนการทางานแลว
อยากจะยกเลกการบนทก ใหใชคาสง diary off โปรแกรมกจะหยดบนทกทงหมด
27
M-file
คาสง รายละเอยด
clear เซตคาเรมตนใหมใหตวแปรทงหมด
n=input(‘text’) รบคา n ทางแปนพมพ
if condition
module1
else
module2
end
การเชคเงอนไขวาจรงหรอเทจ
ถาจรงทา module1 ถาเทจทา module2
เปนตน
if condition
module1
elseif condition
module2
else
module3
end
เปนการเชคเงอนไขทมากกวา 1 เงอนไข
for k=start:stop
module
end
การทาซ าเทากบจานวนรอบทใสลงไป
โดย k จะเรมตนทคา start และจบทคา stop
เพมคา k ทละ 1
for k=start:step:stop
module
end
การทาซ าเทากบจานวนรอบทใสลงไป
โดย k จะเรมตนทคา start และจบทคา stop
เพมคา k เทากบคาของ step ทใส