Biểu t-ợng của hộp công cụ toán học Các ch-ơng tr-ớc, bạn đã biêt đ-ợc MATLAB mạnh ra sao trên ph-ơng diện lập trình, tính toán. Mặc dù khả năng tính toán của nó rất mạnh, tuy nhiên nó vẫn còn có những hạn chế. Nh- một máy tính, MATLAB cơ sở sử dụng các con số. Nó nhận các số (123/4) hoặc các biến (x =[ 1 2 3 ]). Hộp công cụ toán học là một tập hợp các công cụ ( hàm ) để MATLAB sử dụng nhằm giải các bài toán. Có các công cụ...
Nội dung trích xuất từ tài liệu:
Giáo trình mathlab toàn tập - Chương 20
146
>> client(1).addr = { MyStreet; MyCity }
client =
1x2 struct array with fields
name
cost
test
addr
Mét tr−êng cã thÓ ®−îc bá ®i khái cÊu tróc ( hoÆc mét m¶ng cÊu tróc ) b»ng lÖnh rmfield. S=
rmfield ( S, field ) sÏ bá ®i tr−êng field tõ cÊu tróc S. S= rmfield ( S, F ), trong ®ã F lµ mét m¶ng tÕ
bµo cña tªn c¸c tr−êng, bá ®i nhiÒu h¬n mét tr−êng tõ cÊu tróc S t¹i mét thêi ®iÓm.
>> client = rmfield( client, addr )
client =
1x2 struct array with fields
name
cost
test
19.9 Sù nghÞch ®¶o vµ hµm kiÓm tra
Sù nghÞch ®¶o gi÷a c¸c m¶ng tÕ bµo vµ c¸c cÊu tróc b»ng c¸ch dïng hµm struct2cell vµ
cell2struct . Tªn tr−êng ph¶i ®−îc cung cÊp ®Çy ®ñ cho cell2struct vµ bÞ mÊt ®i khi chuyÓn thµnh mét
m¶ng tÕ bµo tõ mét cÊu tróc. Sù chuyÓn ®æi tõ m¶ng sè vµ m¶ng x©u kÝ tù thµnh m¶ng tÕ bµo b»ng
c¸ch sö dông hµm num2cell vµ cellstr. Ng−îc l¹i chuyÓn ®æi tõ mét m¶ng tÕ bµo thµnh m¶ng kÝ tù
b»ng hµm char.
MÆc dï hµm class tr¶ vÒ kiÓu kiÓu d÷ liÖu cña ®èi t−îng, class vÉn kh«ng thuËn tiÖn sö dông ®Ó
kiÓm tra kiÓu d÷ liÖu. Hµm isa(x, ‘ class ‘ ) tr¶ l¹i true nÕu x lµ mét ®èi t−îng kiÓu ‘ class‘. VÝ dô, isa
( client, ‘ struct ‘ ) sÏ tr¶ l¹i true. §Ó thuËn tiÖn, mét sè hµm kiÓm tra sè kh¸c cã s½n trong th− viÖn
ch−¬ng tr×nh nh−: isstruct, iscell, ischar, isnumeric, vµ islogical.
---------------------oOo----------------------
Ch−¬ng 20
BiÓu t-îng cña hép c«ng cô to¸n häc
C¸c ch−¬ng tr−íc, b¹n ®· biªt ®−îc MATLAB m¹nh ra sao trªn ph−¬ng diÖn lËp tr×nh, tÝnh
to¸n. MÆc dï kh¶ n¨ng tÝnh to¸n cña nã rÊt m¹nh, tuy nhiªn nã vÉn cßn cã nh÷ng h¹n chÕ. Nh− mét
m¸y tÝnh, MATLAB c¬ së sö dông c¸c con sè. Nã nhËn c¸c sè (123/4) hoÆc c¸c biÕn (x =[ 1 2 3 ]).
Hép c«ng cô to¸n häc lµ mét tËp hîp c¸c c«ng cô ( hµm ) ®Ó MATLAB sö dông nh»m gi¶i
c¸c bµi to¸n. Cã c¸c c«ng cô ®Ó tæ hîp, ®¬n gi¶n ho¸, tÝch ph©n, vi ph©n vµ gi¶i c¸c phÐp to¸n ®¹i sè
vµ phÐp to¸n vi ph©n. C¸c c«ng cô kh¸c sö dông trong ®¹i sè häc tuyÕn tÝnh ®Ó chuyÓn ®æi chÝnh x¸c
d¹ng nghÞch ®¶o, ®Þnh thøc vµ c¸c khu«n mÉu tiªu chuÈn.
C¸c c«ng cô trong Symbolic Math Tollbox ®−îc t¹o nªn tõ ch−¬ng tr×nh phÇn mÒm m¹nh cã tªn
lµ Maple@ ph¸t triÓn khëi ®Çu tõ trêng ®¹i häc Waterloo ë Ontario, Canada vµ b©y giê lµ phÇn mÒm
cña h·ng Waterloo Maple Software. Khi b¹n yªu cÇu MATLAB thùc hiÖn mét phÐp to¸n, nã sÏ sö
dông c¸c hµm cña Symbolic Math Tollbox ®Ó lµm viÖc nµy vµ tr¶ l¹i kÕt qu¶ ë cöa sæ lÖnh.
20.1 BiÓu thøc vµ c¸c ®èi t−îng ®Æc tr−ng
MATLAB c¬ së sö dông mét sè c¸c kiÓu ®èi t−îng kh¸c nhau ®Ó l−u tr÷ gi¸ trÞ. BiÕn sè häc
dïng ®Ó l−u tr÷ gi¸ trÞ sè häc, vÝ dô nh− x=2, m¶ng kÝ tù ®Ó l−u tr÷ chuçi v¨n b¶n, vÝ nh− : t = ‘ A text
147
string ‘. Hép c«ng cô to¸n häc ®Æc tr−ng dïng nh÷ng ®èi t−îng to¸n häc thay thÕ c¸c biÕn vµ c¸c
to¸n tö, vÝ dô: x = sym ( ‘x ‘). C¸c ®èi t−îng to¸n häc ®−îc sö dông bëi MATLAB trong nhiÒu tr−êng
hîp t−¬ng tù nh− c¸c biÕn sè häc vµ chuçi ®−îc sö dông. BiÓu thøc to¸n häc lµ nh÷ng biÓu thøc cã
chøa ®èi t−îng to¸n häc thay thÕ cho c¸c sè, hµm, to¸n tö.vµ c¸c biÕn. C¸c biÕn kh«ng yªu cÇu ph¶i
®Þnh nghÜa tr−íc. ThuËt to¸n lµ c«ng cô thùc hµnh ®Ó gi¶i quyÕt nh÷ng bµi to¸n trªn c¬ së biÕt ®−îc
nh÷ng quy luËt vµ sù nhËn d¹ng c¸c biÓu t−îng ®−îc ®a ra, chÝnh x¸c nh− c¸i c¸ch b¹n gi¶i b»ng ®¹i
sè häc vµ sù tÝnh to¸n.. C¸c ma trËn to¸n häc lµ nh÷ng m¶ng mµ phÇn tö cña nã lµ c¸c ®èi t−îng to¸n
häc hoÆc c¸c biÓu thøc.
20.2 T¹o vµ sö dông c¸c ®èi t−îng ®Æc tr−ng
§èi t−îng ®Æc tr−ng ®−îc x©y dùng tõ nh÷ng chuçi kÝ tù hoÆc c¸c biÕn sè häc sö dông hµm sym.
VÝ dô x = sym (‘ x ‘ ) t¹o ra mét biÕn ®Æc tr−ng x, y = sym ( ‘ y ‘ ) t¹o ra mét biÕn ®Æc tr−ng y, y =
sym ( ‘ 1/3 ‘ ) t¹o ra mét biÕn ®Æc tr−ng y mang gi¸ trÞ 1/3. Gi¶ sö biÕn ®Æc tr−ng ®−îc ®Þnh nghÜa, nã
cã thÓ ®−îc sö dông trong c¸c biÓu thøc to¸n häc t−¬ng tù nh− c¸c biÕn sè häc ®−îc sö dông trong
MATLAB . NÕu nh− c¸c biÕn x, y ®−îc t¹o ra tr−íc ®ã th× lÖnh z= (x+y) / ( x-2 ) sÏ t¹o mét biÕn míi
z bëi v× biÓu thøc mµ nã thay thÕ cã mang mét hay nhiÒu biÕn ®Æc tr−ng x hoÆc y.
Mét ®èi t−îng sè häc cã thÓ chuyÓn thµnh ®èi t−îng ®Æc tr−ng. D−íi ®©y lµ mét vÝ dô:
% t¹o mét ma trËn sè
>> m = magic(3)
m=
8 1 6
3 5 7
4 9 2
% t¹o mét ma trËn ®Æc tr−ng tõ m
>> M = sym(m)
M=
[ 8, 1, 6 ]
[ 3, 5, 7 ]
[ 4, 9, 2 ]
% x¸c ®Þnh ®Þnh thøc cña m ...