Tải bản đầy đủ (.doc) (10 trang)

Matlab với môn học các phương pháp số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (286.88 KB, 10 trang )

Phát triển công cụ tin học trợ giúp cho giảng dạy, nghiên cứu và ứng dụng Toán học
17

MATLAB VI MễN HC CC PHNG PHP S
ng Quang
Vin Cụng ngh thụng tin
Vin khoa hc v cụng ngh Vit nam
Trong bỏo cỏo ny chỳng tụi cp n vic s dng MATLAB trong vic
ging dy mụn Cỏc phng phỏp s v gii thiu v mt th vin cỏc chng
trỡnh/hm mó ngun phc v cho mụn hc ú.
1. Gii thiu s lc v MATLAB
MATLAB phn mm ni ting ca cụng ty MathWorks, l mt ngụn ng
hiu nng cao cho tớnh toỏn k thu t nh c vit trong logo ca phn mm ny.
Nú tớch hp tớnh toỏn, hin th v lp trỡnh trong mt mụi trng d s dng. Cỏc
ng dng tiờu biu ca MATLAB bao gm:
H tr toỏn hc v tớnh toỏn
Phỏt trin thut toỏn
Mụ hỡnh, mụ phng
Phõn tớch, kho sỏt v hin th s liu
ha khoa hc v k thut
Phỏt trin ng dng vi cỏc giao din ha.
Tờn ca phn mm MATLAB bt ngun t thut ng Matrix Laboratory.
u tiờn nú c vit bng FORTRAN cung cp truy nhp d dng ti phn
mm ma trn c phỏt trin bi cỏc d ỏn LINPACK v EISPACK. Sau ú nú
c vit bng ngụn ng C trờn c s cỏc th vin nờu trờn v phỏt trin thờm
nhiu lnh vc ca tớnh toỏn khoa hc v cỏc ng dng k thut.
Ngoi MATLAB c bn vi cỏc kh nng rt phong phỳ s c cp sau,
phn mm MATLAB cũn c trang b thờm cỏc ToolBox cỏc gúi chng trỡnh
(th vin) cho cỏc lnh vc ng dng rt a dng nh x lý tớn hiu, nhn dng h
thng, x lý nh, mng n ron, logic m, ti chớnh, ti u húa, phng trỡnh o
hm riờng, sinh tin hc,... õy l cỏc tp hp mó ngun vit bng chớnh MATLAB


da theo cỏc thut toỏn mi, hu hiu m ngi dựng cú th chnh sa hoc b
sung thờm cỏc hm mi.
Phát triển công cụ tin học trợ giúp cho giảng dạy, nghiên cứu và ứng dụng Toán học
18

MATLAB c thi t k gi i cỏc bi toỏn b ng s ch khụng nhm mc
ớch chớnh l tớnh toỏn ký hiu nh MATHEMATICA v MAPLE. Tuy nhiờn,
trong MATLAB cng cú th tớnh toỏn ký hiu c nh cỏc hm trong Symbolic
Math ToolBox.
Mt s c trng chớnh ca MATLAB:
MATLAB l ngụn ng thụng dch. Vỡ th nú cú th lm vic hai ch :
tng tỏc v lp trỡnh. Trong ch tng tỏc MATLAB thc hin tng lnh
c gừ trong ca s lnh sau du nhc lnh v kt qu tớnh toỏn c hin
ngay trong ca s ny, cũn th c hin trong mt ca s khỏc. Lnh
tng tỏc cú th l n gin, thớ d tớnh sin(1.5) hoc v fplot('sin(1 ./ x)',
[0.01 0.1]), cú th l cu trỳc iu kin, thớ d if x<=0; y=0; else; y=1; end
hoc cỏc cu trỳc lp xỏc nh v khụng xỏc nh. Trong ch lp trỡnh
mt tp lnh c son tho v ghi thnh mt tờp uụi .m (m-file). Cỏc hm
cng c t chc thnh cỏc m-file. Mt chng trỡnh cú th gm nhiu m-
file. chy chng trỡnh ch cn gừ tờn m-file chớnh trong ca s lnh ri
Enter.
Cỏc hm trong MATLAB c bn (khụng k cỏc th vin chuyờn dng c
gi l cỏc ToolBox) c chia lm 2 loi: hm trong v hm ngoi. Cỏc hm
trong l cỏc hm c ci t sn (built-ins) tc l tn ti di dng mó nh
phõn nờn ta khụng th xem c mó ngun ca chỳng, thớ d cỏc hm sin,
sqrt, log, clear, clc,.... õy l cỏc hm hay c s dng hoc cỏc hm ũi
hi nhiu thi gian x lý. Cỏc hm ngoi l cỏc hm tn ti di dng mó
ngun m ngi dựng cú th tham kho hoc chnh sa, b sung khi cn
thit, thớ d log10, ode23, fzero,...
Phn t d liu chớnh ca MATLAB l cỏc ma trn (mng) m kớch thc ca

chỳng khụng cn khai bỏo trc nh trong cỏc ngụn ng lp trỡnh khỏc. Tuy
nhiờn, tng tc x lý cn bỏo trc cho MATLAB bit kớch thc ti a
ca mng phõn b b nh bng mt lnh gỏn, chng hn A(20,30)=0.
Cỏc kh nng chớnh ca MATLAB c bn:
Thc hin cỏc tớnh toỏn toỏn hc bao gm: ma trn v i s tuyn tớnh, a
thc v ni suy, phõn tớch s liu v thng kờ, tỡm cc tr ca hm mt bin
hoc nhiu bin, tỡm nghim ca phng trỡnh, tớnh gn ỳng tớch phõn, gii
phng trỡnh vi phõn.
ha 2 chiu v 3 chiu: MATLAB cung cp rt nhiu cỏc hm ha, nh
ú ta cú th nhanh chúng v c th ca hm bt k 1 bin hoc 2 bin,
Phát triển công cụ tin học trợ giúp cho giảng dạy, nghiên cứu và ứng dụng Toán học
19

v c cỏc kiu mt, cỏc contour, trng vn tc,...Ngoi ra MATLAB cũn
v rt tt cỏc i tng 3 chiu phc tp nh hỡnh tr, hỡnh cu, hỡnh
xuyn,..v cung cp kh nng x lý nh v hot hỡnh.
Xõy dng giao din ngi dựng: vi MATLAB 7 ngi dựng cú th d dng
xõy dng giao din gm cỏc thc n, nỳt lnh, hp thoi, hp chn,...m
khụng cn phi vit mó nh cỏc phiờn bn trc õy.
2. MATLAB vi mụn hc Cỏc phng phỏp s
Nh cú cỏc kh nng v u th nh ó núi trờn MATLAB c cng ng
hn lõm trờn th gii chp nhn rng rói nh mt cụng c phc v cho ging dy,
nghiờn cu toỏn hc v phỏt trin cỏc ng dng k thut. Hn 3500 trng i hc
nht l cỏc trng i hc k thut ó a MATLAB vo ging dy v nghiờn cu.
Hin nay ó cú trờn 700 u sỏch v MATLAB dnh cho giỏo viờn, sinh viờn v cỏc
nh chuyờn mụn. Trờn Internet cỏc ti liu cú liờn quan n MATLAB rt nhiu.
Nu vo trang Web http:\\www.google.com.vn tỡm kim theo t khúa
MATLAB ta s tỡm thy nhiu triu kt qu cú liờn quan, trong ú cú nhiu ti
liu gii thiu v dy v MATLAB. Thớ d: A practical introduction to MATLAB ta
a ch ht tp://www.math.mtu.edu/~msgoken/ ,MATLAB summary and Tutorial ti

/> Vit nam, theo tụi c bit, MATLAB ó c a vo ging dy cho
sinh viờn, hc viờn cao hc hoc gii thiu ti mt s khoa, trng i hc v cng
ó xut bn mt s u sỏch v MATLAB dnh cho sinh viờn cỏc khi khoa hc v
k thut. ó cú nhiu sinh viờn ngnh Toỏn v cỏc ngnh k thut s dng
MATLAB lm ỏn tt nghip. Tuy nhiờn mc ph bin ca MATLAB cha
phi l cao.
Vi u th v tớnh toỏn s tr MATLAB rt thớch hp cho vic ging dy mụn
hc Cỏc phng phỏp s- mụn hc khụng th thiu c i vi sinh viờn toỏn,
lý, cụng ngh thụng tin v cỏc ngnh k thut. Vic s dng MATLAB lp trỡnh
cỏc thut toỏn ca mụn hc ny cú cỏi li l n gin, d dng v cỏc th hin
th kt qu v kim tra kt qu cỏc chng trỡnh t vit so vi kt qu ca cỏc hm
ó ci t sn vỡ MATLAB c bn cha ng rt nhiu cỏc hm tớnh toỏn toỏn hc
nh ó núi trong mc 1. Nhn thc c iu ny, trong quỏ trỡnh ging dy mụn
hc Cỏc phng phỏp s tụi ó khuyn cỏo sinh viờn khai thỏc v s dng
MATLAB lp trỡnh thay cho s dng ngụn ng truyn thng l PASCAL hoc C.
Trong giỏo trỡnh Cỏc phng phỏp s vit cui nm 2003 nhng cha xut bn
Phát triển công cụ tin học trợ giúp cho giảng dạy, nghiên cứu và ứng dụng Toán học
20

tụi ó minh ha cỏc thut toỏn bng cỏc chng trỡnh vit bng MATLAB v trong
phn Ph lc tụi ó cung cp mt s kin thc c bn v phn mm ny lm c s
ban u sinh viờn cú th t hc thờm v MATLAB. Giỏo trỡnh ny tụi cng ó
cho photocopy ph bin.
Hin nay trờn th gii ngi ta ó xut bn khỏ nhiu sỏch v cỏc ph ng
phỏp s vi cỏc chng trỡnh vit bng MATLAB. Cỏc chng trỡnh ny thng
c t chc thnh cỏc ToolBox v cung cp min phớ trờn Internet. Di õy l
danh sỏch mt s sỏch v a ch cỏc Web site ni gii thiu hoc cú th ti v cỏc
ToolBox phn mm ng hnh vi sỏch:
1. Gerald Recktenwald, Numerical methods with MATLAB, Prentice Hall,
2000. Companion Software: nmm (Numerical methods with MATLAB)

ToolBox. />2. Shoichiro Nakamura, Numerical Analysis and Graphic Visualization with
MATLAB, Prentice Hall, 1996. Companion Software: Numerical Analysis
and Graphic Visualization Toolbox.

/>3. Charles F. Van Loan, Introduction to Scientific Computing: A Matrix-Vector
Approach Using MATLAB, Prentice Hall, 1997, />4. David Kincaid & Ward Cheney,Numerical Analysis, 2e, Brooks/Cole
Publishing Company, 1996
/>_Cheney/matlab.
5. John H. Mathews, Numerical Methods for Mathematics, Science, and Engineering,
2e, Prentice Hall, 1992, />6. George Lindfield & John Penny, Numerical Methods Using MATLAB,
Prentice Hall/Ellis Horwood, 1995,
7. G. J. Borse, Numerical Methods With MATLAB: A Resource for Scientists and
Engineers, PWS Publishing Company, 1997,
8. Gunnar Backstrom, Practical Mathematics Using MATLAB 5,
Studentlitteratur, 1997
9. G.W. Recktenwald Numerical Methods with MATLAB: Implementations and
Applications, Prentice Hall, 2000. www.me.pdx.edu/~gerry/nmm
10. Paolo Brandimarte, Numerical Methods in Finance: A MATLAB-Based
Introduction, Wiley, 2001.
Phát triển công cụ tin học trợ giúp cho giảng dạy, nghiên cứu và ứng dụng Toán học
21

11.Laurene V. Fausett , Applied Numerical Analysis Using Matlab, Prentice Hall,
1999.
12.Won Young Yang, Wenwu Cao, Tae-Sang Chung, John Morris, Applied
Numerical Methods Using MATLAB, Wiley, 2005.
13. Howard Wilson, Louis H. Turcotte, David Halpern, Advanced Mathematics
and Mechanics Applications Using MATLAB, Third Edition, CRC Press, 1998.
Trong phn tip theo chỳng tụi gii thiu s lc v Numerical methods
with MATLAB ToolBox nmm ca Recktenwald.

3. Th vin chng trỡnh NMM ToolBox v cỏc phng phỏp s
NMM ToolBox l mt th vin cha khong 150 chng trỡnh/hm vit bng
MATLAB v 40 tp d liu t cỏc ng dng rt a dng c t chc thnh cỏc th mc:
data, eigen, errors, fit, intergrate,interact, interpolate, linalg, ode, program, rootfind and
utils. Cỏc chng trỡnh/hm u cho di dng mó ngun MATLAB nờn ngi dựng cú
th xem tham kho thut toỏn v t mỡnh chnh sa theo ý mun hoc da vo ú
vit cỏc hm khỏc. Tr th mc data cha cỏc tp d liu mu cho cỏc thớ d, th mc utils
cha mt s hm tin ớch v th mc interact cha mt s hm v thớ d demo v cỏc loi
ng, mt, contour, cũn cỏc th mc khỏc cha cỏc hm v cỏc thớ d minh ha v giỏ tr
riờng, sai s, ng phự hp, tớch phõn s, ni suy, h phng trỡnh i s tuyn tớnh v
phi tuyn, gii s phng trỡnh vi phõn thng, tỡm nghim ca phng trỡnh phi tuyn
v mt s chng trỡnh tớnh toỏn khỏc. Di õy trớch chn mt s hm trong cỏc th mc
ca NMM ToolBox th hin cỏc thut toỏn rt c bn cú trong bt k giỏo trỡnh phng
phỏp tớnh no.
Th mc Intergrate:
Hm I = trapezoid(fun,a,b,npanel) v hm I = simpson(fun,a,b,npanel) tớnh
gn ỳng tớch phõn theo cụng thc hỡnh thang v cụng thc Simpson tng
ng ca hm cú tờn l fun t a n b vi s on chia u l npanel.
Hm demoTrap v hm demoSimp khụng tham s minh ha s dng hm
trapezoid v simpson tớnh tớch phõn ca hm s x*exp(-x) trờn on [0,5]
vi cỏc s on chia l 2 4 8 16 32 64 128 256.
Cỏc hm I = plotTrapInt(fun,a,b,npanel)v plotSimpInt(fun,a,b,nsub) cho
biu din ha cỏc cụng thc hỡnh thang v Simpson.
Hm [x,w] = GLNodeWt(n) tớnh cỏc nỳt v trng s ca cụng thc cu
phng Gauss-Legendre bc n.

×