You are on page 1of 73

MATLAB

Yaudl_ogbq_kdbo\uqbke_gbc
<uqbke_gb_
<bamZebaZpby
Ijh]jZffbjh\Zgb_

Getting Started with MATLAB


GZqZehjZ[hlukMATLAB

Kh^_j`Zgb_
<\_^_gb_....................................................................................................5
QlhlZdh_0$7/$%"................................................................................................ 5
Kbkl_fZ0$7/$%.................................................................................................... 5
H6LPXOLQN ................................................................................................................. 6

AZimkd0$7/$% .....................................................................................7
FZljbpubfZ]bq_kdb_d\Z^jZlu ......................................................8
<\h^fZljbp .............................................................................................................. 9
Hi_jZpbbkmffbjh\Zgbywe_f_glh\ljZgkihgbjh\Zgbyb^bZ]hgZebaZpbb
fZljbpu................................................................................................................... 10
Bg^_dku................................................................................................................... 11
Hi_jZlhj^\h_lhqby ............................................................................................... 12
NmgdpbyPDJLF........................................................................................................ 13

<ujZ`_gby .............................................................................................14

I_j_f_ggu_ ............................................................................................................ 14
QbkeZ........................................................................................................................ 14
Hi_jZlhju............................................................................................................... 15
Nmgdpbb .................................................................................................................. 15
<ujZ`_gby .............................................................................................................. 16

JZ[hlZkfZljbpZfb..............................................................................17
=_g_jbjh\Zgb_fZljbp........................................................................................... 17
AZ]jmadZfZljbp...................................................................................................... 17
FnZceu.................................................................................................................. 18
H[t_^bg_gb_........................................................................................................... 18
M^Ze_gb_kljhdbklhe[ph\ ................................................................................... 19

DhfZg^gh_hdgh.....................................................................................20
DhfZg^ZIRUPDW ....................................................................................................... 20
KhdjZs_gb_\uoh^guo^Zgguo ............................................................................ 21
>ebggu_dhfZg^gu_kljhdb.................................................................................. 21
J_^ZdlhjdhfZg^ghckljhdb .................................................................................. 21

=jZnbdZ ..................................................................................................23

Kha^Zgb_]jZnbdZ................................................................................................... 23
HdgZbah[jZ`_gbc.................................................................................................. 24
>h[Z\e_gb_djb\uogZkms_kl\mxsbc]jZnbd................................................... 25
Ih^]jZnbdb............................................................................................................. 25
Fgbfu_bdhfie_dkgu_^Zggu_........................................................................... 26
MijZ\e_gb_hkyfb .................................................................................................. 27
Ih^ibkbdhkyfbaZ]heh\db.................................................................................. 28
NmgdpbbPHVKbVXUIDFH ......................................................................................... 28
<bamZebaZpbynmgdpbc^\moi_j_f_gguo ........................................................... 29
Bah[jZ`_gby........................................................................................................... 29
I_qZlv]jZnbdb....................................................................................................... 30

KijZ\dZbl_dmsZy^hdmf_glZpby....................................................31

DhfZg^ZKHOS ........................................................................................................... 31
HdghkijZ\db .......................................................................................................... 32
DhfZg^ZORRNIRU ...................................................................................................... 32
Help Desk................................................................................................................. 33
DhfZg^ZGRF ............................................................................................................ 33
I_qZlvl_dmsbokijZ\hqguokljZgbp .................................................................. 33
3

GZqZeh jZ[hlu k MATLAB


K\yavk0DWK:RUNV ................................................................................................. 33

Kj_^Z0$7/$% .....................................................................................34
JZ[hq__ijhkljZgkl\h ............................................................................................ 34
DhfZg^ZVDYH........................................................................................................... 34
FZjrjmlihbkdZ..................................................................................................... 35
Hi_jZpbbgZ^^bkdh\ufbnZceZfb...................................................................... 35
DhfZg^ZGLDU\.......................................................................................................... 36
AZimkd\g_rgboijh]jZff .................................................................................... 36

Ih^jh[g__hfZljbpZobfZkkb\Zo.....................................................37
Ebg_cgZyZe]_[jZ ................................................................................................... 37
FZkkb\u .................................................................................................................. 40
Fgh]hf_jgu_^Zggu_ ............................................................................................ 41
KdZeyjgh_jZkrbj_gb_ .......................................................................................... 42
Eh]bq_kdZybg^_dkZpby.......................................................................................... 42
NmgdpbyILQG ........................................................................................................... 43

MijZ\e_gb_ihlhdZfb..........................................................................45
if ............................................................................................................................... 45
VZLWFKbFDVH ............................................................................................................ 46
for ............................................................................................................................. 47
while ......................................................................................................................... 47
break ......................................................................................................................... 48

>jm]b_kljmdlmju^Zgguo ..................................................................49
Fgh]hf_jgu_fZkkb\u .......................................................................................... 49
FZkkb\uyq__d ........................................................................................................ 50
Kbf\heubl_dkl..................................................................................................... 51
Kljmdlmju ............................................................................................................... 54

Kp_gZjbbbnmgdpbb............................................................................56
Kp_gZjbb ................................................................................................................. 56
Nmgdpbb .................................................................................................................. 57
=eh[Zevgu_i_j_f_ggu_........................................................................................ 58
DhfZg^ghnmgdpbhgZevgZy^\hckl\_gghklv...................................................... 59
NmgdpbyHYDO........................................................................................................... 60
<_dlhjbaZpby .......................................................................................................... 60
Ij_^\Zjbl_evgh_\u^_e_gb_................................................................................. 61
Nmgdpbyhlnmgdpbc.............................................................................................. 61

MijZ\ey_fZy]jZnbdZ .........................................................................63
=jZnbq_kdb_h[t_dlu ............................................................................................ 63
MijZ\e_gb_h[t_dlZfb .......................................................................................... 63
Nmgdpbbkha^Zgbyh[t_dlh\ ................................................................................. 64
K\hckl\Zh[t_dlZ.................................................................................................... 65
VHWbJHW .................................................................................................................... 65
=jZnbq_kdbcIhevah\Zl_evkdbcBgl_jn_ck *8, ............................................ 66
:gbfZpby ................................................................................................................ 67
Movie ....................................................................................................................... 68

>hiheg_gb_.............................................................................................70

<\_^_gb_

<\_^_gb_
QlhlZdh_MATLAB?

MATLAB wlh \ukhdhijhba\h^bl_evguc yaud ^ey l_ogbq_kdbo jZkq_lh\ Hg


\dexqZ_l\k_[y\uqbke_gby\bamZebaZpbxbijh]jZffbjh\Zgb_\m^h[ghckj_^_]^_aZ^Zqbbj_r_gby\ujZ`Zxlky\nhjf_ [ebadhcdfZl_fZlbq_kdhcLbibqgh_bkihevah\Zgb_0$7/$%wlh
fZl_fZlbq_kdb_\uqbke_gby
kha^Zgb_Ze]hjblfh\
fh^_ebjh\Zgb_
ZgZeba^Zgguobkke_^h\Zgbyb\bamZebaZpby
gZmqgZybbg`_g_jgZy]jZnbdZ
jZajZ[hldZijbeh`_gbc\dexqZykha^Zgb_]jZnbq_kdh]hbgl_jn_ckZ
0$7/$%wlh bgl_jZdlb\gZykbkl_fZ\dhlhjhchkgh\gufwe_f_glhf^Zgguo
y\ey_lkyfZkkb\Wlhiha\hey_lj_rZlvjZaebqgu_aZ^Zqbk\yaZggu_kl_ogbq_kdbfb \uqbke_gbyfb hkh[_ggh \ dhlhjuo bkihevamxlky fZljbpu b \_dlhjZ \
g_kdhevdhjZa[uklj__q_fijbgZibkZgbbijh]jZffkbkihevah\Zgb_fkdZeyjguoyaudh\ijh]jZffbjh\ZgbylZdbodZdKbbebNhjljZg
Keh\h MATLAB hagZqZ_l fZljbqgZyeZ[hjZlhjby(matrix laboratory). MATLAB
[ue ki_pbZevgh gZibkZg ^ey h[_ki_q_gby e_]dh]h ^hklmiZ d /,13$&. b
EISPACK, dhlhju_ ij_^klZ\eyxl kh[hc kh\j_f_ggu_ ijh]jZffgu_ kj_^kl\Z
^eyfZljbqguo\uqbke_gbc
MATLAB jZa\b\Zeky \ l_q_gbb g_kdhevdbo e_l hjb_glbjmykv gZ jZaebqguo
ihevah\Zl_e_c < mgb\_jkbl_lkdhc kj_^_ hg ij_^klZ\eye kh[hc klZg^Zjlguc
bgkljmf_gl ^ey jZ[hlu \ jZaebqguo h[eZklyo fZl_fZlbdb fZrbghkljh_gbb b
gZmdb < ijhfure_gghklb 0$7/$%  wlh bgkljmf_gl ^ey \ukhdhijh^mdlb\guobkke_^h\ZgbcjZajZ[hlhdbZgZebaZ^Zgguo
< 0$7/$% \Z`gZy jhev hl\h^blky ki_pbZebabjh\Zgguf ]jmiiZf ijh]jZff
gZau\Z_fuo WRROER[HV Hgb hq_gv \Z`gu ^ey [hevrbgkl\Z ihevah\Zl_e_c
0$7/$%lZddZdiha\heyxlbamqZlvbijbf_gylvki_pbZebabjh\Zggu_f_lh^u
7RROER[HV  wlh \k_klhjhggyy dhee_dpby nmgdpbc 0$7/$% FnZceh\  dhlhju_iha\heyxlj_rZlvqZklgu_deZkkuaZ^Zq. Toolboxesijbf_gyxlky^eyh[jZ[hldbkb]gZeh\kbkl_fdhgljheyg_cjhgguok_l_cg_q_ldhceh]bdb\wc\e_lh\
fh^_ebjh\Zgbybl^

Kbkl_fZMATLAB

Kbkl_fZMATLABkhklhblbaiylbhkgh\guoqZkl_c

Yaud 0$7/$%. WlhyaudfZljbpbfZkkb\h\\ukhdh]hmjh\gykmijZ\e_gb_fih-

lhdZfb nmgdpbyfb kljmdlmjZfb ^Zgguo \\h^hf\u\h^hf b hkh[_gghklyfb


h[t_dlghhjb_glbjh\Zggh]h ijh]jZffbjh\Zgby Wlh iha\hey_l dZd ijh]jZffbjh\Zlv\g_[hevrhffZkrlZ[_^ey[ukljh]hkha^Zgbyq_jgh\uoijh]jZfflZd
b\[hevrhf^eykha^Zgby[hevrbobkeh`guoijbeh`_gbc
5

GZqZeh jZ[hlu k MATLAB


Kj_^Z 0$7/$%. WlhgZ[hjbgkljmf_glh\bijbkihkh[e_gbckdhlhjufbjZ[hlZ_l
ihevah\Zl_ev beb ijh]jZffbkl 0$7/$% HgZ \dexqZ_l \ k_[y kj_^kl\Z ^ey
mijZ\e_gbyi_j_f_ggufb\jZ[hq_fijhkljZgkl\_0$7/$%\\h^hfb\u\h^hf
^Zgguo Z lZd`_ kha^Zgby dhgljhey b hleZ^db 0nZceh\ b ijbeh`_gbc
MATLAB.
MijZ\ey_fZy ]jZnbdZ. Wlh ]jZnbq_kdZy kbkl_fZ 0$7/$% dhlhjZy \dexqZ_l \

k_[y dhfZg^u \ukhdh]h mjh\gy ^ey \bamZebaZpbb ^\mo b lj_of_jguo ^Zgguo


h[jZ[hldb bah[jZ`_gbc ZgbfZpbb b beexkljbjh\Zgghc ]jZnbdb HgZ lZd`_
\dexqZ_l\k_[ydhfZg^ugbadh]h mjh\gyiha\heyxsb_iheghklvxj_^Zdlbjh\Zlv \g_rgbc \b^ ]jZnbdb lZd`_ dZd ijb kha^Zgbb =jZnbq_kdh]h Ihevah\Zl_evkdh]hBgl_jn_ckZ *8, ^ey0$7/$%ijbeh`_gbc

;b[ebhl_dZ fZl_fZlbq_kdbo nmgdpbc. Wlh h[rbjgZy dhee_dpby \uqbkebl_evguo

Ze]hjblfh\ hl we_f_glZjguo nmgdpbc lZdbo dZd kmffZ kbgmk dhkbgmk dhfie_dkgZyZjbnf_lbdZ^h[he__keh`guolZdbo dZd h[jZs_gb_ fZljbp gZoh`^_gb_kh[kl\_gguoagZq_gbcnmgdpbb;_kk_ey[ukljh_ij_h[jZah\Zgb_Nmjv_

Ijh]jZffguc bgl_jn_ck. Wlh[b[ebhl_dZdhlhjZyiha\hey_libkZlvijh]jZffugZ

KbbNhjljZg_dhlhju_ \aZbfh^_ckl\mxl k 0$7/$% HgZ \dexqZ_l kj_^kl\Z


^ey\uah\Zijh]jZffba0$7/$% ^bgZfbq_kdZyk\yav \uau\Zy0$7/$%dZd
\uqbkebl_evgucbgkljmf_glb^eyql_gbyaZibkb0$7nZceh\

H6LPXOLQN

6LPXOLQNkhimlkl\mxsZy0$7/$%ijh]jZffZwlhbgl_jZdlb\gZykbkl_fZ^ey
fh^_ebjh\Zgbyg_ebg_cguo^bgZfbq_kdbokbkl_fHgZij_^klZ\ey_lkh[hckj_^mmijZ\ey_fmxfurvxdhlhjZyiha\hey_lfh^_ebjh\Zlvijhp_kkiml_fi_j_lZkdb\Zgby[ehdh\^bZ]jZffgZwdjZg_bbofZgbimeypb_c6LPXOLQNjZ[hlZ_lk
ebg_cgufb g_ebg_cgufb g_ij_ju\gufb ^bkdj_lgufb fgh]hf_jgufb kbkl_fZfb
%ORFNVHWVwlh^hiheg_gbyd6LPXOLQNdhlhju_h[_ki_qb\Zxl[b[ebhl_db[ehdh\^eyki_pbZebabjh\Zgguoijbeh`_gbclZdbodZdk\yavh[jZ[hldZkb]gZeh\
wg_j]_lbq_kdb_kbkl_fu
5HDO7LPH:RUNVKRSwlhijh]jZffZdhlhjZyiha\hey_l]_g_jbjh\ZlvKdh^ba
[ehdh\ ^bZ]jZff b aZimkdZlv bo gZ \uiheg_gb_ gZ jZaebqguo kbkl_fZo j_Zevgh]h\j_f_gb

AZimkd 0$7/$%

AZimkd MATLAB
WlZ dgb]Z ij_^gZagZq_gZ ^ey gZqZevgh]h hk\h_gby b bamq_gby 0$7/$% HgZ
kh^_j`blg_dhlhjh_dhebq_kl\hijbf_jh\dhlhju_fh]ml[ulvaZims_gubhlke_`_gu\0$7/$%
Qlh[u aZimklblv 0$7/$% gZ JK beb FZk ^\Z`^u s_edgbl_ gZ bdhgdm
0$7/$%>eyaZimkdZ\kbkl_f_81,;gZibrbl_matlab \kljhd_hi_jZpbhgghc
kbkl_fu>ey\uoh^Zba0$7/$%g_h[oh^bfhgZ[jZlvquit\kljhd_0$7/$%
?keb\Zfg_h[oh^bfhihemqblv^hihegbl_evgmxbgnhjfZpbxgZ[_jbl_help \
kljhd_0$7/$%beb\u[_jbl_Help\f_gxgZ3&beb0DFFu[he__ih^jh[gh
jZkkdZ`_f\Zfh[wlhfiha^g__

GZqZeh jZ[hlu k MATLAB

FZljbpubfZ]bq_kdb_d\Z^jZlu
Emqrbc kihkh[ gZqZlv jZ[hlm k 0$7/$%  wlh gZmqblvky h[jZsZlvky k fZljbpZfb<wlhc]eZ\_fuihdZ`_f\ZfdZdgZ^hwlh^_eZlv<0$7/$%fZljbpZ
 wlh ijyfhm]hevguc fZkkb\ qbk_e Hkh[h_ agZq_gb_ ijb^Z_lky fZljbpZf o
dhlhju_ y\eyxlky kdZeyjZfb b fZljbpZf bf_xsbf h^bg klhe[_p beb h^gm
kljhdm  \_dlhjZf 0$7/$% bkihevam_l jZaebqgu_ kihkh[u ^ey ojZg_gby
qbke_gguobg_qbke_gguo^Zgguoh^gZdh\gZqZe_emqr_\k_]hjZkkfZljb\Zlv
\k_^Zggu_dZdfZljbpu0$7/$%hj]Zgbah\ZglZdqlh[u\k_hi_jZpbb\g_f
[uebdZdfh`gh[he___kl_kl\_ggufb<lh\j_fydZd^jm]b_ijh]jZffgu_yaudbjZ[hlZxlkqbkeZfbdZdwe_f_glZfbyaudZ0$7/$%iha\hey_l\Zf[ukljhb
e_]dhhi_jbjh\Zlvkp_eufbfZljbpZfb

FZljbpu b fZ]bq_kdb_ d\Z^jZlu


Ohjhrbc ijbf_j fZljbpu dhlhjZy bkihevam_lky \h \k_c wlhc
dgb]_ fh`gh gZclb gZ ]jZ\xj_
\j_f_g J_g_kkZgkZ om^h`gbdZ b
ex[bl_eyfZl_fZlbdb:ev[j_olZ
>xj_jZ Wlh bah[jZ`_gb_ kh^_j`bl fgh]h fZl_fZlbq_kdbo
kbf\heh\ b _keb ohjhrh ijbkfhlj_lvkylh\\_jog_fijZ\hf
m]em fh`gh aZf_lblv d\Z^jZlgmx fZljbpm Wlh fZljbpZ ba\_klgZdZdfZ]bq_kdbcd\Z^jZlb
\h \j_f_gZ >xj_jZ kqblZehkv
qlh hgZ h[eZ^Z_l fZ]bq_kdbfb
k\hckl\ZfbHgZbgZkZfhf^_e_
h[eZ^Z_l aZf_qZl_evgufb k\hckl\Zfbklhysbfbbamq_gby

<\h^fZljbp

<ufh`_l_\\h^blvfZljbpu\MATLABg_kdhevdbfbkihkh[Zfb
\\h^blviheguckibkhdwe_f_glh\
aZ]jm`ZlvfZljbpuba\g_rgbonZceh\
]_g_jbjh\ZlvfZljbpubkihevamy\kljh_ggu_nmgdpbb
kha^Z\ZlvfZljbpukihfhsvx\Zrbokh[kl\_gguonmgdpbc\FnZceZo
GZql_fk\\_^_gbyfZljbpu>xj_jZdZdkibkdZwe_f_glh\<u^he`guke_^h\Zlvg_kdhevdbfhkgh\gufmkeh\byf
hl^_eylvwe_f_glukljhdbijh[_eZfbbebaZiylufb
bkihevah\ZlvlhqdmkaZiylhc^eyh[hagZq_gbyhdhgqZgbydZ`^hckljhdb
hdjm`Zlv\_kvkibkhdwe_f_glh\d\Z^jZlgufbkdh[dZfb, [ ].
Qlh[u\\_klbfZljbpm>xj_jZijhklhgZibrbl_
A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

MATLABhlh[jZablfZljbpmdhlhjmxfu\\_eb
A =
16
5
9
4

3
10
6
15

2
11
7
14

13
8
12
1

Wlhlhqghkhhl\_lkl\m_lqbkeZfgZ]jZ\xj_?kebfu\\_ebfZljbpmlhhgZZ\lhfZlbq_kdb aZihfbgZ_lky kj_^hc MATLAB B fu fh`_f d g_c e_]dh h[jZlblvky dZd d : K_cqZk dh]^Z fu bf__f : \ jZ[hq_f ijhkljZgkl\_ MATLAB,

GZqZeh jZ[hlu k MATLAB


ihkfhljbf qlh ^_eZ_l _z lZdhc bgl_j_kghc Ihq_fm hgZ gZau\Z_lky fZ]bq_kdhc"

Hi_jZpbbkmffbjh\Zgbywe_f_glh\ljZgkihgbjh\Zgbyb^bZ]hgZebaZpbbfZljbpu

<u\hafh`gh m`_agZ_l_qlhhkh[u_k\hckl\ZfZ]bq_kdh]hd\Z^jZlZk\yaZguk
jZaebqgufb kihkh[Zfb kmffbjh\Zgby _]h we_f_glh\ ?keb \u [_jzl_ kmffm
we_f_glh\\^hevdZdhceb[hkljhdbbebklhe[pZbeb\^hevdZdhceb[hba^\mo
]eZ\guo^bZ]hgZe_c\u\k_]^Zihemqbl_h^ghblh`_qbkeh>Z\Zcl_ijh\_jbf
wlhbkihevamyMATLABI_j\h_ml\_j`^_gb_dhlhjh_fuijh\_jbf
sum(A)

MATLAB\u^Zklhl\_l
ans =
34

34

34

34

Dh]^Z \uoh^gZy i_j_f_ggZy g_ hij_^_e_gZ MATLAB bkihevam_l i_j_f_ggmx


ansdhjhldhhlanswer hl\_l^eyojZg_gbyj_amevlZlh\\uqbke_gbyFuih^kqblZeb \_dlhjkljhdm kh^_j`Zsmx kmffm we_f_glh\ klhe[ph\ fZljbpu :
>_ckl\bl_evgh dZ`^uc klhe[_pbf__l h^bgZdh\mx kmffm fZ]bq_kdmx kmffm
jZ\gmx
: dZd gZkq_l kmff \ kljhdZo" 0$7/$% ij_^ihqblZ_l jZ[hlZlv kh klhe[pZfb
fZljbpulZdbfh[jZahfemqrbckihkh[ihemqblvkmffm\kljhdZowlhljZgkihgbjh\ZlvgZrmfZljbpmih^kqblZlvkmffm\klhe[pZoZihlhfljZgkihgbjh\Zlvj_amevlZlHi_jZpbyljZgkihgbjh\Zgbyh[hagZqZ_lkyZihkljhnhfbebh^bgZjghc dZ\uqdhc HgZ a_jdZevgh hlh[jZ`Z_l fZljbpm hlghkbl_evgh ]eZ\ghc
^bZ]hgZebbf_gy_lkljhdbgZklhe[puLZdbfh[jZahf
A'

\uau\Z_l
ans =
16
3
2
13

5
10
11
8

9
6
7
12

4
15
14
1

:\ujZ`_gb_
sum(A')'

\uau\Z_lj_amevlZl\_dlhjklhe[_pkh^_j`Zsbckmffu\kljhdZo
ans =
34
34
34
34

10

FZljbpu b fZ]bq_kdb_ d\Z^jZlu


Kmffmwe_f_glh\gZ]eZ\ghc^bZ]hgZebfh`ghe_]dhihemqblvkihfhsvx
nmgdpbbdiagdhlhjZy\u[bjZ_lwlm^bZ]hgZev
diag(A)
ans =
16
10
7
1

:nmgdpby
sum(diag(A))

\uau\Z_l
ans =
34

>jm]Zy ^bZ]hgZev gZau\Z_fZy Zglb^bZ]hgZevx g_ lZd \Z`gZ fZl_fZlbq_kdb


ihwlhfmMATLAB g_bf__lki_pbZevghcnmgdpbb^eyg_zGhnmgdpbydhlhjZy
\gZqZe_ ij_^iheZ]ZeZkv ^ey bkihevah\Zgby \ ]jZnbd_ fliplr a_jdZevgh hlh[jZ`Z_lfZljbpmke_\ZgZijZ\h
sum(diag(fliplr(A)))
ans =
34

LZdbfh[jZahffuijh\_jbebqlhfZljbpZgZ]jZ\xj_ >xj_jZ ^_ckl\bl_evgh


fZ]bq_kdZy b gZmqbebkv bkihevah\Zlv g_dhlhju_ fZljbqgu_ hi_jZpbb
MATLAB. < ihke_^mxsbo jZa^_eZo fu ijh^he`bf bkihevah\Zlv wlm fZljbpm
^ey^_fhgkljZpbb^hihegbl_evguo\hafh`ghkl_cMATLAB.

Bg^_dku

We_f_gl\kljhd_i bklhe[p_j fZljbpu:h[hagZqZ_lkyA(i,j). GZijbf_jA(4,2)


wlhqbkeh\q_l\_jlhckljhd_b\lhjhfklhe[p_>eygZr_]hfZ]bq_kdh]hd\Z^jZlZA(4,2) LZdbfh[jZahffh`gh \uqbkeblv kmffm we_f_glh\ \ q_l\_jlhfklhe[p_fZljbpu:gZ[jZ\
A(1,4) + A(2,4) + A(3,4) + A(4,4)

ihemqbf
ans =
34

H^gZdhwlhg_kZfucemqrbckihkh[kmffbjh\Zgbyhl^_evghckljhdb
LZd`_\hafh`ghh[jZsZlvkydwe_f_glZffZljbpuq_j_ah^bgbg^_dkA(k)Wlh
h[uqguc kihkh[ kkueZlvky gZ kljhdb b klhe[pu fZljbpu Gh _]h fh`gh bkihevah\Zlvlhevdhk^\mf_jgufbfZljbpZfb<wlhfkemqZ_fZkkb\jZkkfZljb\Z_lky dZd ^ebgguc \_dlhj knhjfbjh\Zgguc ba klhe[ph\ bkoh^ghc fZljbpu
11

GZqZeh jZ[hlu k MATLAB


LZd ^ey gZr_]h fZ]bq_kdh]h d\Z^jZlZ A(8)  wlh ^jm]hc kihkh[ kkueZlvky gZ
agZq_gb_ojZgys__ky\A(4,2).
?keb\uiulZ_l_kvbkihevah\ZlvagZq_gb_we_f_glZ\g_fZljbpuMATLAB\u^Zklhrb[dm
t=A(4,5)
???

Index exceeds matrix dimensions.

K^jm]hcklhjhgu_keb\ukhojZgy_l_agZq_gb_\g_fZljbpulhjZaf_jfZljbpum\_ebqb\Z_lky
X=A;
X(4,5) = 17
X =
16
5
9
4

3
10
6
15

2
11
7
14

13
8
12
1

0
0
0
17

Hi_jZlhj^\h_lhqby

>\h_lhqb_wlhh^bgbagZb[he__\Z`guohi_jZlhjh\MATLABHgijhy\ey_lky\jZaebqguonhjfZo<ujZ`_gb_
1:10

wlh\_dlhjkljhdZkh^_j`ZsZyp_eu_qbkeZhl^h
1

10

>eyihemq_gbyh[jZlgh]hbgl_j\ZeZhibr_fijbjZs_gb_GZijbf_j
100:-7:50

qlh^Z_l
100

93

86

79

72

65

58

51

beb
0:pi/4:pi

qlhijb\h^bld
0

0.7854

1.5708

2.3562

3.1416

Bg^_dkgh_\ujZ`_gb_\dexqZy^\h_lhqb_hlghkblkydqZklbfZljbpu
A(1:k, j)
wlhi_j\u_k we_f_glh\j]hklhe[pZfZljbpu:LZd
sum(A(1:4,4))

12

FZljbpu b fZ]bq_kdb_ d\Z^jZlu

\uqbkey_lkmffmq_l\_jlhckljhdbGh_klvbemqrbckihkh[>\h_lhqb_kZfh
ih k_[_ h[jZsZ_lky dh \k_f we_f_glZf \ kljhd_ b klhe[p_ fZljbpu Z keh\h
enddihke_^g_ckljhd_bebklhe[pmLZd
sum(A(:,end))

\uqbkey_lkmffmwe_f_glh\\ihke_^g_fklhe[p_fZljbpu:
ans =
34

Ihq_fmfZ]bq_kdZykmffZd\Z^jZlZojZ\gZ"?kebp_eu_qbkeZhl^h
hlkhjlbjh\Zgu\q_luj_]jmiiukjZ\gufbkmffZfbwlZkmffZ^he`gZ[ulv
sum(1:16)/4

dhlhjZydhg_qghjZ\gZ
ans =
34

Nmgdpbymagic
MATLABgZkZfhf^_e_h[eZ^Z_l\kljh_gghcnmgdpb_cdhlhjZykha^Z_lfZ]bq_kdbcd\Z^jZlihqlbex[h]hjZaf_jZG_ m^b\bl_evgh qlh wlZ nmgdpby gZau\Z_lkymagic.
B=magic(4)
B =
16
5
9
4

2
11
7
14

3
10
6
15

13
8
12
1

WlZfZljbpZihqlblZ`_fZljbpZqlhbgZ]jZ\xj_>xj_jZbhgZbf__l\k_l_
`_ fZ]bq_kdb_ k\hckl\Z ?^bgkl\_ggh_ hlebqb_ aZdexqZ_lky \ lhf qlh ^\Z
kj_^gbo klhe[pZ ihf_gyebkv f_klZfb >ey lh]h qlh[u ij_h[jZah\Zlv B \ fZljbpm>xj_jZAi_j_klZ\bfbof_klZfb
A=B(:,[1 3 2 4])

Wlh hagZqZ_l qlh ^ey dZ`^hc kljhdb fZljbpu B we_f_glu i_j_ibku\Zxlky \


ihjy^d_
A =
16
5
9
4

3
10
6
15

2
11
7
14

13
8
12
1

Ihq_fm >xj_j i_j_mihjy^hqbe klhe[pu ih kjZ\g_gbx k l_f qlh bkihevam_l


MATLAB" ;_a khfg_gby hg ohl_e \dexqblv ^Zlm ]jZ\xju  \ gb`gxx
qZklvfZ]bq_kdh]hd\Z^jZlZ

13

GZqZeh jZ[hlu k MATLAB

<ujZ`_gby
DZdb[hevrbgkl\h^jm]boyaudh\ijh]jZffbjh\ZgbyMATLAB ij_^hklZ\ey_l
\hafh`ghklv bkihevah\Zgby fZl_fZlbq_kdbo \ujZ`_gbc gh \ hlebqb_ hl fgh]bo ba gbo wlb \ujZ`_gby \ MATLAB \dexqZxl fZljbpu Hkgh\gu_ khklZ\eyxsb_\ujZ`_gby
i_j_f_ggu_
qbkeZ
hi_jZlhju
nmgdpbb

I_j_f_ggu_

<MATLAB g_lg_h[oh^bfhklb\hij_^_e_gbblbiZi_j_f_gguobebjZaf_jghklbDh]^ZMATLAB \klj_qZ_lgh\h_bfyi_j_f_gghchgZ\lhfZlbq_kdbkha^Z_l i_j_f_ggmx b \u^_ey_l khhl\_lkl\mxsbc h[t_f iZfylb ?keb i_j_f_ggZy
m`_kms_kl\m_lMATLAB baf_gy_l__khklZ\b_kebwlhg_h[oh^bfh\u^_ey_l
^hihegbl_evgmxiZfylvGZijbf_j
num_students = 25
kha^Z_lfZljbpmokbf_g_fnum_students bkhojZgy_lagZq_gb_\___^bgkl\_gghfwe_f_gl_
Bf_gZ i_j_f_gguo khklhyl ba [md\ pbnj beb kbf\heh\ ih^q_jdb\Zgby
MATLAB bkihevam_l lhevdh i_j\u_  kbf\he bf_gb i_j_f_gghc MATLAB
qm\kl\bl_e_gdj_]bkljZfhgjZaebqZ_laZ]eZ\gu_ b kljhqgu_ [md\u Ihwlhfm
A ba g_h^gZblZ`_i_j_f_ggZyQlh[um\b^_lvfZljbpmk\yaZggmxki_j_f_gghcijhklh\\_^bl_gZa\Zgb_i_j_f_gghc

QbkeZ

MATLAB bkihevam_lijbgylmx^_kylbqgmxkbkl_fmkqbke_gbykg_h[yaZl_evghc ^_kylbqghc lhqdhc b agZdZfb iexkfbgmk ^ey qbk_e GZmqgZy kbkl_fZ
kqbke_gby bkihevam_l [md\m e ^ey hij_^_e_gby fgh`bl_ey kl_i_gb ^_kylb
Fgbfu_ qbkeZ bkihevamxl i beb j dZd kmnnbdk G_dhlhju_ ijbf_ju ijZ\bevguoqbk_eijb\_^_gugb`_
3
9.6397238
1i

-99
1.60210e-20
-3.14159j

0.0001
6.02252e23
3e5i

<k_ qbkeZ ^ey ojZg_gby bkihevamxl nhjfZl long, hij_^_e_gguc klZg^Zjlhf


ieZ\Zxs_c lhqdb IEEE QbkeZ k ieZ\Zxs_c lhqdhc h[eZ^Zxl h]jZgbq_gghc
lhqghklvx  ijb[ebabl_evgh agZqZsbo pbnj b h]jZgbq_gguf ^bZiZahghf
ijb[ebabl_evgh hl -308 ^h 308 Dhfivxl_j VAX bkihevam_l ^jm]hc nhjfZl
qbk_ekieZ\Zxs_clhqdhcghbolhqghklvb^bZiZahgijb[ebabl_evghl_`_ 

14

<ujZ`_gby

Hi_jZlhju

<ujZ`_gby bkihevamxl h[uqgu_ Zjbnf_lbq_kdb_ hi_jZpbb b ijZ\beZ klZjrbgkl\Z


+
*
/
\
^
'
()

keh`_gb_
\uqblZgb_
mfgh`_gb_
^_e_gb_
e_\h_^_e_gb_ hibkZgh\jZa^_e_FZljbpubEbg_cgZy:e]_[jZ\dgb]_
"Using MATLAB")
kl_i_gv
dhfie_dkghkhijy`_ggh_ljZgkihgbjh\Zgb_
hij_^_e_gb_ihjy^dZ\uqbke_gby

Nmgdpbb

0$7/$% ij_^hklZ\ey_l [hevrh_ dhebq_kl\h we_f_glZjguo fZl_fZlbq_kdbo


nmgdpbclZdbodZdabs, sqrt, exp, sin. <uqbke_gb_d\Z^jZlgh]hdhjgybebeh]ZjbnfZ hljbpZl_evgh]h qbkeZ g_ y\ey_lky hrb[dhc \ wlhf kemqZ_ j_amevlZlhf
y\ey_lkykhhl\_lkl\mxs__dhfie_dkgh_qbkeh0$7/$%lZd`_ij_^hklZ\ey_lb
[he__ keh`gu_ nmgdpbb \dexqZy =ZffZ nmgdpbx b nmgdpbb ;_kk_ey ;hevrbgkl\hbawlbonmgdpbcbf_xldhfie_dkgu_Zj]mf_gluQlh[u\u\_klbkibkhd\k_owe_f_glZjguofZl_fZlbq_kdbonmgdpbcgZ[_jbl_
help elfun
>ey\u\h^Z[he__keh`guofZl_fZlbq_kdbobfZljbqguonmgdpbcgZ[_jbl_
help specfun
help elmat
khhl\_lkl\_ggh
G_dhlhju_ nmgdpbb lZdb_ dZd sqrt b sin  \kljh_ggu_ Hgb y\eyxlky qZklvx
0$7/$%ihwlhfmhgbhq_gvwnn_dlb\gughbo\uqbkebl_evgu_^_lZebljm^gh^hklmigu<lh\j_fydZd^jm]b_nmgdpbblZdb_dZdgamma bsinhj_Zebah\Zgu\FnZceZoIhwlhfm\ufh`_l_e_]dhm\b^_lvbodh^b\kemqZ_g_h[oh^bfhklb^Z`_fh^bnbpbjh\Zlv_]h
G_kdhevdhki_pbZevguonmgdpbcij_^hklZ\eyxlagZq_gbyqZklhbkihevam_fuo
dhgklZgl
pi
i
j
eps
realmin
realmax
Inf
NaN

3.14159265
fgbfZy_^bgbpZ-1
lh`_kZfh_qlhbi
hlghkbl_evgZylhqghklvqbkeZkieZ\Zxs_clhqdhc-52
gZbf_gvr__qbkehkieZ\Zxs_clhqdhc-1022
gZb[hevr__qbkehkieZ\Zxs_clhqdhc )21023
[_kdhg_qghklv
g_qbkeh

15

GZqZeh jZ[hlu k MATLAB

;_kdhg_qghklvihy\ey_lkyijb^_e_gbbgZgmevbebijb\uiheg_gbbfZl_fZlbq_kdh]h\ujZ`_gbyijb\h^ys_]hdi_j_iheg_gbxl_dij_\ur_gbxrealmax.
G_qbkeh NaN ]_g_jbjm_lkyijb\uqbke_gbb\ujZ`_gbclbiZbebInf Inf,
dhlhju_g_bf_xlhij_^_e_ggh]hfZl_fZlbq_kdh]h agZq_gby
Bf_gZnmgdpbcg_y\eyxlkyaZj_a_j\bjh\Zggufbihwlhfm\hafh`ghbaf_gylv
boagZq_gbygZgh\u_gZijbf_j
eps = 1.e-6
b ^Ze__ bkihevah\Zlv wlh agZq_gb_ \ ihke_^mxsbo \uqbke_gbyo GZqZevgh_
agZq_gb_fh`_l[ulv\hkklZgh\e_ghke_^mxsbfh[jZahf
clear eps

<ujZ`_gby

<u m`_ ihagZdhfbebkv k g_dhlhjufb ijbf_jZfb bkihevah\Zgby \ujZ`_gbc \


0$7/$%Gb`_ijb\_^_gh_s_g_kdhevdhijbf_jh\kj_amevlZlZfb
rho = (1+sqrt(5))/2
rho =
1.6180
a = abs(3+4i)
a =
5
z = sqrt(besselk(4/3,rho-i))
z =
0.3730 + 0.3214i
huge = exp(log(realmax))
huge =
1.7977e+308
toobig = pi*huge
toobig =
Inf

16

JZ[hlZ k fZljbpZfb

JZ[hlZkfZljbpZfb
WlhljZa^_ejZkkdZ`_l\ZfhjZaebqguokihkh[Zokha^ZgbyfZljbp

=_g_jbjh\Zgb_fZljbp

0$7/$%bf__lq_luj_nmgdpbbdhlhju_kha^Zxlhkgh\gu_fZljbpu
\k_gmeb
\k__^bgbpu
jZ\ghf_jgh_jZkij_^_e_gb_kemqZcguowe_f_glh\
ghjfZevgh_jZkij_^_e_gb_kemqZcguowe_f_glh\

zeros
ones
rand
randn

G_dhlhju_ijbf_ju
Z = zeros(2,4)
Z =
0
0

0
0

0
0

0
0

F = 5*ones(3,3)
F =
5
5
5

5
5
5

5
5
5

N = fix(10*rand(1,10))
N =
9

R = randn(4,4)
R =
-0.4326
-1.6656
0.1253
0.2877

-1.1465
1.1909
1.1892
-0.0376

0.3273
0.1746
-0.1867
0.7258

-0.5883
2.1832
-0.1364
0.1139

AZ]jmadZfZljbp

DhfZg^Z load kqblu\Z_l ^\hbqgu_ nZceu kh^_j`Zsb_ fZljbpu kha^Zggu_ \


MATLAB jZg__bebl_dklh\u_nZceukh^_j`Zsb_qbke_ggu_^Zggu_L_dklh\u_nZceu^he`gu[ulvknhjfbjh\Zgu\\b^_ijyfhm]hevghclZ[ebpu qbk_e
hl^_e_gguoijh[_eZfbkjZ\gufdhebq_kl\hfwe_f_glh\\dZ`^hckljhd_GZijbf_jkha^Z^bf\g_MATLAB l_dklh\hcnZcekh^_j`Zsbckljhdb
16.0
5.0
9.0
4.0

3.0
10.0
6.0
15.0

2.0
11.0
7.0
14.0

13.0
8.0
12.0
1.0

KhojZgbfwlhlnZceih^bf_g_fmagik.datLh]^ZdhfZg^Z

17

GZqZeh jZ[hlu k MATLAB

load magik.dat
ijhqblZ_lwlhlnZcebkha^Zkli_j_f_ggmxmagikkh^_j`ZsmxgZrmfZljbpm

FnZceu

<ufh`_l_kha^Z\Zlvk\hbkh[kl\_ggu_fZljbpubkihevamyFnZceudhlhju_
ij_^klZ\eyxl kh[hc l_dklh\u_ nZceu kh^_j`Zsb_ dh^ MATLAB. Ijhklh kha^Zcl_ nZce k \ujZ`_gb_f dhlhjh_ \u ohlbl_ gZibkZlv \ dhfZg^ghc kljhd_
MATLAB. KhojZgbl__]hih^bf_g_faZdZgqb\ZxsbfkygZ.m.
AZf_qZgb_  >ey \uah\Z l_dklh\h]h j_^ZdlhjZ gZ JK beb Mac \u[_jbl_ Open
bebNew ba f_gx File bebgZ`fbl_ khhl\_lkl\mxsmx dghidm gZ iZg_eb bgkljmf_glh\>eyh[jZs_gbydl_dklh\hfmj_^ZdlhjmgZUNIXbkihevamcl_kbf\he
kjZamaZdhfZg^hcdhlhjmx\ubkihevam_l_\kljhd_hi_jZpbhgghckbkl_fu
GZijbf_jkha^Z^bfnZce\dexqZxsbcke_^mxsb_kljhd
A=[
16.0
3.0
5.0
10.0
9.0
6.0
4.0
15.0

2.0
11.0
7.0
14.0

13.0
8.0
12.0
1.0 ];

KhojZgbf_]hih^bf_g_fmagik.m.Lh]^Z\ujZ`_gb_
magik
ijhqblZ_lnZcebkha^Zkli_j_f_ggmx:kh^_j`Zsmxbkoh^gmxfZljbpm

H[t_^bg_gb_

H[t_^bg_gb_  wlh ijhp_kk kh_^bg_gby fZe_gvdbo fZljbp ^ey kha^Zgby [hevrbo NZdlbq_kdb \u kha^Zeb \Zrm i_j\mx fZljbpm h[t_^bg_gb_f _z hl^_evguo we_f_glh\ IZjZ d\Z^jZlguo kdh[hd  wlh hi_jZlhj h[t_^bg_gby GZijbf_jgZqg_fkfZljbpu: fZ]bq_kdh]hd\Z^jZlZo bknhjfbjm_f
B = [A A+32; A+48 A+16]

J_amevlZlhf[m^_lfZljbpZoihemqZ_fZykh_^bg_gb_fq_luj_oih^fZljbp
B =
16
5
9
4
64
53
57
52

2
11
7
14
50
59
55
62

3
10
6
15
51
58
54
63

13
8
12
1
61
56
60
49

48
37
41
36
32
21
25
20

34
43
39
46
18
27
23
30

18

35
42
38
47
19
26
22
31

45
40
44
33
29
24
28
17

JZ[hlZ k fZljbpZfb
WlhfZljbpZebrvgZiheh\bgmy\ey_lkyfZ]bq_kdhc?zwe_f_gluij_^klZ\eyxl
kh[hc dhf[bgZpbx p_euo qbk_e hl  ^h  Z kmffu \ klhe[pZo lhqgh jZ\gu
agZq_gbx^eyfZ]bq_kdh]hd\Z^jZlZo
sum(B)
ans =
260

260

260

260

260

260

260

260

H^gZdhkmffu\kljhdZowlhcfZljbpu( sum(B')'  g_ \k_ h^bgZdh\u G_h[oh^bfhijh\_klb^hihegbl_evgu_hi_jZpbbqlh[uk^_eZlvwlm fZljbpm^_ckl\bl_evghfZ]bq_kdbfd\Z^jZlhfo

M^Ze_gb_kljhdbklhe[ph\

<ufh`_l_m^Zeylvkljhdbbklhe[pufZljbpubkihevamyijhklhiZjmd\Z^jZlguokdh[hdJZkkfhljbf
X = A;

L_i_jvm^Zebf\lhjhcklhe[_pfZljbpuX.
X(:,2) = []

WlZhi_jZpbybaf_gblOke_^mxsbfh[jZahf
X =
16
5
9
4

3
10
6
15

13
8
12
1

?keb\u m^Zey_l_h^bgwe_f_glfZljbpulhj_amevlZl m`_ g_ [m^_l fZljbp_c


LZd\ujZ`_gb_
X(1,2) = []
j_amevlZlhf\uqbke_gby\u^Zklhrb[dmH^gZdhbkihevah\Zgb_h^gh]hbg^_dkZ
m^Zey_l hl^_evguc we_f_gl beb ihke_^h\Zl_evghklv we_f_glh\ b ij_h[jZam_l
hklZ\rb_kywe_f_glu\\_dlhjkljhdmLZd
X(2:2:10) = []

\u^Zklj_amevlZl
X =
16

13

12

19

GZqZeh jZ[hlu k MATLAB

DhfZg^gh_hdgh
>hkboihjfubkihevah\ZeblhevdhdhfZg^gmxkljhdmMATLABi_qZlZydhfZg^u b \ujZ`_gby b gZ[ex^Zy j_amevlZlu < wlhc ]eZ\_ hibkZgh g_kdhevdh
kihkh[h\baf_g_gby\g_rg_]h\b^ZdhfZg^gh]hhdgZ?keb\ZrZkbkl_fZiha\hey_l \Zf \u[bjZlv rjbnl lh fu j_dhf_g^m_f bkihevah\Zlv rjbnlu k nbdkbjh\ZgghcrbjbghclZdb_dZdFixedsys beb Courier^eyh[_ki_q_gbyijZ\bevgh]hf_`kljhqgh]hbgl_j\ZeZ

DhfZg^ZIRUPDW

DhfZg^Z format mijZ\ey_l qbke_gguf nhjfZlhf agZq_gbc \u\h^bfuo


MATLABWlZhi_jZpby\eby_llhevdhgZlhdZdqbkeZbah[jZ`ZxlkygZwdjZg_
ghg_\eby_lgZlhdZdbo\uqbkey_lbkhojZgy_lMATLABGb`_ij_^klZ\e_gu
jZaebqgu_ nhjfZlu qbk_e bkihevam_fu_ ^ey hlh[jZ`_gby \_dlhjZ x k dhfihg_glZfbjZaebqguo\_ebqbg
x = [4/3 1.2345e-6]
format short
1.3333

0.0000

format short e
1.3333e+000

1.2345e-006

format short g
1.3333

1.2345e-006

format long
1.33333333333333

0.00000123450000

format long e
1.333333333333333e+000

1.234500000000000e-006

format long g
1.33333333333333

1.2345e-006

format bank
1.33

0.00

format rat
4/3

1/810045

format hex
3ff5555555555555

3eb4b6231abfd271

20

DhfZg^gh_ hdgh
?kebkZfuc[hevrhcwe_f_glfZljbpu[hevr_3bebkZfucfZe_gvdbcf_gvr_ -3, MATLAB ijbf_gy_l h[sbc fZkrlZ[guc dhwnnbpb_gl ^ey nhjfZlh\
short b long.
<^h[Z\e_gb_ddhfZg^Zfformat, jZkkfhlj_gguf\ur_
format compact
m[bjZ_lfgh]himkluoebgbcihy\eyxsbokygZ\uoh^_Wlhiha\hey_l\Zf\b^_lv [hevr_ bgnhjfZpbb gZ wdjZg_ ?keb \u ohlbl_ baf_gblv dhgljhev gZ^
nhjfZlhf\uoh^guo^Zgguobkihevamcl_nmgdpbbsprintf bfprintf.

KhdjZs_gb_\uoh^guo^Zgguo

?keb\ugZ[_j_l_\ujZ`_gb_bgZ`f_l_Return bebEnter, MATLABZ\lhfZlbq_kdb \u\_^_l j_amevlZl gZ wdjZg H^gZdh _keb \ dhgp_ kljhdb \u ihklZ\bl_
lhqdmkaZiylhcMATLABijh\_^_l\uqbke_gbyghg_hlh[jZablboWlhqZklh
[u\Z_lgm`ghijbkha^Zgbb[hevrbofZljbpGZijbf_j
A = magic(100);

>ebggu_dhfZg^gu_kljhdb

?keb\ujZ`_gb_g_mf_sZ_lkygZh^ghckljhd_bkihevamcl_ljh_lhqb_ZaZgbf
Return beb Enter ^ey h[hagZq_gbylh]h qlh \ujZ`_gb_ ijh^he`Z_lky gZ ke_^mxs_ckljhd_GZijbf_j
s = 1 1/2 + 1/3 1/4 + 1/5 1/6 + 1/7 ...
-1/8 + 1/9 1/10 + 1/11 1/12;

Ijh[_eu\hdjm]agZdh\ g_h[yaZl_evgughmemqrZxlqblZ_fhklvl_dklZ

J_^ZdlhjdhfZg^ghckljhdb

JZaebqgu_ klj_edb b mijZ\eyxsb_ deZ\brb gZ \Zr_c deZ\bZlmj_ iha\heyxl


\Zf\uau\Zlvj_^Zdlbjh\Zlvbfgh]hdjZlghbkihevah\ZlvdhfZg^ugZ[jZggu_
jZg__GZijbf_jij_^iheh`bfqlh\u^himklbebhrb[dmijb\\h^_
rho = (1 + sqt(5))/2

<uhrb[ebkv\gZibkZgbbsqrt. MATLABhl\_lbl\Zfij_^mij_`^_gb_f
Undefined function or variable 'sqt'.

<f_klh lh]h qlh[u aZgh\h gZ[bjZlv \kx kljhdm ijhklh gZ`fbl_ deZ\brm .
Lh]^ZgZwdjZg_bah[jZablkyhrb[hqgZydhfZg^ZBkihevamcl_deZ\brm ^ey
i_j_f_s_gby dmjkhjZ b \klZ\db ijhims_gghc [md\u r Ih\lhjgh_ bkihevah\Zgb_ deZ\brb  \uah\_l ij_^u^msb_ kljhdb GZ[_jbl_ g_kdhevdh kbf\heh\ b
lh]^ZdeZ\brZgZc^_lij_^u^msmxkljhdmdhlhjZygZqbgZ_lkykgbo
Kibkhd ^hklmiguo deZ\br j_^Zdlbjh\Zgby \ dhfZg^ghc kljhd_ hlebqZ_lky m
jZaguo dhfivxl_jh\ Ihwdki_jbf_glbjmcl_ qlh[u magZlv dZdb_ ba gb`_ke_-

21

GZqZeh jZ[hlu k MATLAB


^mxsbo deZ\br ^hklmigu gZ \Zr_c fZrbg_ Fgh]b_ ba wlbo deZ\br [m^ml
agZdhfuihevah\Zl_eyfj_^ZdlhjZEMACS.)

ctrl-
ctrl-
home
end
esc
del
backspace

ctrl-p
ctrl-n
ctrl-b
ctrl-f
ctrl-r
ctrl-l
ctrl-a
ctrl-e
ctrl-u
ctrl-d
ctrl-h
ctrl-k

<uah\ij_^u^ms_ckljhdb
<uah\ihke_^mxs_ckljhdb
>\b`_gb_gZaZ^gZh^bgkbf\he
>\b`_gb_\i_j_^gZh^bgkbf\he
>\b`_gb_\ijZ\hgZh^ghkeh\h
>\b`_gb_\e_\hgZh^ghkeh\h
I_j_oh^gZgZqZehkljhdb
I_j_oh^gZdhg_pkljhdb
HqbkldZkljhdb
M^Ze_gb_kbf\heZaZdmjkhjhf
M^Ze_gb_kbf\heZi_j_^dmjkhjhf
M^Ze_gb_^hdhgpZkljhdb

22

=jZnbdZ

=jZnbdZ
MATLAB bf__lrbjhdb_\hafh`ghklb^ey]jZnbq_kdh]hbah[jZ`_gby\_dlhjh\
bfZljbpZlZd`_^eykha^Zgbydhff_glZjb_\bi_qZlb]jZnbdbWlZ]eZ\Zhibku\Z_l g_kdhevdh gZb[he__ \Z`guo ]jZnbq_kdbo nmgdpbc b ^Z_l ijbf_ju bo
ijbf_g_gby

Kha^Zgb_]jZnbdZ

Nmgdpbyplot bf__ljZaebqgu_nhjfuk\yaZggu_k\oh^gufbiZjZf_ljZfbgZijbf_jplot(y)kha^Z_ldmkhqghebg_cguc]jZnbdaZ\bkbfhklbwe_f_glh\y hlbo


bg^_dkh\ ?keb \u aZ^Z_l_ ^\Z \_dlhjZ \ dZq_kl\_ Zj]mf_glh\ plot(x,y) kha^Zkl
]jZnbdaZ\bkbfhklby hlx.
GZijbf_j^eyihkljh_gby]jZnbdZagZq_gbcnmgdpbbsin hlgmey^hk^_eZ_fke_^mxs__
t = 0:pi/100:2*pi;
y = sin(t);
plot(t,y)




















<uah\ nmgdpbb plot k fgh]hqbke_ggufb iZjZfb x-y kha^Z_l fgh]hqbke_ggu_


]jZnbdbMATLAB Z\lhfZlbq_kdbijbk\Zb\Z_ldZ`^hfm]jZnbdmk\hcp\_l bkdexqZykemqZbdh]^Zwlh^_eZ_lihevah\Zl_ev qlhiha\hey_ljZaebqZlvaZ^Zggu_ gZ[hju ^Zgguo GZijbf_j ke_^mxsb_ ljb kljhdb hlh[jZ`Zxl ]jZnbd
[ebadbonmgdpbcbdZ`^hcdjb\hckhhl\_lkl\m_lk\hcp\_l
y2 = sin(t-.25);
y3 = sin(t-.5);
plot( t, y, t, y2, t, y3)

23

GZqZeh jZ[hlu k MATLAB




















<hafh`ghbaf_g_gb_p\_lZklbeyebgbcbfZjd_jh\lZdbodZdagZdbiexkbeb
djm`dbke_^mxsbfh[jZahf
plot(x, y, 'p\_lBklbevBfZjd_j')
p\_lBklbevBfZjd_j wlh    kbf\hevgZy kljhdZ aZdexq_ggZy \ h^bgZjgu_
dZ\uqdb khklZ\e_ggZybalbih\p\_lZklbeyebgbcbfZjd_jh\
Kbf\heuhlghkysb_dp\_lm'c' , 'm' , 'y' , 'r' , 'g' , 'b', 'w' b 'k'Hgbh[hagZqZxl ]hem[hc fZebgh\uc `_eluc djZkguc a_e_guc kbgbc [_euc b q_jguc
p\_lZkhhl\_lkl\_ggh
Kbf\heuhlghkysb_kydlbimebgbc' ' ^eykiehrghc' '^eyjZaju\ghc' : '^eyimgdlbjghc' . '^eyrljboimgdlbjghcebgbcb' none '^ey_zhlkmlkl\by
GZb[he__qZklh\klj_qZxsb_kyfZjd_ju' + ' , 'h' , ' * ' b 'o'.
GZijbf_j\ujZ`_gb_
plot(x,y,'y:+')

kljhbl`_elucimgdlbjguc]jZnbdbihf_sZ_lfZjd_ju' + ' \dZ`^mxlhqdm


^Zgguo?keb\uhij_^_ey_l_lhevdhlbifZjd_jZghg_hij_^_ey_l_lbiklbey
ebgbclhMATLAB\u\_^_llhevdhfZjd_ju

HdgZbah[jZ`_gbc

Nmgdpby plot Z\lhfZlbq_kdb hldju\Z_l gh\h_ hdgh bah[jZ`_gby ^Ze__ hdgh 


_keb^hwlh]h_]hg_[uehgZwdjZg_?keb`_hghkms_kl\m_llhplot bkihevam_l
_]hih mfheqZgbx>eyhldjulbygh\h]hhdgZb\u[hjZ_]hih mfheqZgbxgZ[_jbl_
figure
>eylh]hqlh[uk^_eZlvkms_kl\mxs_zhdghl_dmsbf

24

=jZnbdZ

figure(n)
]^_n wlhghf_j\aZ]heh\d_hdgZ<wlhfkemqZ_j_amevlZlu\k_oihke_^mxsbo
dhfZg^[m^ml\u\h^blvky\wlhhdgh

>h[Z\e_gb_djb\uogZkms_kl\mxsbc]jZnbd

DhfZg^Zhold iha\hey_l^h[Z\eylvdjb\u_gZkms_kl\mxsbc]jZnbdDh]^Z\u
gZ[bjZ_l_
hold on
MATLABg_klbjZ_lkms_kl\mxsbc]jZnbdZ^h[Z\ey_l\g_]hgh\u_^Zggu_
baf_gyyhkb_kebwlhg_h[oh^bfhGZijbf_jke_^mxsbcwe_f_gldh^Z\gZqZe_
kha^Z_l dhglmjgu_ ebgbb nmgdpbb peaks Z aZl_f gZdeZ^u\Z_l ik_\^hp\_lghc
]jZnbdlhc`_nmgdpbb
[x,y,z] = peaks;
contour(x,y,z,20,'k')
hold on
pcolor(x,y,z)
shading interp

DhfZg^Z hold on y\ey_lky ijbqbghc lh]h qlh ]jZnbd pcolor dhf[bgbjm_lky k


]jZnbdhfcontour\h^ghfhdg_

Ih^]jZnbdb

Nmgdpby subplot iha\hey_l \u\h^blv fgh`_kl\h ]jZnbdh\ \ h^ghf hdg_ beb


jZki_qZlu\ZlvbogZh^ghfebkl_[mfZ]b
subplot(m,n,p)

25

GZqZeh jZ[hlu k MATLAB

jZa[b\Z_l hdgh bah[jZ`_gbc gZ fZljbpm m gZ n ih^]jZnbdh\ b \u[bjZ_l puc


ih^]jZnbdl_dmsbf=jZnbdbgmf_jmxlky\^hevi_j\h]h\\_jog_ckljhd_ihlhf \h \lhjhc b l^ GZijbf_j ^ey lh]h qlh[u ij_^klZ\blv ]jZnbq_kdb_ ^Zggu_\q_luj_ojZaguoih^h[eZklyohdgZg_h[oh^bfh\uihegblvke_^mxs__
t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(4*cos(t));
subplot(2,2,1)
mesh(X)
subplot(2,2,2); mesh(Y)
subplot(2,2,3); mesh(Z)
subplot(2,2,4); mesh(X,Y,Z)

Fgbfu_bdhfie_dkgu_^Zggu_

?kebZj]mf_glnmgdpbbplot dhfie_dkgh_qbkehlhfgbfZyqZklvb]ghjbjm_lky
aZ bkdexq_gb_f kemqZy dh]^Z dhfie_dkguc Zj]mf_gl h^bg >ey wlh]h ki_pbZevgh]h kemqZy ijhbkoh^bl ihkljh_gb_ ]jZnbdZ aZ\bkbfhklb j_Zevghc qZklb
Zj]mf_glZhlfgbfhcIhwlhfm
plot(Z)
]^_Z dhfie_dkguc\_dlhjbebfZljbpZwd\b\Ze_glgh
plot(real(Z),imag(Z))
GZijbf_j
t = 0:pi/10:2*pi;
plot(exp(i*t),'-o')

hlh[jZabl ^\Z^pZlbklhjhggbc fgh]hm]hevgbd k fZe_gvdbfb djm`dZfb gZ \_jrbgZo

26

=jZnbdZ




































MijZ\e_gb_hkyfb

Nmgdpbyaxis bf__lg_kdhevdh\hafh`ghkl_c^eygZkljhcdbfZkrlZ[Zhjb_glZpbbbdhwnnbpb_glZk`Zlby
H[uqghMATLABgZoh^bl fZdkbfZevgh_ b fbgbfZevgh_ agZq_gb_ b \u[bjZ_l
khhl\_lkl\mxsbcfZkrlZ[bfZjdblbjh\Zgb_hk_cNmgdpbyaxis aZf_gy_lagZq_gbyihmfheqZgbxij_^_evgufbagZq_gby\\h^bfufbihevah\Zl_e_f
axis( [xmin xmax ymin ymax] )
< nmgdpbb axis fh`gh lZd`_ bkihevah\Zlv dexq_\u_ keh\Z ^ey mijZ\e_gby
\g_rgbf\b^hfhk_cGZijbf_j
axis square
kha^Z_lx byhkbjZ\ghc^ebguZ
axis equal
kha^Z_lhl^_evgu_hlf_ldbijbjZs_gbc^eyx b y hk_ch^bgZdh\hc^ebguLZd
nmgdpby
plot(exp(i*t))
ke_^mxsZyeb[haZaxis squareeb[haZaxis equalij_\jZsZ_lh\Ze\ijZ\bevguc
djm]
axis auto
\ha\jZsZ_lagZq_gbyihmfheqZgbxbi_j_oh^bl\Z\lhfZlbq_kdbcj_`bf
axis on

27

GZqZeh jZ[hlu k MATLAB

\dexqZ_lh[hagZq_gbyhk_cbf_ldbijhf_`mlhqguo^_e_gbc
axis off
\udexqZ_lh[hagZq_gbyhk_cbf_ldbijhf_`mlhqguo^_e_gbc
grid off
\udexqZ_lk_ldmdhhj^bgZlZ
grid on
\dexqZ_l_zaZgh\h

Ih^ibkbdhkyfbaZ]heh\db

Nmgdpbb xlabel, ylabel, zlabel ^h[Z\eyxl ih^ibkb d khhl\_lkl\mxsbf hkyf


nmgdpbytitle ^h[Z\ey_laZ]heh\hd\\_jogxxqZklvhdgZZnmgdpbytext\klZ\ey_ll_dkl\ex[h_f_klh]jZnbdZBkihevah\Zgb_TEX ij_^klZ\e_gbyiha\hey_l
ijbf_gylv ]j_q_kdb_ [md\u fZl_fZlbq_kdb_ kbf\heu b jZaebqgu_ rjbnlu
Ke_^mxsbcijbf_j^_fhgkljbjm_lwlm\hafh`ghklv
t = -pi:pi/100:pi;
y = sin(t);
plot(t,y)
axis([-pi pi -1 1])
xlabel( ' -\pi \leq \itt \leq \pi ' )
ylabel( ' sin(t) ' )

WLWOH
=jZnbd nmgdpbb VLQ


?LW^Hlf_lvl_ g_q_lgmx kbff_ljbx`

text(-1

= j Z nb d nm g d p b b

VLQ







VLQ W





Hlf_ lv l_ g _ q _ lg m x k b ff_ lj b x














NmgdpbbPHVKbVXUIDFH

MATLAB hij_^_ey_l ih\_joghklv dZd z dhhj^bgZlu lhq_d gZ^ dhhj^bgZlghc


k_ldhciehkdhklbx-y,bkihevamyijyfu_ebgbb^eykh_^bg_gbykhk_^gbolhq_d
Nmgdpbbmesh bsurfacehlh[jZ`Zxlih\_joghklv\lj_obaf_j_gbyoIjbwlhf

28

=jZnbdZ

mesh kha^Z_ldZjdZkgmxih\_joghklv]^_p\_lgu_ebgbbkh_^bgyxllhevdhaZ^Zggu_ lhqdb Z nmgdpby surface \f_kl_ k ebgbyfb hlh[jZ`Z_l \ p\_l_ b kZfm
ih\_joghklv

<bamZebaZpbynmgdpbc^\moi_j_f_gguo

>eyhlh[jZ`_gbynmgdpbb^\moi_j_f_gguoz = f (x,y)kha^ZxlkyfZljbpuX b
Y khklhysb_ ba ih\lhjyxsboky kljhd b klhe[ph\ khhl\_lkl\_ggh i_j_^ bkihevah\Zgb_fnmgdpbbAZl_fbkihevamxl wlb fZljbpu ^ey \uqbke_gbyb hlh[jZ`_gbynmgdpbbNmgdpbymeshgrid ij_h[jZam_lh[eZklvhij_^_e_gbyaZ^Zggmxq_j_ah^bg\_dlhjbeb^\Z\_dlhjZxby\fZljbpuXbY^eybkihevah\Zgbyijb\uqbke_gbbnmgdpbb^\moi_j_f_gguoKljhdbfZljbpuX ^m[ebjmxl
\_dlhjxZklhe[puY\_dlhjy.
>ey\uqbke_gby^\mf_jghcnmgdpbbsinc , sin(r)/r, \h[eZklbx-y ihklmiZxlke_^mxsbfh[jZahf
[X, Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2+Y.^2)+eps;
Z = sin(R)./R;
mesh(X,Y,Z)

<wlhfijbf_j_R wlhjZkkhygb_hlgZqZeZdhhj^bgZldhlhjhfmkhhl\_lkl\m_l
p_gljfZljbpu>h[Z\e_gb_eps iha\hey_lba[_`Zlvg_hij_^_e_gghklb\gZqZe_dhhj^bgZl

Bah[jZ`_gby

>\mf_jgu_fZkkb\ufh]mlhlh[jZ`ZlvdZdbah[jZ`_gby]^_we_f_glufZkkb\Z
hij_^_eyxlboyjdhklvbp\_lGZijbf_j
load durer
whos

29

GZqZeh jZ[hlu k MATLAB

ihdZ`_l qlh nZce durer.mat \ ^bj_dlhjbb demo khklhbl ba fZljbpu jZaf_jhf
gZ fZljbpuX bfZljbpujZaf_jhfgZ fZljbpumap We_f_glu
fZljbpuX wlhp_eu_qbkeZhl^hdhlhju_kem`Zlbg^bdZlhjZfb\p\_lghfhlh[jZ`_gbbPDSKe_^mxsb_kljhdb
imag(X)
colormap(map)
axis image
\hkijhba\h^yl]jZ\xjm>xj_jZihdZaZggmx\gZqZe_wlhcdgb]b<ukhdh_jZaj_r_gb_fZ]bq_kdh]hd\Z^jZlZgZoh^ys_]hky\ijZ\hf\_jog_fm]em^hklmigh
\^jm]hfnZce_GZ[_jbl_
load detail
bbkihevamcl_klj_edm'\\_jo
gZdeZ\bZlmj_^eyih\lhjgh]haZimkdZdhfZg^image, colormap b axis.
colormap(hot)
^h[Z\blp\_lh\mx]Zffm^\Z^pZlh]h\_dZgZ]jZ\xjmr_klgZ^pZlh]h

I_qZlv]jZnbdb

Hipby Print \ f_gx File b dhfZg^Z print i_qZlZxl ]jZnbdm MATLAB F_gx
Print \uau\Z_l ^bZeh]h\h_ hdgh dhlhjh_ iha\hey_l \u[bjZlv h[sb_ klZg^Zjlgu_\ZjbZglui_qZlbDhfZg^Zprint h[_ki_qb\Z_l[hevrmx]b[dhklvijb\u\h^_\uoh^guo^Zgguobiha\hey_ldhgljhebjh\Zlvi_qZlvbaFnZceh\J_amevlZl fh`_l [ulv ihkeZg ijyfh gZ ijbgl_j \u[jZgguc ih mfheqZgbx beb khojZg_g\aZ^ZgghfnZce_<hafh`ghrbjhdh_\Zjvbjh\Zgb_nhjfZlZ\uoh^guo
^Zgguo\dexqZybkihevah\Zgb_PostScript.
GZijbf_j ke_^mxsZy dhfZg^Z khojZgbl l_dms__ hdgh bah[jZ`_gby dZd p\_lghcPostScript Level 2 Encapsulated \nZce_magicsquare.eps:
print depsc2 magicsquare.eps
<Z`gh agZlv \hafh`ghklb \Zr_]h ijbgl_jZ i_j_^ bkihevah\Zgb_f dhfZg^u
print. GZijbf_jnZceu Postscript Level 2 h[uqghf_gvr_b\hkijhba\h^ylkygZfgh]h [uklj__ q_f Postscript Level  H^gZdh g_ \k_ Postscript ijbgl_ju ih^^_j`b\Zxl Level 2, lZdbf h[jZahf \Zf g_h[oh^bfh magZlv qlh fh`_l h[jZ[Zlu\Zlv \Zr_ mkljhckl\h \u\h^Z MATLAB bkihevam_l ^bnn_j_gpbjh\Zgguc
ih^oh^^ey\u\h^Z]jZnbdbbl_dklZ^Z`_^eyq_jgh[_euomkljhckl\

30

KijZ\dZ b l_dmsZy ^hdmf_glZpby

KijZ\dZbl_dmsZy^hdmf_glZpby
?klv g_kdhevdh kihkh[h\ ihemqblv l_dmsmx ^hdmf_glZpbx ih nmgdpbyf
MATLAB.
DhfZg^Zhelp
HdghkijZ\db
MATLAB Help Desk
L_dmsb_kijZ\hqgu_kljZgbpu
K\yavkThe MathWorks, Inc.

DhfZg^ZKHOS

DhfZg^Zhelp wlhkZfuchkgh\ghckihkh[hij_^_e_gbykbglZdkbkZbih\_^_gby
hl^_evguo nmgdpbc BgnhjfZpby hlh[jZ`Z_lky ijyfh \ dhfZg^ghf hdg_ GZijbf_j
help magic

\u^Zkl
MAGIC Magic square.
MAGIC(N) is an N-by-N matrix constructed from the integers
1 through N^2 with equal row, column, and diagonal sums.
Produces valid magic squares for N = 1,3,4,5,...

AZf_qZgb_ MATLAB \l_dms_ckijZ\d_bkihevam_laZ]eZ\gu_[md\u^eynmgdpbcbi_j_f_gguo ^ey lh]h qlh[u \u^_eblv boba l_dklZ H^gZdh ijb gZ[hj_
bf_g nmgdpbc \k_]^Z bkihevamcl_ khhl\_lkl\mxsb_ kljhqgu_ [md\u lZd dZd
MATLAB qm\kl\bl_e_gdj_]bkljZfZ\k_bf_gZnmgdpbbkljhqgu_
<k_nmgdpbbMATLAB hj]Zgbah\Zgu \ eh]bq_kdb_ ]jmiiu b kljmdlmjZ ^bj_dlhjbc MATLAB [Zabjm_lky gZ wlhf ]jmiibjh\Zgbb GZijbf_j \k_ nmgdpbb
ebg_cghc Ze]_[ju gZoh^ylky \ ^bj_dlhjbb matfun Qlh[u \u\_klb bf_gZ \k_o
nmgdpbc\wlhc^bj_dlhjbbkdjZldbfhibkZgb_fgZ^hgZ[jZlv
help matfun
Matrix functions - numerical linear algebra.
Matrix analysis.
norm
- Matrix or vector norm.
normest
- Estimate the matrix 2-norm.
...

DhfZg^Z
help
HELP topics:
matlab\general
matlab\ops
...

General purpose commands.


Operators and special characters.

31

GZqZeh jZ[hlu k MATLAB

HdghkijZ\db

Hdgh kijZ\db MATLAB ihy\ey_lky gZ PC beb Mac ihke_ \u[hjZ hipbb
Help Window\f_gxHelp bebgZ`Zlb_fdghidb\hijhkZgZiZg_ebbgkljmf_glh\WlZ`_hi_jZpbyfh`_l[ulv\uiheg_gZijbgZ[hj_dhfZg^u
helpwin
>ey\u\h^ZhdgZkijZ\dbihhl^_evgufjZa^_eZfgZ[_jbl_
helpwin topic
HdghkijZ\dbij_^hklZ\ey_l\ZflZdmx`_bgnhjfZpbxdZdbdhfZg^Zhelp, gh
hdhgguc bgl_jn_ck h[_ki_qb\Z_l [he__ m^h[gmx k\yav k ^jm]bfb jZa^_eZfb
kijZ\db

DhfZg^ZORRNIRU

DhfZg^Z lookfor iha\hey_l bkdZlvnmgdpbb ihdexq_\hfm keh\m HgZ ijhkfZljb\Z_l i_j\mx kljhdm l_dklZ kijZ\db gZau\Z_fmx kljhdhc H1 ^ey dZ`^hc
nmgdpbb MATLAB b \ha\jZsZ_l kljhdb H1, kh^_j`Zsb_ aZ^Zggh_ dexq_\h_
keh\hGZijbf_jMATLABg_bf__lnmgdpbbkbf_g_finverseIhwlhfmhl\_l
gZaZijhk
help inverse

[m^_l
inverse.m not found.

<lh\j_fydZd
lookfor inverse

gZc^_l fgh`_kl\h kh]eZkh\Zgguo hl\_lh\ < aZ\bkbfhklb hl lh]h dZdb_ toolboxes \umklZgh\beb\uihemqbl_khhl\_lkl\mxsb_aZibkbGZijbf_j
INVHILB Inverse Hilbert matrix.
ACOS Inverse cosine.
ACOSH Inverse hyperbolic cosine.
ACOT Inverse cotangent.
ACOTH Inverse hyperbolic cotangent.
ACSC Inverse cosecant.
ACSCH Inverse hyperbolic cosecant.
ASEC Inverse secant.
ASECH Inverse hyperbolic secant.
ASIN Inverse sine.
ASINH Inverse hyperbolic sine.
ATAN Inverse tangent.
...
>h[Z\e_gb_dexqZall \dhfZg^mlookfordZdgZijbf_j

32

KijZ\dZ b l_dmsZy ^hdmf_glZpby


lookfor all
iha\hey_lbkdZlvdexq_\h_keh\h\h\k_oaZibkyokijZ\dbZg_lhevdh\kljhd_
H1.

Help Desk

MATLAB Help Desk h[_ki_qb\Z_l ^hklmi d rbjhdhfm ^bZiZahgm kijZ\hqghc


bgnhjfZpbb ojZgys_cky gZ ^bkd_ beb gZ CD \Zr_c kbkl_fu ;hevrZy qZklv
\Z`ghc ^hdmf_glZpbb bkihevam_l HTML (HyperText Markup Language) nhjfZl
b^hklmigZq_j_a[jZma_juBgl_jg_llZdb_dZdNetscape bebMicrosoft Explorer.
AZimklblv Help Desk fh`gh gZ Pc beb Mac \u[jZ\ hipbx Help Desk \ f_gx
Help bebgZ\k_odhfivxl_jZoijhklhgZ[jZ\dhfZg^m
helpdesk
<k_ hi_jZlhju b nmgdpbb MATLAB bf_xl l_dmsb_ kijZ\hqgu_ kljZgbpu \
nhjfZl_ HTML d dhlhjuf fh`gh h[jZlblvky q_j_a Help Desk Wlb kljZgbpu
ij_^hklZ\eyxl[hevr_^_lZe_cbijbf_jh\q_fh[uqgu_aZibkbkijZ\dbLZd`_^hklmiguHTML\_jkbbb^jm]bo^hdmf_glh\\dexqZywlhkijZ\hqgh_ihkh[b_Kj_^kl\hihbkdZaZims_ggh_gZ\Zr_cfZrbg_fh`_lgZclb\k_l_dmsb_
kijZ\hqgu_fZl_jbZeu

DhfZg^ZGRF

?keb \u agZ_l_ bfy dhgdj_lghc nmgdpbb \u fh`_l_ h[jZlblvky d _z l_dms_c
kijZ\hqghckljZgbp_ gZijyfmx GZijbf_j ^ey ihemq_gby kijZ\hqghc kljZgbpu^eynmgdpbbevalgZ[_jbl_
doc eval
DhfZg^Zdoc kZfZaZimklbl\ZrWeb [jZma_j _keb hg _s_ g_ [ue aZims_g jZg__

I_qZlvl_dmsbokijZ\hqguokljZgbp

<_jkbbl_dmsbokijZ\hqguokljZgbpdZdb[hevrbgkl\h^hdmf_glZpbblZd`_
^hklmigh\nhjfZl_PDF (Portable Document Format) q_j_aHelp DeskWlbkljZgbpu h[jZ[Zlu\Zxlky k ihfhsvx Adobe's Acrobat reader Hgb \hkijhba\h^yl
\g_rgbc\b^kljZgbpihke_i_qZlbiheghklvxkrjbnlZfb]jZnbdhckaZ^Zgguf nhjfZlhf b jbkmgdZfb Wlh emqrbc kihkh[ ihemqblv i_qZlgu_ dhibb
kijZ\hqguofZl_jbZeh\

K\yavk0DWK:RUNV

?keb\Zrdhfivxl_jih^dexq_g\Bgl_jg_lHelp Deskh[_ki_qb\Z_l\Zfk\yav
k MathWorks  ^hfhf MATLAB \u fh`_l_ bkihevah\Zlv we_dljhggmx ihqlm
^ey \hijhkh\ ij_^eh`_gbc b khh[s_gbc h \hafh`guo hrb[dZo <u fh`_l_
lZd`_bkihevah\ZlvSolution Search Engine gZkZcl_MathWorks Web ^eyaZijhkZ
\gh\_crmx[Zam^Zgguoihl_ogbq_kdhcih^^_j`d_

33

GZqZeh jZ[hlu k MATLAB

Kj_^Z0$7/$%
Kj_^Z MATLAB \dexqZ_l \ k_[y dZd kh\hdmighklv i_j_f_gguo kha^Zgguo aZ
\j_fyk_ZgkZjZ[hluMATLABlZdbgZ[hjnZceh\kh^_j`Zsboijh]jZffub
^Zggu_dhlhju_ijh^he`Zxlkms_kl\h\Zlvf_`^mk_ZgkZfbjZ[hlu

JZ[hq__ijhkljZgkl\h

JZ[hq__ ijhkljZgkl\h  wlh h[eZklv iZfylb ^hklmigZy ba dhfZg^ghc kljhdb


MATLAB>\_dhfZg^uwhobwhosihdZau\Zxll_dms__kh^_j`Zgb_jZ[hq_]h
ijhkljZgkl\Z DhfZg^Z who \u^Z_l djZldbc kibkhd Z dhfZg^Z whos jZaf_j b
bkihevam_fmxiZfylv
Gb`_ ij_^klZ\e_g \u\h^ hkms_kl\e_gguc dhfZg^hc whos, gZ jZ[hq_f ijhkljZgkl\_ kh^_j`Zs_f j_amevlZlu ba g_dhlhjuo ijbf_jh\ wlhc dgb]b Hg ihdZau\Z_l jZaebqby \ kljmdlmj_ ^Zgguo MATLAB < dZq_kl\_ mijZ`g_gby ihijh[mcl_ gZclb k_]f_gl dh^Z dhlhjuc khhl\_lkl\m_l dZ`^hc ba gb`_ ijb\_^_gguoi_j_f_gguo
whos
Name

Size

Bytes Class

A
D
M
S
h
n
s
v

4x4
5x3
10x1
1x3
1x11
1x1
1x5
2x5

128
120
3816
442
22
8
10
20

double array
double array
cell array
struct array
char array
double array
char array
char array

Grand total is 471 elements using 4566 bytes.


>ey m^Ze_gby \k_o kms_kl\mxsbo i_j_f_gguo ba jZ[hq_]h ijhkljZgkl\Z
MATLAB\\_^bl_
clear

DhfZg^ZVDYH

DhfZg^Zsave khojZgy_lkh^_j`Zgb_jZ[hq_]hijhkljZgkl\Z\F:LnZce_dhlhjuc fh`_l [ulv ijhqblZg dhfZg^hc load \ ihke_^mxsbo k_ZgkZo jZ[hlu
MATLABGZijbf_j
save August17th
khojZgy_lkh^_j`Zgb_\k_]hjZ[hq_]hijhkljZgkl\Z\nZce_August17th.mat?kebgm`gh\ufh`_l_khojZgblvlhevdhhij_^_e_ggu_i_j_f_ggu_mdZau\Zybo
bf_gZihke_bf_gbnZceZ

34

Kj_^Z 0$7/$%
H[uqgh i_j_f_ggu_ khojZgyxlky \ ^\hbqghf nhjfZl_ dhlhjuc fh`_l [ulv
[ukljh blhqgh ijhqblZgMATLAB?keb`_\uohlbl_bkihevah\ZlvwlbnZceu\g_MATLAB\ufh`_l_mdZaZlv^jm]hcnhjfZl
-ascii

Bkihevam_lagZqgucl_dklh\hcnhjfZl

-ascii -double

Bkihevam_lagZqgucl_dklh\hcnhjfZl

-ascii -double -tabs

JZa^_ey_lwe_f_glufZkkb\ZlZ[meypb_c

-v4

Kha^Z_lnZce^eyMATLAB 4.

-append

>h[Z\ey_l^Zggu_\kms_kl\mxsbcMATnZce

Dh]^Z\ukhojZgy_l_kh^_j`Zgb_jZ[hq_]hijhkljZgkl\Z\l_dklh\hfnZce_\u
^he`gu khojZgylv lhevdh h^gm i_j_f_ggmx \ ^Zgguc fhf_gl ?keb \u khojZgy_l_ [he__ h^ghc i_j_f_gghc MATLAB kha^Z_l l_dklh\hc nZce gh \u g_
kfh`_l_aZ]jmablv_]hh[jZlgh

FZjrjmlihbkdZ

MATLAB bkihevam_lfZjrjmlihbkdZ mihjy^hq_gguckibkhd^bj_dlhjbc^ey


lh]hqlh[u hij_^_eblvdZd \uihegylv nmgdpbb dhlhju_ \u \uau\Z_l_ Dh]^Z
\u \uau\Z_l_ klZg^Zjlgmx nmgdpbx MATLAB bkihegy_l i_j\uc FnZce gZ
k\h_f imlb dhlhjuc bf__l aZ^Zggh_ bfy <u fh`_l_ aZf_gblv ih\_^_gb_ bkihevah\Zgb_fki_pbZevguo^bj_dlhjbcbih^^bj_dlhjbc
DhfZg^Z
path
ihdZau\Z_lfZjrjmlihbkdZgZ\k_oieZlnhjfZoGZPc bMac\u[_jbl_hipbx
Set Path baf_gxFile ^eyijhkfhljZbbaf_g_gbyfZjrjmlZ

Hi_jZpbbgZ^^bkdh\ufbnZceZfb

DhfZg^udir, type, delete b cdhkms_kl\eyxldhfie_dk]jmiih\uohi_jZpbhgguo


kbkl_fguo dhfZg^ ^ey fZgbimeypbc gZ^ nZceZfb Gb`_ijb\_^_ggZy lZ[ebpZ
ihdZau\Z_l dZd wlb dhfZg^u khhl\_lkl\mxl jZaebqguf hi_jZpbhgguf kbkl_fZf
MATLAB
dir
type
delete
cd

MS-DOS
dir
type
del, erase
chdir

UNIX
ls
cat
rm
cd

VAX/VMS
dir
type
delete
set defalt

>ey[hevrbgkl\ZbawlbodhfZg^\ufh`_l_bkihevah\Zlvihegu_imlbrZ[ehgubmdZaZl_eb^bkdh\\h[uqghcnhjf_

35

GZqZeh jZ[hlu k MATLAB

DhfZg^ZGLDU\

DhfZg^Zdiarykha^Z_l^g_\gbdk_ZgkZMATLAB\^bkdh\hfnZce_<ufh`_l_
ijhkfhlj_lv b hlj_^Zdlbjh\Zlv dhg_qguc l_dklh\hc nZce bkihevamy ex[hc
l_dklh\hcijhp_kkhj>eykha^ZgbynZceZih^bf_g_fdiarydhlhjuckh^_j`bl
\k_dhfZg^udhlhju_\ubkihevam_l_\dexqZy\u\h^gZi_qZlv djhf_]jZnbq_kdh]h\u\h^Z \\_^bl_
diary
>eykhojZg_gbyk_ZgkZMATLAB\nZce_khij_^_e_ggufbf_g_fbkihevamcl_
diary filename
IjbhklZgh\d_aZibkbk_ZgkZjZ[hlugZ[_jbl_
diary off

AZimkd\g_rgboijh]jZff

<hkdebpZl_evgucagZdhagZqZ_l\uoh^bah[hehqdbMATLABHglZd`_hagZqZ_l qlh ihke_^mxsZy kljhdZ \\h^Z [m^_l dhfZg^hc d hi_jZpbhgghc kbkl_f_


bebFinder gZ Mac  Wlh hq_gv ihe_agh ^ey \uah\Z mlbebl beb aZimkdZ ^jm]bo
ijh]jZff[_a\uoh^Zba MATLABGZVMSgZijbf_j
!edt magik.m
\uah\_l j_^Zdlhj gZau\Z_fuc edt ^ey nZceZ magik.m Dh]^Z \u \uoh^bl_ ba
\g_rg_cijh]jZffuhi_jZpbhggZykbkl_fZ\ha\jZsZ_lmijZ\e_gb_MATLAB.

36

Ih^jh[g__ h fZljbpZo b fZkkb\Zo

Ih^jh[g__hfZljbpZobfZkkb\Zo
Wlhl jZa^_e jZkkdZ`_l \Zf [hevr_ h jZ[hl_ k fZljbpZfb b fZkkb\Zfb m^_eyy
hkh[h_\gbfZgb_
Ebg_cghcZe]_[j_
FZkkb\Zf
Fgh]hf_jguf^Zgguf

Ebg_cgZyZe]_[jZ

L_jfbgufZljbpZbfZkkb\qZklh g_ijZ\bevgh bkihevamxl dZd \aZbfhaZf_gy_fu_;he__lhqghfZljbpZwlh^\mf_jgucqbke_ggucfZkkb\bkihevam_fuc\


ebg_cguo ij_h[jZah\Zgbyo FZl_fZlbq_kdb_ hi_jZpbb hij_^_e_ggu_ gZ fZljbpZoy\eyxlkyh[t_dlhfebg_cghcZe]_[ju
FZ]bq_kdbcd\Z^jZl>xj_jZ
A =
16
5
9
4

3
10
6
15

2
11
7
14

13
8
12
1

bkihevam_lky \ g_dhlhjuo ijbf_jZo dhlhju_ iha\heyxl ihqm\kl\h\Zlv hi_jZpbbgZ^fZljbpZfb\ MATLAB <u m`_ \b^_eb hi_jZpbx ljZgkihgbjh\Zgby
fZljbpuA'. >h[Z\e_gb_fZljbpud_zljZgkihgbjh\Zgghc^Z_lkbff_ljbqgmx
fZljbpm
A + A'
ans =
32
8
11
17

8
20
17
23

11
17
14
26

17
23
26
2

Kbf\hemfgh`_gby h[hagZqZ_lfZljbqgh_ijhba\_^_gb_\dexqZxs__\gmlj_gg__ ijhba\_^_gb_ f_`^m kljhdZfb b klhe[pZfb Mfgh`_gb_ fZljbpugZ _z


ljZgkihgbjh\ZggmxlZd`_^Z_lkbff_ljbqgmxfZljbpm
A'*A
ans =
378
212
206
360

212
370
368
206

206
368
370
212

360
206
212
378

Hij_^_ebl_evwlhcqZklghcfZljbpuhdZau\Z_lkyjZ\gufgmexhagZqZyqlhwlZ
fZljbpZy\ey_lkykbg]meyjghc
d = det(A)

37

GZqZeh jZ[hlu k MATLAB


d =
0

Ijb\_^_ggZy d kljhdZf klmi_gqZlZy nhjfZ fZljbpu : \u]ey^bl ke_^mxsbf


h[jZahf
R = rref(A)
R =
1
0
0
0

0
1
0
0

0
0
1
0

1
-3
3
0

Ihkdhevdm aZ^ZggZy fZljbpZ y\ey_lky kbg]meyjghc lh hgZ g_ bf__l h[jZlghc
?keb\u\k_lZdbihiulZ_l_kv_zhij_^_eblv
X = inv(A)

lhihemqbl_ij_^mij_`^_gb_
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.175530e-017.

Hrb[dZhdjm]e_gbyij_iylkl\m_lZe]hjblfmh[jZs_gbyfZljbpuijbhij_^_e_gbb lhqghc kbg]meyjghklb Gh agZq_gb_ rcond dhlhjh_ mklZgZ\eb\Z_l mkeh\b_


hp_gdb^eyh[jZlghcfZljbpubf__lihjy^hdepshlghkbl_evghclhqghklbqbkeZkieZ\Zxs_clhqdhcihwlhfm\uqbke_gb_h[jZlghcfZljbpug_hq_gv`_eZl_evgh
Bgl_j_kghgZclbkh[kl\_ggu_agZq_gbyfZ]bq_kdh]hd\Z^jZlZ
e = eig(A)
e =
34.0000
8.0000
-0.0000
-8.0000

H^ghbakh[kl\_gguoagZq_gbcjZ\ghgmexqlhy\ey_lkyke_^kl\b_fkbg]meyjghklb KZfh_ [hevrh_ kh[kl\_ggh_ agZq_gb_ jZ\gh  fZ]bq_kdhc kmff_ Wlh
ijhbkoh^blihlhfm qlh \_dlhj khklhysbc ba \k_o _^bgbp y\ey_lky kh[kl\_gguf\_dlhjhf
v = ones(4,1)
v =
1
1
1
1
A*v

38

Ih^jh[g__ h fZljbpZo b fZkkb\Zo


ans =
34
34
34
34

Dh]^ZfZ]bq_kdbcd\Z^jZlbaf_jy_lky_]hfZ]bq_kdhckmffhc
P = A/34

j_amevlZl [m^_l [bklhoZklbq_kdhc fZljbp_c m dhlhjhc kmffu \ kljhdZo b


klhe[pZo\k_jZ\gu_^bgbpZf
P =
0.4706
0.1471
0.2647
0.1176

0.0882
0.2941
0.1765
0.4412

0.0588
0.3235
0.2059
0.4118

0.3824
0.2353
0.3529
0.0294

LZdb_ fZljbpu ij_^klZ\eyxl kh[hc \_jhylghklv i_j_oh^Z \ FZjdh\kdhf ijhp_kk_Ih\lhjgu_\ha\_^_gbyfZljbpu\kl_i_gvy\eyxlkyih\lhjgufbrZ]Zfb


\wlhfijhp_kk_>eygZr_]hijbf_jZiylZykl_i_gv
P^5

jZ\gZ
ans =
0.2507
0.2497
0.2500
0.2496

0.2495
0.2501
0.2498
0.2506

0.2494
0.2502
0.2499
0.2505

0.2504
0.2500
0.2503
0.2493

Bawlh]hke_^m_lqlh_kebk klj_fblkyd[_kdhg_qghklblh]^Z\k_we_f_glu\khckl_i_gb, Pk,klj_fylkyd.


<aZdexq_gb_jZkkfhljbfdhwnnbpb_gluoZjZdl_jbklbq_kdh]hihebghfZ
poly(A)
ans =
1.0e+003 *
0.0010
-0.0340

-0.0640

2.1760

0.0000

Baq_]hke_^m_lqlhoZjZdl_jbklbq_kdbcihebghf
det(A-I)
jZ\_g
4 343 642 + 2176
DhgklZglZ jZ\gZ gmex lZd dZd fZljbpZ y\ey_lky kbg]meyjghc Z dhwnnbpb_gl
ijblj_lv_ckl_i_gbjZ\_glZddZdfZljbpZfZ]bq_kdZy

39

GZqZeh jZ[hlu k MATLAB

FZkkb\u

Dh]^Zfu\uoh^bfbafbjZebg_cghcZe]_[jufZljbpuklZgh\ylky^\mf_jgufb
qbke_ggufb fZkkb\Zfb :jbnf_lbq_kdb_ hi_jZpbb gZ fZkkb\Zo ijhba\h^ylky
ihwe_f_glghWlh hagZqZ_l qlh kmffbjh\Zgb_ b \uqblZgb_ y\eyxlky h^bgZdh\ufb hi_jZpbyfb ^ey fZljbp b fZkkb\h\ Z mfgh`_gb_ ^ey gbo jZaebqgh
MATLABbkihevam_llhqdmbeb^_kylbqgmxlhqdmdZdqZklvaZibkb^eyhi_jZpbbmfgh`_gbyfZkkb\h\
Kibkhdhi_jZlhjh\\dexqZ_l\k_[y
+
.*
./
.\
.^
.'

kmffbjh\Zgb_
\uqblZgb_
ihwe_f_glgh_mfgh`_gb_
ihwe_f_glgh_^_e_gb_
ihwe_f_glgh_e_\h_^_e_gb_
ihwe_f_glgh_\ha\_^_gb_\kl_i_gv
g_khijy`_ggh_fZljbqgh_ljZgkihgbjh\Zgb_

?keb fZ]bq_kdbc d\Z^jZl >xj_jZ mfgh`blv gZ k_[y ih ijZ\beZf mfgh`_gby
fZkkb\h\
A.*A

j_amevlZlhf[m^_lfZkkb\kh^_j`Zsbcd\Z^jZlup_euoqbk_ehl  ^h  \ g_h[uqghfihjy^d_


ans =
256
25
81
16

9
100
36
225

4
121
49
196

169
64
144
1

Hi_jZpbb gZ^ fZkkb\Zfb ihe_agu ^ey kha^Zgby lZ[ebp Imklv n  wlh \_dlhj
klhe[_p
n = (0:9)';

Lh]^Z
pows = [n

n.^2

2.^n]

kha^Z_llZ[ebpmd\Z^jZlh\bkl_i_g_c^\hcdb
pows =
0
1
2
3
4
5
6
7
8
9

0
1
4
9
16
25
36
49
64
81

1
2
4
8
16
32
64
128
256
512

40

Ih^jh[g__ h fZljbpZo b fZkkb\Zo

We_f_glZjgu_ fZl_fZlbq_kdb_ nmgdpbb jZ[hlZxl k fZkkb\Zfb ihwe_f_glgh


LZd
format short g
x = (1:0.1:2)';
logs = [x log10(x)]

kha^Z_llZ[ebpmeh]Zjbnfh\
logs =
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2

0
0.041393
0.079181
0.11394
0.14613
0.17609
0.20412
0.23045
0.25527
0.27875
0.30103

Fgh]hf_jgu_^Zggu_
MATLABbkihevam_lf_lh^hjb_glZpbbklhe[ph\^eyfgh]hf_jguoklZlbklbq_kdbo ^Zgguo DZ`^uc klhe[_p \ gZ[hj_ ^Zgguo ij_^klZ\ey_l i_j_f_ggmx Z
dZ`^ZykljhdZj_amevlZlugZ[ex^_gbcLZdbfh[jZahfwe_f_gl i,j wlhih_
gZ[ex^_gb_jhci_j_f_gghc
<dZq_kl\_ijbf_jZjZkkfhljbfgZ[hj^Zgguoklj_fyi_j_f_ggufb
qZklhlZk_j^_qguokhdjZs_gbc
\_k
qZkumijZ`g_gbcaZg_^_ex
>ey iylb gZ[ex^_gbc j_amevlbjmxsbc fZkkb\ fh`_l \u]ey^_lv ke_^mxsbf
h[jZahf
D =
72
81
69
82
75

134
201
156
148
170

3.2
3.5
7.1
2.4
1.2

I_j\ZykljhdZkh^_j`blqZklhlmk_j^_qguokhdjZs_gbc\_kbqZkumijZ`g_gbc
^eyi_j\h]hiZpb_glZ\lhjZykljhdZkh^_j`blZgZeh]bqgu_^Zggu_^ey\lhjh]h
b l^ <u fh`_l_ ijbf_gblv fgh]b_ nmgdpbb MATLAB ^ey ZgZebaZ ^Zgguo d
wlhfm gZ[hjm bgnhjfZpbb GZijbf_j ^ey lh]h qlh[u ihemqblv kj_^g__ b
kj_^g_d\Z^jZlbqgh_hldehg_gb_^eydZ`^h]hklhe[pZgZ^h
mu = mean(D), sigma = std(D)

41

GZqZeh jZ[hlu k MATLAB


mu =
75.8

161.8

3.48

5.6303

25.499

2.2107

sigma =

Qlh[uihkfhlj_lvkibkhd\k_onmgdpbcMATLAB^eyZgZebaZ^ZgguogZ[_jbl_
help datafun
?keb\Zfgm`ghmagZlvhStatistics Toolbox\\_^bl_
help stats

KdZeyjgh_jZkrbj_gb_

FZljbpu b kdZeyju fh]ml dhf[bgbjh\Zlvky jZaebqgufb imlyfb GZijbf_j


kdZeyj\uqblZ_lkybafZljbpuiml_f\uqblZgbybadZ`^h]hwe_f_glZKj_^g__
agZq_gb_we_f_glh\^eygZr_]hfZ]bq_kdh]hd\Z^jZlZjZ\ghihwlhfm
B = A - 8.5

nhjfbjm_lfZljbpmmdhlhjhckmffu\klhe[pZojZ\gugmex
B =
7.5
-3.5
0.5
-4.5

-5.5
1.5
-2.5
6.5

-6.5
2.5
-1.5
5.5

4.5
-0.5
3.5
-7.5

sum(B)
ans =
0

Bkihevamy kdZeyjgh_ jZkrbj_gb_ MATLAB mdZau\Z_l aZ^Zgguc kdZeyj \k_f


bg^_dkZf\^bZiZahg_GZijbf_j
B(1:2,2:3)=0

h[gmey_lqZklvfZljbpuB
B =
7.5
-3.5
0.5
-4.5

0
0
-2.5
6.5

0
0
-1.5
5.5

Eh]bq_kdZybg^_dkZpby

4.5
-0.5
3.5
-7.5

Eh]bq_kdb_\_dlhjZkha^Zggu_baeh]bq_kdbohi_jZlhjh\bhi_jZlhjh\kjZ\g_gbyfh]ml[ulvbkihevah\Zgu^eykkuedbgZih^fZkkb\uIj_^iheh`bfqlhX
h[udgh\_ggZyfZljbpZbL fZljbpZlh]h`_jZaf_jZghkh^_j`ZsZyeh]bq_kdb_
hi_jZpbbLh]^ZX(L)aZ^Z_lwe_f_gluX\dhlhjuowe_f_gluL g_gme_\u_

42

Ih^jh[g__ h fZljbpZo b fZkkb\Zo


Wlhl \b^ bg^_dkZpbb fh`_l [ulv hkms_kl\e_g aZ h^bg rZ] mdZaZgb_f eh]bq_kdhchi_jZpbblZdhcdZdbg^_dkZpby\ujZ`_gbyImklv\ubf__l_ ke_^mxsbc
gZ[hj^Zgguo
x =
2.1 1.7 1.6 1.5 NaN 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8

NaN wlh f_ldZ^eyg_^hklZxs_]hgZ[ex^_gbydZdgZijbf_jhrb[dZijbhl\_l_gZ\hijhkZgd_lu>eylh]hqlh[um[jZlv^Zggu_keh]bq_kdhcbg^_dkZpb_c bkihevamcl_ finite(x) dhlhjZy y\ey_lky bklbghc ^ey \k_o dhg_qguo qbke_gguoagZq_gbcbeh`vx^eyNaN b Inf.
x = x(finite(x))
x =
2.1 1.7 1.6 1.5 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8

K_cqZkhklZeZkvh^gZgZ[ex^Z_fZy\_ebqbgZaZf_lghhlebqZxsZykyhlhklZevguo  wlh \u[jhk Ihke_^mxsb_ ^_ckl\by mkljZgyxl \u[jhku \ ^Zgghf


kemqZ_ l_ we_f_glu ^ey dhlhjuo kj_^g_d\Z^jZlbqgh_ hldehg_gb_ [he__ q_f \
ljbjZaZmdehgy_lkyhlkj_^g_]h
x = x(abs(x-mean(x)) <= 3*std(x))
x =
2.1 1.7 1.6 1.5 1.9 1.8 1.5 1.8 1.4 2.2 1.6 1.8

< dZq_kl\_ ^jm]h]h ijbf_jZ gZc^_f iheh`_gb_ ijhkluo qbk_e \ fZ]bq_kdhf


d\Z^jZl_ >xj_jZ bkihevamy eh]bq_kdh_ bg^_dkbjh\Zgb_ b kdZeyjgh_ jZkrbj_gb_qlhh[gmeblv\k_g_ijhklu_qbkeZ
A(~isprime(A))=0
A =
0
5
0
0

3
0
0
0

2
11
7
0

13
0
0
0

NmgdpbyILQG

Nmgdpbyfind hij_^_ey_lbg^_dkufZkkb\Zwe_f_glh\kaZ^Zggufbeh]bq_kdbfb
mkeh\byfb < gZb[he__ ijhklhc nhjf_ find \ha\jZsZ_l \_dlhjklhe[_p bg^_dkh\LjZgkihgbjm_f_]h^eyihemq_gby\_dlhjZkljhdbGZijbf_j
k = find(isprime(A))'

\u[bjZ_l iheh`_gby bkihevamy h^ghf_jgh_ bg^_dkbjh\Zgb_ ijhkluo qbk_e


fZ]bq_kdh]hd\Z^jZlZ
k =
2

10

11

13

IhdZ`_fwlbqbkeZdZd\_dlhjkljhdm\ihjy^d_hij_^_e_gghfnmgdpb_c

43

GZqZeh jZ[hlu k MATLAB

A(k)
ans =
5

11

13

?keb \u bkihevam_l_ k dZd bg^_dk k e_\hc klhjhgu \ hi_jZlhj_ ijbk\Zb\Zgby


lhfZljbqgZykljmdlmjZkhojZgy_lky
A(k) = NaN
A =
16
NaN
9
4

NaN
10
6
15

NaN
NaN
NaN
14

NaN
8
12
1

44

MijZ\e_gb_ ihlhdZfb

MijZ\e_gb_ihlhdZfb
MATLAB bf__liylv\b^h\kljmdlmjmijZ\e_gbyihlhdZfb

hi_jZlhjif
hi_jZlhjswitch
pbdeufor
pbdeuwhile
hi_jZlhjbreak

if

Hi_jZlhjif \uqbkey_leh]bq_kdh_\ujZ`_gb_b\uihegy_l]jmiimhi_jZlhjh\
_keb \ujZ`_gb_ bklbggh G_h[yaZl_evgu_ dexq_\u_ keh\Z elseif b else kem`Zl
^ey \uiheg_gby Zevl_jgZlb\guo ]jmii hi_jZlhjh\ Dexq_\h_ keh\h end dhlhjh_kh]eZkm_lkykifaZ\_jrZ_lihke_^gxx ]jmiim hi_jZlhjh\ LZdbf h[jZahf
\k_]jmiiu hi_jZlhjh\ aZdexq_gu f_`^m q_luj_o dexq_\uo keh\ [_a bkihevah\Zgbynb]mjguobebh[uqguokdh[hd
:e]hjblf0$7/$%^eykha^ZgbyfZ]bq_kdh]hd\Z^jZlZihjy^dZQ\dexqZ_lljb
jZaguokemqZyQg_q_lgh_Qq_lgh_ghg_^_eblkygZbQq_lgh_b^_eblkygZ
Gb`_ijb\_^_gijbf_jkhhl\_lkl\mxs_]hdh^Z
if rem(n,2) ~= 0
M = odd_magic(n)
elseif rem(n,4) ~= 0
M = single_even_magic(n)
else
M = double_even_magic(n)
end
< wlhf ijbf_j_ ljb kemqZy y\eyxlky \aZbfgh bkdexqZxsbfb gh _keb [u wlh
[uehg_lZdlh\uihegyehkv[ui_j\h_bklbggh_mkeh\b_
<Z`gh ihgylv dZd hi_jZlhj hlghr_gby b hi_jZlhj if jZ[hlZxl k fZljbpZfb
Dh]^Z \u ohlbl_ magZlv jZ\gu eb ^\_ i_j_f_ggu_ gm`gh bkihevah\Zlv ke_^mxsmxdhgkljmdpbx
if A == B, . . .
WlhijZ\bevgucdh^0$7/$%bhghkms_kl\ey_llhqlh\uh`b^Z_l__keb$b
%y\eyxlkykdZeyjZfbGhdh]^Z$b%fZljbpu$ %g_jZ[hlZ_l_kebhgb
g_jZ\guJZ\_gkl\hfZljbphagZqZ_lihwe_f_glgh_jZ\_gkl\hNZdlbq_kdb_keb$b%bf_xljZaebqgu_jZaf_ju0$7/$%\u^Zklhrb[dm
IjZ\bevguc kihkh[ hij_^_e_gby jZ\_gkl\Z f_`^m ^\mfy i_j_f_ggufb  wlh
bkihevah\Zgb_nmgdpbbisequal
if isequal(A,B), . . .

45

GZqZeh jZ[hlu k MATLAB

>Ze__ijb\_^_g^jm]hcijbf_jdhlhjucbkke_^m_lwlhl\hijhk?kebAbB y\eyxlky kdZeyjZfb lh gb`_ijb\_^_ggZy ijh]jZffZ gbdh]^Z g_ ijb\_^_l d g_h`b^Zgghc kblmZpbb Gh ^ey [hevrbgkl\Z iZj bkihevam_fuo fZljbp \dexqZy
gZrb fZ]bq_kdb_ d\Z^jZlu k i_j_klZ\e_ggufb klhe[pZfb gb h^gh ba mkeh\bc
A > B, A < B beb A ==B g_ y\ey_lky bklbgguf ^ey \k_o we_f_glh\ b ihwlhfm
\uihegy_lkykemqZcelse.
if A > B
' greater '
elseif A < B
' less'
elseif A == B
' equal '
else
error ( ' G_ij_^\b^_ggZykblmZpby ' )
end
G_dhlhju_nmgdpbbfh]ml[ulvihe_agu^eyfZljbqgh]hkjZ\g_gbyijbbkihevah\Zgbbkhi_jZlhjhfifgZijbf_j
isequal
isempty
all
any

VZLWFKbFDVH

Hi_jZlhjswitch \uihegy_l]jmiimhi_jZlhjh\[ZabjmykvgZagZq_gbbi_j_f_gghc beb \ujZ`_gby Dexq_\u_ keh\Z case b otherwise jZa^_eyxl wlb ]jmiiu
<uihegy_lky lhevdh i_j\uc khhl\_lkl\mxsbc kemqZc G_h[oh^bfh bkihevah\Zlvend ^eykh]eZkh\Zgbykswitch.
Eh]bdZ Ze]hjblfZ fZ]bq_kdbo d\Z^jZlh\ fh`_l [ulv hibkZgZ gZ ke_^mxs_f
ijbf_j_
switch (rem(n,4)==0) + (rem(n,2)==0)
case 0
M = odd_magic(n)
case 1
M = single_even_magic(n)
case 2
M = double_even_magic(n)
otherwise
error( ' Wlhg_\hafh`gh' )
end
AZf_qZgb_ ^ey ijh]jZffbklh\ Kb < hlebqb_ hl yaudZ Kb hi_jZlhj switch \
0$7/$% g_ ijh\Zeb\Z_lky ?keb i_j\uc kemqZc y\ey_lky bklbgguf ^jm]b_

46

MijZ\e_gb_ ihlhdZfb
kemqZb g_ \uihegyxlky LZdbf h[jZahf g_l g_h[oh^bfhklb \ bkihevah\Zgbb
hi_jZlhjZbreak.

for

Pbdefor ih\lhjy_l]jmiimhi_jZlhjh\nbdkbjh\Zggh_ij_^hij_^_e_ggh_qbkeh
jZaDexq_\h_keh\hend hq_jqb\Z_ll_ehpbdeZ
for n = 3:32
r(n) = rank(magic(n));
end
r
LhqdZ k aZiylhc ihke_ \ujZ`_gby \ l_e_ pbdeZ ij_^hl\jZsZ_l ih\lhj_gby \u\h^Zj_amevlZlh\gZwdjZgZr ihke_pbdeZ\u\h^blhdhgqZl_evgucj_amevlZl
Ohjhrbfklbe_fy\eyxlkyhlklmiuijbbkihevah\Zgbbpbdeh\^eyemqr_cqblZ_fhklbhkh[_gghdh]^Zhgb\eh`_ggu_
for i = 1:m
for j = 1:n
H(i,j) = 1/(i+j);
end
end

while

Pbde while ih\lhjy_l ]jmiim hi_jZlhjh\ hij_^_e_ggh_ qbkeh jZa ihdZ \uihegy_lkyeh]bq_kdh_ mkeh\b_Dexq_\h_keh\hend hq_jqb\Z_lbkihevam_fu_hi_jZlhju
Gb`_ ijb\_^_gZ ihegZy ijh]jZffZ beexkljbjmxsZy jZ[hlm hi_jZlhjh\
while, if, else benddhlhjZybkihevam_lf_lh^^_e_gbyhlj_adZihiheZf^eygZoh`^_gbygme_cihebghfZ
a = 0; fa = -Inf;
b = 3; fb = Inf;
while b-a > eps*b
x = (a+b)/2;
fx = x^3-2*x-5;
if sign(fx) == sign(fa)
a = x; fa = fx;
else
b = x; fb = fx;
end
end
x

J_amevlZlhf[m^_ldhj_gvihebghfZx3-2x-5
x =
2.09455148154233

47

GZqZeh jZ[hlu k MATLAB


>ey hi_jZlhjZ while \_jgu l_ `_ ij_^hkl_j_`_gby hlghkbl_evgh fZljbqgh]h
kjZ\g_gbyqlhb^eyhi_jZlhjZif, dhlhju_h[km`^ZebkvjZg__

break

Hi_jZlhj break iha\hey_l ^hkjhqgh \uoh^blv ba pbdeh\ for beb while <h \eh`_gguopbdeZobreak hkms_kl\ey_l\uoh^lhevdhbakZfh]h\gmlj_gg_]hpbdeZ
Gb`_ij_^klZ\e_gmemqr_gguc\ZjbZglij_^u^ms_]hijbf_jZIhq_fmbkihevah\Zgb_hi_jZlhjZbreak \^ZgghfkemqZ_\u]h^gh"
a = 0; fa = -Inf;
b = 3; fb = Inf;
while b-a > eps*b
x = (a+b)/2;
fx = x^3-2*x-5;
if fx ==0
break
elseif sign(fx) == sign(fa)
a = x; fa = fx;
else
b = x; fb = fx;
end
end
x

48

>jm]b_ kljmdlmju ^Zgguo

>jm]b_kljmdlmju^Zgguo
Wlhl jZa^_e ihagZdhfbl \Zk k g_dhlhjufb kljmdlmjZfb ^Zgguo \ MATLAB,
\dexqZy

Fgh]hf_jgu_fZkkb\u
FZkkb\uyq__d
Kbf\heubl_dkl
Kljmdlmju

Fgh]hf_jgu_fZkkb\u

Fgh]hf_jgu_fZkkb\u\MATLABwlhfZkkb\u[he__q_fk^\mfybg^_dkZfb
Hgb fh]ml [ulv kha^Zgu \uah\hf nmgdpbc zeros, ones, rand beb randn k [he__
q_f^\mfyZj]mf_glZfbGZijbf_j
R = randn(3,4,5)
kha^Z_l oo fZkkb\ k     ghjfZevgh jZkij_^_e_ggufb kemqZcgufb
we_f_glZfb
Lj_of_jgu_ fZkkb\u fh]ml ij_^klZ\eylv lj_of_jgu_ nbabq_kdb_ ^Zggu_ gZijbf_jl_fi_jZlmjm\dhfgZl_J_amevlZlij_^klZ\ey_lkyihke_^h\Zl_evghklvx
fZljbp A(k) beb aZ\bkys_c hl \j_f_gb fZljbp_c A(t) < wlbo kemqZyo we_f_gl
(i,j NhcfZljbpubebtkhch[hagZqZ_lkyA(i,j,k).
<_jkbbfZ]bq_kdh]hd\Z^jZlZMATLABb>xj_jZhlebqZxlkyi_j_klZ\e_ggufb
klhe[pZfbHi_jZlhj
p = perms(1:4);

]_g_jbjm_l i_j_klZgh\dbqbk_ehl^hN-Zyi_j_klZgh\dZwlh\_dlhj
kljhdZp(k,:)Lh]^Z
A = magic(4);
M = zeros(4,4,24);
for k = 1:24
M(:,:,k) = A(:,p(k,:));
end

ojZgblihke_^h\Zl_evghklv fZ]bq_kdbo d\Z^jZlh\ \ lj_of_jghf fZkkb\_ M.


JZaf_jM jZ\_g
size(M)
ans =
4

24

HdZau\Z_lkyqlhZyfZljbpZ\wlhcihke_^h\Zl_evghklbfZljbpZ>xj_jZ
M(:,:,22)

49

GZqZeh jZ[hlu k MATLAB


ans =
16
5
9
4

3
10
6
15

2
11
7
14

13
8
12
1

Nmgdpby
sum(M,d)
\uqbkey_lkmffubaf_gyybg^_dkdLZd
sum(M,1)

- wlhoofZkkb\kh^_j`Zsbcdhibb\_dlhjZkljhdb
34

34

34

34

:
sum(M,2)

y\ey_lkyfZkkb\hfookh^_j`Zsbfdhibb\_dlhjZklhe[pZ
34
34
34
34

BgZdhg_p
S = sum(M,3)

^h[Z\ey_l  fZljbpu \ ihke_^h\Zl_evghklv J_amevlZl bf__l jZaf_jghklv


ooihwlhfmhg\u]ey^bldZdfZkkb\o
S =
204
204
204
204

204
204
204
204

204
204
204
204

204
204
204
204

FZkkb\uyq__d

FZkkb\uyq__d\MATLAB wlhfgh]hf_jgu_fZkkb\uwe_f_gludhlhjuoy\eyxlky dhibyfb ^jm]bo fZkkb\h\ FZkkb\ yq__d imkluo fZljbp fh`_l [ulv
kha^Zgkbkihevah\Zgb_fnmgdpbbcellGh[he__qZklhhgbkha^Zxlkyiml_faZdexq_gby jZaghh[jZaghc ]jmiiu h[t_dlh\ \ djm]eu_ kdh[db Djm]eu_ kdh[db
lZd`_bkihevamxlkykbg^_dkZfb^eyihemq_gby^hklmiZdkh^_j`ZgbxjZaebqguoyq__dGZijbf_j
C = { A sum(A) prod(prod(A)) }

^Z_l fZkkb\ yq__d o Wlb ljb de_ldb kh^_j`Zl fZ]bq_kdbc d\Z^jZl \_dlhj
kljhdmkkmffZfb\klhe[pZobijhba\_^_gb__]hwe_f_glh\?kebhlh[jZablvC
gZwdjZg_lh\um\b^bl_ke_^mxs__
50

>jm]b_ kljmdlmju ^Zgguo

C =
[4x4 double]

[1x4 double]

[2.0923e+013]

Wlhijhbkoh^blihlhfmqlhi_j\u_^\_yq_cdbkebrdhf[hevrb_^ey\u\h^Z\
wlhf h]jZgbq_gghf ijhkljZgkl\_ Z lj_lvy yq_cdZ kh^_j`bl lhevdh hl^_evgh_
qbkehb^eyg_]h_klvg_h[oh^bfZyh[eZklv\u\h^Z
Hq_gv\Z`ghaZihfgblv^\Z\Z`guofhf_glZI_j\h_^eyihemq_gby kh^_j`Zgbyh^ghcyq_cdbbkihevamcl_bg^_dk\djm]euokdh[dZoGZijbf_jC{1} \ha\jZsZ_lfZ]bq_kdbcd\Z^jZlZC{3} 16!<lhjh_fZkkb\uyq__dkh^_j`Zldhibb^jm]bofZkkb\h\ Zg_bo mdZaZl_eb Ihwlhfm _keb \u \ihke_^kl\bb baf_gbl_fZljbpmAkC gbq_]hg_ijhbahc^_l
Lj_of_jgu_fZkkb\ufh]ml[ulvbkihevah\Zgu^eyojZg_gbyihke_^h\Zl_evghklbfZljbph^bgZdh\h]hjZaf_jZ:fZkkb\uyq__dfh]mlijbf_gylvky^eyojZg_gbyihke_^h\Zl_evghklbfZljbpjZaebqgh]hjZaf_jZGZijbf_j
M = cells(8,1);
for n =1:8
M{n} = magic(n);
end
M

kha^Z_l ihke_^h\Zl_evghklv fZ]bq_kdbo d\Z^jZlh\ \ hij_^_e_gghc ihke_^h\Zl_evghklb


M =
[
[2x2
[3x3
[4x4
[5x5
[6x6
[7x7
[8x8

1]
double]
double]
double]
double]
double]
double]
double]

<ufh`_l_gZclbgZr_]hklZjh]h^jm]ZijhklhgZ[jZ\
M{4}

Kbf\heubl_dkl

<\_^bl_l_dkl\MATLABbkihevamyh^bgZjgu_dZ\uqdbGZijbf_j
s = 'Hello'

J_amevlZlhfg_[m^_ly\eylvkyqbke_ggZyfZljbpZbebfZkkb\dhlhju_fujZkkfZljb\ZebjZg__Wlh[m^_lkbf\hevgucfZkkb\o
<gmlj_gg_kbf\heuojZgylkydZdqbkeZghg_\nhjfZl_kieZ\Zxs_clhqdhc
Hi_jZlhj
a = double(s)

51

GZqZeh jZ[hlu k MATLAB


ij_h[jZam_lfZkkb\kbf\heh\\qbkeh\mxfZljbpmkh^_j`Zsmxij_^klZ\e_gb_
kieZ\Zxs_clhqdhcASCII dh^Z^eydZ`^h]hkbf\heZJ_amevlZlhf[m^_l
a =
72

101

108

108

111

:\ujZ`_gb_
s = char(a)
hkms_kl\ey_lh[jZlgh_ij_\jZs_gb_
Ij_h[jZah\Zgb_ qbk_e \ kbf\heu ^_eZ_l \hafh`guf ijbkmlkl\b_ jZaebqguo
rjbnlh\ gZ \Zr_f dhfivxl_j_ I_qZlZ_fu_ kbf\heu \ ASCII dh^_ ij_^klZ\eyxlky p_eufb qbkeZfb hl  ^h  P_eu_ qbkeZ f_gvr_  ij_^klZ\eyxl
g_i_qZlZ_fu_ kbf\heu  Wlb qbkeZ jZkiheh`_gu \ khhl\_lkl\mxs_f fZkkb\_
o
F = reshape(32:127,16,6)';

I_qZlZ_fu_kbf\heu\jZkrbj_gghfASCII gZ[hj_ij_^klZ\e_guF+128Dh]^Z
wlb qbkeZ bgl_jij_lbjmxlky dZd kbf\heu j_amevlZl aZ\bkbl hl lh]h dZdhc
rjbnl\^Zggucfhf_glbkihevam_lkyGZ[_jbl_ke_^mxs__
char(F)
char(F+128)

bihlhf ihbaf_gycl_ rjbnlu \ dhfZg^ghf hdg_ MATLAB Gb`_ ij_^klZ\e_g


h^bgbaijbf_jh\lh]hqlhfh`_lihemqblvky
ans =
!"#$%&'()*+,-./
0123456789:;<=>?
@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_
`abcdefghijklmno
pqrstuvwxyz{|}~
ans =

83,/2

1z}0~

:;<=>?@ABCDEFGHI
JKLMNOPQRSTUVWXY
Z[\]^_`abcdefghi
jklmnopqrstuvwxy
Kh_^bg_gb_ d\Z^jZlgufb kdh[dZfb dhgdZl_gbjm_l l_dklh\u_ i_j_f_ggu_ \f_kl_\[hevrmxkljhdm
h = [s, ' world']

h[t_^bgy_lkljhdbih]hjbahglZebb^Z_l
h =
Hello world

52

>jm]b_ kljmdlmju ^Zgguo


Hi_jZlhj
v = [s; 'world']

h[t_^bgy_lkljhdb\_jlbdZevqlhijb\h^bld
v =
Hello
world

AZf_lvl_qlhi_j_^kbf\hehfw \i_j_f_gghchg_h[oh^bfhihklZ\blvijh[_e
Zh[Zkeh\Z\i_j_f_gghcv^he`gu[ulvjZ\ghc^ebguJ_amevlbjmxsb_fZkkb\uy\eyxlkykgh\ZfZkkb\Zfbkbf\heh\i_j_f_ggZyh 1o11Zi_j_f_ggZyv
o
?klv ^\Z kihkh[Z qlh[u mijZ\eylv ]jmiihc l_dklZ kh^_j`Zs_c kljhdb jZaghc
^ebgu nhjfbjh\Zlv aZiheg_gguc fZkkb\ kbf\heh\ beb de_lhqguc fZkkb\
kljhd Nmgdpby char ijbgbfZ_l ex[h_ qbkeh kljhd ^h[Z\ey_l ijh[_eu \ dZ`^mx kljhdm qlh[u \k_ hgb [ueb jZ\ghc ^ebgu b nhjfbjm_l fZkkb\ kljhd k
kbf\hevghckljhdhc\dZ`^hckljhd_GZijbf_j
S = char('A' , 'rolling' , 'stone' , 'gathers' , 'momentum.')

\u^Z_l
S =
A
rolling
stone
gathers
momentum.

Ijbkmlkl\m_l^hklZlhqgh_dhebq_kl\hijh[_eh\\i_j\uoq_luj_okljhdZoqlh[u\k_kljhdb[uebjZ\ghc^ebgu>jm]hckihkh[wlhkhojZgblvl_dkl\fZkkb\_yq__d
C = {'A' ; 'rolling' ; 'stone' ; 'gathers' ; 'momentum.'

[m^_lfZkkb\yq__do
C =
'A'
'rolling'
'stone'
'gathers'
'momentum.'

<u fh`_l_ ij_h[jZah\Zlv aZiheg_gguc kbf\hevguc fZkkb\ \ fZkkb\ yq__d ba


kljhdke_^mxsbfh[jZahf
C = cellstr(S)
H[jZlgh_ij_h[jZah\Zgb_
S = char(C)
53

GZqZeh jZ[hlu k MATLAB

Kljmdlmju

Kljmdlmjuwlhfgh]hf_jgu_fZkkb\uMATLABkwe_f_glZfb^hklmiddhlhjufhkms_kl\ey_lkyq_j_aiheyGZijbf_j
S.name = 'Ed Plum';
S.score = 83;
S.grade = 'B+';

kha^Z_lkdZeyjgmxkljmdlmjmklj_fyiheyfb
S =
name: 'Ed Plum'
score: 83
grade: 'B+'

DZdb\kz\MATLABkljmdlmjuy\eyxlkyfZkkb\Zfbihwlhfm\u fh`_l_^h[Z\eylv\gbowe_f_glu<wlhfkemqZ_dZ`^ucwe_f_glfZkkb\Zy\ey_lkykljmdlmjhckg_kdhevdbfbiheyfbIheyfh]ml^h[Z\eylvkyeb[hihh^ghfm
S(2).name = 'Toni Miller';
S(2).score = 91;
S(2).grade = 'A-' ;

eb[hiheghklvx
S(3) = struct( 'name', 'Jerry Garcia', . . .
'score', 70, 'grade', 'C' )

K_cqZk kljmdlmjZ klZeZ ^hklZlhqghc [hevrhc ihwlhfm i_qZlZ_lky ebrv _z


k\h^dZ
S =
1x3 struct array with fields:
name
score
grade

?klvg_kdhevdhkihkh[h\i_j_ljZgkebjh\Zlv jZaebqgu_ ihey \ ^jm]b_ fZkkb\u


MATLAB<k_hgb[ZabjmxlkygZaZibkbkibkdZjZa^_e_ggh]haZiylufb?keb
\ugZ[_j_l_
S.score
wlh[m^_ljZ\ghkbevghke_^mxs_fm
S(1).score, S(2).score, S(3).score
Wlhb_klvkibkhdjZa^_e_ggucaZiylufbIjZ\^Z[_a^jm]hcimgdlmZpbbhgg_
hq_gv ihe_a_g < wlhc kljhd_ ijhbkoh^bl ijbk\Zb\Zgb_ lj_o kq_lh\ score  i_j_f_gghcihmfheqZgbxans b\u\h^j_amevlZlh\dZ`^h]hijbk\Zb\ZgbyGh_keb\u\dexqZ_l_\ujZ`_gb_dd\Z^jZlgu_kdh[db

54

>jm]b_ kljmdlmju ^Zgguo


[S.score]
lh`_kZfh_qlh
[S(1).score, S(2).score, S(3).score]

j_amevlZlhf[m^_lqbke_gguc\_dlhjkljhdZkh^_j`Zsbc\k_kq_lZ score)
ans =
83

91

70

:gZeh]bqgh
S.name
ijhklhijbk\Zb\Z_lbf_gZ names ihh^ghfmi_j_f_gghcansH^gZdhaZdexq_gb_wlh]h\ujZ`_gby\djm]eu_kdh[db
{S.name}

kha^Z_lfZkkb\yq__dokh^_j`Zsbcljbbf_gb names)
ans =
'Ed Plum'

'Toni Miller'

'Jerry Garcia'

Bnmgdpby
char(S.name)

klj_fyZj]mf_glZfbkha^Z_lfZkkb\kbf\heh\baiheyname.
ans =
Ed Plum
Toni Miller
Jerry Garcia

55

GZqZeh jZ[hlu k MATLAB

Kp_gZjbbbnmgdpbb
MATLAB  wlh fhsguc yaud ijh]jZffbjh\Zgby lZd`_ dZd b bgl_jZdlb\gZy
\uqbkebl_evgZykj_^ZNZceudhlhju_kh^_j`Zldh^gZyaud_MATLAB, gZau\ZxlkyFnZceZfb<ukha^Z_l_FnZceubkihevamyl_dklh\hcj_^ZdlhjZaZl_fbkihevam_l_bodZdex[mxnmgdpbxbebdhfZg^mMATLAB.
Kms_kl\m_l^\Z\b^ZFnZceh\
Kp_gZjbbdhlhju_ g_ bf_xl \oh^guob \uoh^guo Zj]mf_glh\ Hgb hi_jbjmxlk^ZggufbbajZ[hq_]hijhkljZgkl\Z
Nmgdpbbdhlhju_ bf_xl \oh^gu_ b \uoh^gu_ Zj]mf_glu Hgb hi_jbjmxlkehdZevgufbi_j_f_ggufb
?keb\uy\ey_l_kvgh\bqdhf\MATLABijh]jZffbjh\Zgbbijhklhkha^Z\Zcl_
FnZceudhlhju_\uohlbl_bkihevah\Zlv\l_dms_c^bj_dlhjbb?keb`_\u
jZajZ[hlZebfgh]hFnZceh\\uaZohlbl_k]jmiibjh\Zlvbo\hl^_evgu_^bj_dlhjbbbi_jkhgZevgu_iZd_luijh]jZff toolboxes >eywlh]h\Zfg_h[oh^bfh
^h[Z\blvbofZjrjmlihbkdZMATLAB.
?keb \u ih\lhjy_l_ bfy nmgdpbb lh MATLAB \uau\Zxl lhevdh lm dhlhjZy
\klj_qZ_lkyi_j\hc
Qlh[u m\b^_lv kh^_j`Zgb_ FnZceZ gZijbf_j myfunction.m g_h[oh^bfh gZ[jZlv
type myfunction

Kp_gZjbb

Dh^Z \u \uau\Z_l_ kp_gZjbc MATLAB ijhklh \uau\Z_l dhfZg^u kh^_j`Zsb_ky\nZce_Kp_gZjbbfh]mlhi_jbjh\Zlvkms_kl\mxsbfb^Zggufb\jZ[hq_fijhkljZgkl\_bebhgbfh]ml kZfbkha^Z\Zlvwlb^Zggu_Ohlykp_gZjbbg_
\ha\jZsZxlagZq_gbc\k_i_j_f_ggu_dhlhju_hgbkha^ZxlhklZxlky\jZ[hq_f ijhkljZgkl\_ ^ey bkihevah\Zgby \ ihke_^mxsbo \uqbke_gbyo < ^h[Z\e_gb_dkdZaZgghfmkp_gZjbbfh]mlhkms_kl\eylv]jZnbq_kdbc\u\h^bkihevamy
lZdb_nmgdpbbdZdplot.
<dZq_kl\_ijbf_jZkha^Z^bfnZcemagicrank.mdhlhjuckh^_j`blwlbdhfZg^uMATLAB:
% Investigate the rank of magic squares
r = zeros(1,32);
for n = 3:32
r(n) = rank(magic(n));
end
r
bar(r)

56

Kp_gZjbb b nmgdpbb

























<\h^kljhdb
magicrank.m
ih\e_q_laZkh[hcbkiheg_gb_dhfZg^\uqbke_gb_jZg]Zi_j\uofZ]bq_kdbo
d\Z^jZlh\ b hlh[jZ`_gby klhe[bdh\hc ^bZ]jZffu j_amevlZlh\ Ihke_ ihegh]h
\uiheg_gbynZceZi_j_f_ggu_nbrhklZxlky\jZ[hq_fijhkljZgkl\_

Nmgdpbb

Nmgdpbb  wlh FnZceu dhlhju_ fh]ml bf_lv \oh^gu_ b \uoh^gu_ \ha\jZsZlvBfyFnZceZbnmgdpbb^he`gh[ulvh^gbfbl_f`_NmgdpbbjZ[hlZxlki_j_f_ggufb\ij_^_eZobokh[kl\_ggh]hjZ[hq_]hijhkljZgkl\Zhl^_e_ggh]h hl jZ[hq_]h ijhkljZgkl\Z k dhlhjuf \u hi_jbjm_l_ \ dhfZg^ghc kljhd_
MATLAB.
Ohjhrbfijbf_jhfy\ey_lkynmgdpbbrankFnZcerank.m gZoh^blky\^bj_dlhjbb
toolbox/matlab/matfun
<ufh`_l_ijhkfhlj_lv_]hkh^_j`Zgb_\\_^y
type rank
function r = rank(A,tol)
%RANK
Matrix rank.
%
RANK(A) provides an estimate of the number of linearly
%
independent rows or columns of a matrix A.
%
RANK(A,tol) is the number of singular values of A
%
that are larger than tol.
%
RANK(A) uses the default tol = max(size(A)) * norm(A) * eps.
%
%

Copyright (c) 1984-98 by The MathWorks, Inc.


$Revision: 5.7 $ $Date: 1997/11/21 23:38:49 $

57

GZqZeh jZ[hlu k MATLAB


s = svd(A);
if nargin==1
tol = max(size(A)') * max(s) * eps;
end
r = sum(s > tol);

I_j\ZykljhdZnmgdpbbFnZceZgZqbgZ_lkykhkeh\Zfunction. A^_kvijhbkoh^bl
aZ^Zgb_ bf_gb kh kibkdhf Zj]mf_glh\ < gZr_f kemqZ_ bkihevam_lky ^h ^\mo
\oh^guoZj]mf_glh\bh^bg\uoh^ghc
Ke_^mxsb_g_kdhevdhkljhd^hi_j\hcimklhcbeb\uihegy_fhckljhdby\eyxlky dhff_glZjbyfb dhlhju_ ij_^hklZ\eyxl kijZ\hqgmx bgnhjfZpbx Wlb
kljhdb[m^ml\u\_^_gugZwdjZg_keb\ugZ[_j_l_
help rank
I_j\Zy kljhdZkijZ\hqgh]h l_dklZ  wlh H1 kljhdZ dhlhjmx MATLAB hlh[jZ`Z_lijbbkihevah\ZgbbdhfZg^ulookfor bebijbaZijhk_ help ih\k_c^bj_dlhjbb
HklZevgh_kh^_j`Zgb_nZceZkhklZ\ey_lbkihegy_fucdh^MATLABI_j_f_ggZysij_^klZ\e_ggZy\l_e_nmgdpbblZd`_dZdbi_j_f_ggu_\i_j\hckljhd_
r, Ab tol\k_y\eyxlkyehdZevgufbHgbhl^_e_guhl^jm]boi_j_f_gguo\jZ[hq_fijhkljZgkl\_MATLAB.
Wlhl ijbf_j ihdZau\Z_l \Z`gmx hkh[_gghklv nmgdpbc MATLAB dhlhjZy
h[uqgh g_ \kl_qZ_lky \ ^jm]bo yaudZo ijh]jZfbjh\Zgby  i_j_f_ggh_ qbkeh
Zj]mf_glh\ Nmgdpby rank fh`_l [ulv bkihevah\ZgZ \ g_kdhevdbo jZaebqguo
nhjfZo
rank(A)
r = rank(A)
r = rank(A, 1.e-6)
Fgh]b_nmgdpbbMATLABjZ[hlZxllZdbfh[jZahf?kebg_l\uoh^gh]hZj]mf_glZ lh j_amevlZl khojZgy_lky \ i_j_f_gghc ans ?keb g_l \lhjh]h \oh^gh]h
Zj]mf_glZ lh nmgdpby \uqbkey_l agZq_gb_ ih mfheqZgbx <gmljb l_eZ nmgdpbbijbkmlkl\mxl^\_\_ebqbgunargin bnargoutdhlhju_\u^Zxlqbkeh\oh^guo b \uoh^guo Zj]mf_glh\ ijb dZ`^hf bkihevah\Zgbb nmgdpbb Nmgdpby
rank bkihevam_li_j_f_ggmxnargin ghg_bkihevam_lnargout.

=eh[Zevgu_i_j_f_ggu_

?keb \u ohlbl_ qlh[u [he__ h^ghc nmgdpbb bkihevah\Zeb hl^_evgmx dhibx
i_j_f_gghcijhklhh[ty\bl__zdZdglobal \h\k_onmgdpbyo>_eZcl_lh`_kZfh_\dhfZg^ghckljhd__keb\uohlbl_qlh[uhkgh\gh_jZ[hq__ijhkljZgkl\h
ihemqbeh^hklmidi_j_f_gghcHij_^_e_gb_global ^he`gh [ulv ^h kZfhc i_j_f_gghc bkihevam_fhc \ nmgdpbb Ohly wlh g_ h[yaZl_evgh bkihevah\Zgb_
[hevrbo[md\^eybf_gb]eh[Zevghci_j_f_gghcihfh`_lhlebqblvbohl^jm]boi_j_f_gguoGZijbf_jkha^Z^bfFnZcefalling.m:

58

Kp_gZjbb b nmgdpbb
function h = falling(t)
global GRAVITY
h = *GRAVITY*t.^2;
AZl_f\\_^_fke_^mxsb_kljhdb
global GRAVITY
GRAVITY = 32;
y = falling((0: .1: 5)' );
LZdbf h[jZahf kljhdb hij_^_e_gby GRAVITY \ dhfZg^ghc kljhd_ ^_eZxl _z
^hklmighc \gmljb nmgdpbb <u fh`_l_ ihke_ baf_gblv GRAVITY b ihemqblv
gh\h_j_r_gb_g_j_^ZdlbjmydZdb_eb[hnZceu

DhfZg^ghnmgdpbhgZevgZy^\hckl\_gghklv
Ijbf_judhfZg^MATLABwlh
load
help
Fgh]b_ dhfZg^u bf_xl mijZ\eyxsbc iZjZf_lj dhlhjuc hij_^_ey_l ihke_^mxs__^_ckl\b_
load August17.dat
help magic
type rank
>jm]hcf_lh^bkihevah\ZgbydhfZg^guoiZjZf_ljh\ wlh kha^Zgb_ kljhdb Zj]mf_glh\nmgdpbc
load( 'August17.dat' )
help( 'magic' )
type( 'rank' )
Wlhb_klvdhfZg^ghnmgdpbhgZevgZy^\hckl\_gghklvEx[ZydhfZg^ZlbiZ
command argument
lZd`_fh`_l[ulvi_j_ibkZgZ\nmgdpbhgZevghcnhjf_
command( 'argument' )
Ij_bfms_kl\h nmgdpbhgZevgh]h ih^oh^Z ijhy\ey_lky dh]^Z kljhdZ Zj]mf_glZ
kha^Z_lkybahl^_evguoqZkl_cKe_^mxsbcijbf_jh[jZ[Zlu\Z_lfgh]hqbke_ggu_ nZceu k ^Zggufb August1.dat, August2.dat b l^ Hg bkihevam_l nmgdpbx
int2strdhlhjZyij_h[jZam_lp_eu_qbkeZ\kljhdmkbf\heh\^eykha^Zgbybf_gb
nZceZ

59

GZqZeh jZ[hlu k MATLAB

for d = 1:31
s = [ 'August' int2str(n) '.dat']
load(s)
% H[jZ[hldZkh^_j`Zgbyd-]hnZceZ
end

NmgdpbyHYDO

Nmgdpby eval jZ[hlZ_l k l_dklh\ufb i_j_f_ggufb ^ey \uqbke_gby b j_ZebaZpbbl_dklh\uokljhd


eval(s)
bkihevam_lbgl_jij_lZlhjMATLAB^ey\uqbke_gbyb\uiheg_gby\ujZ`_gby,
kh^_j`Zs_]hky\l_dklh\hckljhd_s.
Ijbf_jbaij_^u^ms_]hjZa^_eZfh`_l[ulvlZd`_j_Zebah\Zgke_^mxsbfh[jZahf ohlywlh[m^_lf_g__wnn_dlb\ghldbkihevam_lkyihegucbgl_jij_lZlhjZg_\uah\nmgdpbb 
for d = 1:31
s = [ 'load August' int2char(n) '.dat' ]
eval(s)
% H[jZ[hldZkh^_j`Zgbyd-]hnZceZ
end

<_dlhjbaZpby

Qlh[u^h[blvkyfZdkbfZevghckdhjhklb\g_MATLABhq_gv\Z`gh\_dlhjbah\u\Zlv Ze]hjblf \ FnZceZo LZf ]^_ ^jm]b_ yaudb ijh]jZffbjh\Zgby fh]ml


bkihevah\Zlvpbdeufor bebdo, MATLABfh`_lijbf_gylv\_dlhjgu_bebfZljbqgu_hi_jZpbbIjhklufijbf_jhfy\ey_lkykha^Zgb_lZ[ebpueh]Zjbnfh\
x=0
for k = 1:1001
y(k) = log10(x);
x = x + .01;
end
(Hiulgu_ ihevah\Zl_eb MATLAB ex[yl ]h\hjblv @bagv kebrdhf dhjhldZ
qlh[uljZlblv\j_fygZaZibkvpbdeh\)
:\_dlhjbah\ZggZy\_jkbywlh]hdh^Z\u]ey^blke_^mxsbfh[jZahf
x = 0: .10:10;
y = log10(x);
>ey[he__keh`guoijh]jZff\hafh`ghklb\_dlhjbaZpbbg_lZdhq_\b^guH^gZdh dh]^Z \Z`gZ kdhjhklv \u ^he`gu \k_]^Z bkdZlv kihkh[u \_dlhjbaZpbb
\Zr_]hZe]hjblfZ

60

Kp_gZjbb b nmgdpbb

Ij_^\Zjbl_evgh_\u^_e_gb_

?keb\ug_fh`_l_\_dlhjbah\ZlvqZklvdh^Z\ufh`_l_aZklZ\blv\Zrpbdefor
jZ[hlZlv[uklj__>eywlh]hgm`ghij_^\Zjbl_evgh\u^_eblv\_dlhjZbebfZkkb\u\dhlhjuo[m^mlojZgblvky\uoh^gu_j_amevlZluGZijbf_jke_^mxsbc
dh^bkihevam_lnmgdpbyzeros ^eyij_^\Zjbl_evgh]h\u^_e_gby\_dlhjZkha^Z\Z_fh]h\pbde_forWlhiha\hey_lpbdemfor jZ[hlZlvaZf_lgh[uklj__
r = zeros(32,1)
for n = 1:32
r(n) = rank(magic(n));
end
;_a ij_^\Zjbl_evgh]h \u^_e_gby \ ij_^u^ms_f ijbf_j_ bgl_jij_lZlhj
MATLAB m\_ebqb\Z_l\_dlhjr ihh^ghfmwe_f_glmdZ`^ucjZa\gmljb pbdeZ
Ij_^\Zjbl_evgh_\u^_e_gb_\_dlhjZ mkljZgy_lwlh^_ckl\b_bj_amevlZl ihemqZ_lky[uklj__

Nmgdpbyhlnmgdpbc

DeZkk nmgdpbc gZau\Z_fuc nmgdpby hl nmgdpbc jZ[hlZ_l k g_ebg_cgufb


nmgdpbyfb kdZeyjguo i_j_f_gguo Lh _klv h^gZ nmgdpby jZ[hlZ_l k ^jm]hc .
Nmgdpbbhlnmgdpbc\dexqZxl\k_[y

GZoh`^_gbygmey
HilbfbaZpby
Bgl_]jbjh\Zgb_
H[udgh\_ggu_^bnn_j_gpbZevgu_mjZ\g_gby

MATLAB ij_^klZ\ey_lg_ebg_cgu_nmgdpbbq_j_aFnZceuGZijbf_jgb`_
ijb\_^_gZmijhs_ggZy\_jkbynmgdpbbhumps ba^bj_dlhjbbmatlab/demos
function y = humps(x)
y = 1. / ( (x - .3). ^2 + .01) + 1. / ( (x - .9) .^2 + .04) - 6;
<uqbkebfwlmnmgdpbx\g_kdhevdbolhqdZobgl_j\ZeZ[0,1]
x = 0: .002:1;
y = humps(x);

AZl_fihkljhbf]jZnbd
plot(x,y)

61

GZqZeh jZ[hlu k MATLAB










































GZ ]jZnbd_ \b^gh qlh wlZ nmgdpby bf__l ehdZevguc fbgbfmf hdheh x=0.6.
Nmgdpbyfmins gZc^_lfbgbfmful_l_agZq_gbyx\dhlhjuonmgdpby^hklb]Z_lk\h_]hfbgbfmfZI_j\ufZj]mf_glhffmins y\ey_lkybfynmgdpbbfbgbfmfdhlhjhcbs_lkyZ\lhjufijb[eb`_ggh_iheh`_gb_fbgbfmfZ
p = fmins( 'humps', .5)
p =
0.6370

Qlh[ugZclbagZq_gb_nmgdpbb\fbgbfmf_
humps(p)
ans =
11.2528

Ki_pbZebklubkihevamxll_jfbgud\Z^jZlmjZbbgl_]jbjh\Zgb_ qlh[u jZaebqZlv qbke_ggmx ZiijhdkbfZpbx hij_^_e_gguo bgl_]jZeh\ b qbke_ggh_ bgl_]jbjh\Zgb_ h[udgh\_gguo ^bnn_j_gpbZevguo mjZ\g_gbc quad b quad8 wlh
ih^ijh]jZffuMATLABih\uqbke_gbxd\Z^jZlmju
Q = quad8( 'humps', 0, 1)

\uqbkey_liehsZ^vih^djb\hcgZ]jZnbd_b\u^Z_l
Q =
29.8583

<aZdexq_gb_gZ]jZnbd_\b^ghqlhaZ^ZggZynmgdpbyg_bf__lgme_cgZwlhf
bgl_j\Ze_Ihwlhfm_kebfuihiulZ_fkyhlukdZlvgmev
z = fzero( 'humps', .5)

lhfugZc^_f_]h\g_gZr_]hbgl_j\ZeZ
z =
-0.1316

62

MijZ\ey_fZy ]jZnbdZ

MijZ\ey_fZy]jZnbdZ
MATLABij_^hklZ\ey_ldhfie_dknmgdpbcgbadh]hmjh\gydhlhju_iha\heyxl
kha^Z\Zlv b h[jZ[Zlu\Zlv ebgbb ih\_joghklb b ^jm]b_ ]jZnbq_kdb_ h[t_dlu
WlZkbkl_fZgZau\Z_lkymijZ\ey_fZy]jZnbdZ Handle Graphics).

=jZnbq_kdb_h[t_dlu

=jZnbq_kdb_h[t_dluwlh[Zabkgu_we_f_glukbkl_fumijZ\ey_fhc]jZnbdb\
MATLABHgbknhjfbjh\Zgu\^_j_\hkljmdlmjghcb_jZjobbWlbfhljZ`Z_lky k\yav ]jZnbq_kdbo h[t_dlh\ GZijbf_j h[t_dlu Line (ebgby) gm`^Zxlky \
h[t_dlZoAxes (hkb)dZd\kbkl_f_hlkq_lZ<k\hxhq_j_^vh[t_dluAxes kms_kl\mxllhevdhkh[t_dlZfbFigure.
?klvh^bggZ^pZlv\b^h\h[t_dlh\mijZ\ey_fhc]jZnbdb
H[t_dlu Root y\eyxlky \_jrbghc b_jZjobb Hgb khhl\_lkl\mxl wdjZgm
dhfivxl_jZMATLABZ\lhfZlbq_kdbbokha^Z_l\gZqZe_k_ZgkZjZ[hlu
H[t_dluFigurewlhhdgZgZwdjZg_djhf_dhfZg^gh]hhdgZ
H[t_dluUicontrol wlhihevah\Zl_evkdh_mijZ\e_gb_bgl_jn_ckhfDh]^Z
ihevah\Zl_ev Zdlb\bjm_l h[t_dl \uau\Z_lky khhl\_lkl\mxsZy nmgdpby Hgb
\dexqZxl\k_[ypushbutton, radio button bslider.
H[t_dlu Axes hij_^_eyxl h[eZklv \ hdg_ Figure b hjb_glZpbx ^hq_jgbo
h[t_dlh\\wlhch[eZklb
H[t_dlu Uimenu ij_^klZ\eyxl kh[hc f_gx ihevah\Zl_evkdh]h bgl_jn_ckZdhlhjh_jZkiheh`_gh\\_jog_cqZklbhdgZFigure.
H[t_dluImage wlh^\mf_jgu_h[t_dludhlhju_\u\h^blMATLAB, bkihevamywe_f_gluijyfhm]hevgh]hfZkkb\ZdZdbg^_dku\iZeblj_
H[t_dluLine y\eyxlkyhkgh\gufb]jZnbq_kdbfb[Zabkgufbwe_f_glZfb
^ey[hevrbgkl\Z^\mf_jguo]jZnbdh\
H[t_dlu Surface  wlh lj_of_jgh_ ij_^klZ\e_gb_ ^Zgguo fZljbpu kha^Zggh_iml_f]jZnbq_kdh]hhlh[jZ`_gby^ZgguodZd\ukhlgZ^iehkdhklvxxy.
H[t_dluText wlhkljhdbkbf\heh\
H[t_dluLight hij_^_eyxlbklhqgbdk\_lZ^_ckl\mxsbcgZ\k_h[t_dlu\
ij_^_eZoAxes.

MijZ\e_gb_h[t_dlZfb

DZ`^uc hl^_evguc ]jZnbq_kdbc h[t_dl bf__l k\hc mgbdZevguc b^_glbnbdZlhjgZau\Z_fuchandle fZgbimeylhj dhlhjucMATLAB ijbk\Zb\Z_lh[t_dlm
ijb kha^Zgbb G_dhlhju_ ]jZnbdb gZijbf_j k g_kdhevdbfb djb\ufb khklhyl
ba fgh]bo h[t_dlh\dZ`^uc ba dhlhjuo bf__l k\hc kh[kl\_gguc b^_glbnbdZlhj handle Q_fiulZlvkyijhqblZlvbokwdjZgZbih\lhjgh\\h^blv\um\b^bl_qlh\k_]^Zemqr_ojZgblvagZq_gb_\i_j_f_gghcbbkihevah\Zlv_]hihg_h[oh^bfhklb
B^_glbnbdZlhjh[t_dlZroot \k_]^ZgmevB^_glbnbdZlhjfigure wlhp_eh_qbkeh dhlhjh_ ih mfheqZgbx hlh[jZ`Z_lky \ aZ]heh\d_ hdgZ B^_glbnbdZlhju
^jm]bo h[t_dlh\ y\eyxlky qbkeZ k ieZ\Zxs_c lhqdhc dhlhju_ kh^_j`Zl bg-

63

GZqZeh jZ[hlu k MATLAB


nhjfZpbxbkihevam_fmxMATLABGZijbf_j_kebA wlhfZ]bq_kdbcd\Z^jZl>xj_jZlh
h = plot(A)

kha^Zklebg_cguc]jZnbdkq_lujvfyebgbyfb^eydZ`^h]hklhe[pZ:ZlZd`_
\ha\jZlbl\_dlhjb^_glbnbdZlhjlZdhcdZd
h =
3.0022
1.0038
4.0020
5.0016

>Zggu_qbke_ggu_agZq_gbyy\eyxlkyg_kms_kl\_ggufbbfh]mlbaf_gylvkyhl
h^ghckbkl_fud^jm]hcDZdb_[uqbkeZg_[ueb\Z`gufy\ey_lkylhqlhh(1)
wlhb^_glbnbdZlhji_j\hcdjb\hcgZ]jZnbd_h(2) \lhjhcbl^
MATLABbf__lg_kdhevdhnmgdpbc^eyihemq_gby^hklmiZdqZklhbkihevam_fufh[t_dlZf
gcf
gca
gco
<u fh`_l_ bkihevah\Zlv wlb nmgdpbb \ dZq_kl\_ \oh^guo Zj]mf_glh\ ^jm]bo
nmgdpbchi_jbjmxsbokb^_glbnbdZlhjZfbfigure b axesIhemqblvb^_glbnbdZlhju ^jm]bo h[t_dlh\ fh`gh \h \j_fy bo kha^Zgby <k_ nmgdpbb MATLAB,
dhlhju_kha^Zxlh[t_dlu\ha\jZsZxlb^_glbnbdZlhj beb\_dlhjb^_glbnbdZlhjh\ kha^Zggh]hh[t_dlZ
>ey m^Ze_gby h[t_dlZ kem`bl nmgdpby delete bkihevamxsZy b^_glbnbdZlhj
h[t_dlZ\dZq_kl\_Zj]mf_glZGZijbf_jm^Zebfl_dmsb_hkb axes Z\f_kl_k
gbfbb\k_^hq_jgb_h[t_dlu
delete(gca)

Nmgdpbbkha^Zgbyh[t_dlh\

<uah\ nmgdpbb k bf_g_f dZdh]heb[h h[t_dlZ kha^Z_l wlhl h[t_dl GZijbf_j


nmgdpbytext kha^Z_lh[t_dltextnmgdpbyfigure kha^Z_lh[t_dlfigure bl^=jZnbq_kdb_ nmgdpbb MATLAB \ukhdh]h mjh\gy lZdb_ dZd plot b surface  \uau\Zxlg_h[oh^bfu_nmgdpbbgbadh]hmjh\gy^eyhlh[jZ`_gbykhhl\_lkl\mxsbo
]jZnbdh\
Nmgdpbb gbadh]h mjh\gy ijhklh kha^Zxl h^bg ba h^bggZ^pZlb ]jZnbq_kdbo
h[t_dlh\ hij_^_e_gguo MATLAB aZ bkdexq_gb_f dhjg_\h]h h[t_dlZ root),
dhlhjuckha^Z_llhevdhMATLABGZijbf_j
line( [1 3 6], [8 2 0], 'Color', 'red' )

64

MijZ\ey_fZy ]jZnbdZ

K\hckl\Zh[t_dlZ

<k_h[t_dluh[eZ^Zxlk\hckl\Zfbdhlhju_hij_^_eyxldZdhgb\u\h^ylkygZ
wdjZg MATLAB ij_^hklZ\ey_l ^\Z f_oZgbafZ ^ey aZ^Zgby k\hckl\ K\hckl\Z
h[t_dlZ fh]ml [ulv mklZgh\e_gu nmgdpb_c kha^Zgby h[t_dlZ beb fh]ml [ulv
baf_g_gu nmgdpb_c set, dh]^Z h[t_dl m`_ kms_kl\m_l GZijbf_j ke_^mxsbc
we_f_gldh^Zkha^Z_lljbh[t_dlZbaZf_gy_lg_dhlhju_babok\hckl\ihmfheqZgbx
days = [ 'Su' ; 'Mo' ; 'Tu' ; 'We' ; 'Th' ; 'Fr' ; 'Sa' ]
temp = [ 21.1 22.2 19.4 23.3 23.9 21.1 20.0 ];
f = figure;
a = axes( 'YLim' , [16 26] , 'Xtick' , 1:7 , 'XtickLabel' , days )
h = line(1:7, temp)
7HPSHUDWXUH





















6X

0R

7X

:H

7K

)U

6D

GD\VwlhfZkkb\kbf\heh\kh^_j`ZsbckhdjZs_gby^g_cg_^_ebZtemp wlh
qbke_gguc fZkkb\ k lbibqghc l_fi_jZlmjhc Hdgh bah[jZ`_gbc kha^Z_lky ihke_\uah\Zfigure [_aZj]mf_glh\l_khagZq_gbyfbih mfheqZgbxHkbkms_kl\mxl \gmljb figure b bf_xl aZ^Zgguc ^bZiZahg ih y b aZ^Zggu_ f_ldb ^ey
ijbjZs_gbcihxEbgbbkms_kl\mxl\gmljbhk_cbbf_xl aZ^Zggu_ agZq_gby
^ey^ZgguoihxbyLjbb^_glbnbdZlhjZh[t_dlh\f, abh khojZg_gu^ey^Zevg_cr_]hbkihevah\Zgby

VHWbJHW

K\hckl\Z h[t_dlZ aZ^Zxlky h[jZs_gb_f d g_fm ihke_ _]h kha^Zgby >ey wlh]h
bkihevamcl_b^_glbnbdZlhj\ha\jZsZ_fuckha^Z\Z_fhcnmgdpb_c
Nmgdpby set iha\hey_l mklZgZ\eb\Zlv k\hckl\Z h[t_dlh\ mdZaZgb_f b^_glbnbdZlhjZh[t_dlZbkh\hdmighklbiZjgZa\Zgb_k\hckl\ZagZq_gb_<dZq_kl\_mijZ`g_gbybaf_gbfp\_lbrbjbgmebgbbbaij_^u^ms_]hijbf_jZ
set( h , 'Color' , [0 .8 .8] , 'LineWidth' , 3)

>eylh]hqlh[um\b^_lvkibkhd\k_o^hklmiguok\hckl\aZ^Zggh]hh[t_dlZ\uah\_l_set kb^_glbnbdZlhjhfh[t_dlZ

65

GZqZeh jZ[hlu k MATLAB

set(h)
Color
EraseMode: [ {normal} | background | xor | none ]
LineStyle: [ {-} | -- | : | -. | none ]
LineWidth
Marker: [ + | o | * | . | x | square | diamond | v | ^ | > | < |
pentagram | hexagram | {none} ]
MarkerSize
. . .
XData
YData
Zdata
. . .
.

Qlh[u\u\_klbkibkhd\k_ol_dmsbomklZgh\e_gguok\hckl\aZ^Zggh]hh[t_dlZ
\uah\_l_get kb^_glbnbdZlhjhfh[t_dlZ
get(h)
Color = [0 0.8 0.8]
EraseMode = normal
LineStyle = LineWidth = [3]
Marker = none
MarkerSize = [6]
. . .
XData = [ (1 by 7) double array]
YData = [ (1 by 7) double array]
ZData = []
. . .

>eyaZijhkZagZq_gbyhl^_evgh]hk\hckl\Zbkihevamcl_get kbf_g_fk\hckl\Z
get(h , 'Color')
ans =
0

0.8000

0.8000

H[t_dlu axes bf_xl fgh]h ^_lZevguo k\hckl\ ^ey \k_]h ]jZnbdZ GZijbf_j
aZ]heh\hdtitle.
t = get(a , 'title' );
set(t , 'String' , 'Temperature' , 'FontAngle' , 'oblique')
Nmgdpbytitle h[_ki_qb\Z_l^jm]hcbgl_jn_ckdwlbf`_k\hckl\Zf

=jZnbq_kdbcIhevah\Zl_evkdbcBgl_jn_ck(GUI)

Gb`_ijb\_^_gijbf_jbeexkljbjmxsbcbkihevah\Zgb_mijZ\ey_fhc]jZnbdb
(Handle Graphics ^eykha^Zgbyihevah\Zl_evkdh]hbgl_jn_ckZ
b = uicontrol( 'Style' , 'pushbutton' , . . .
'Units' , 'normalized' , . . .
'Position' , [.5 .5 .2 .1] , . . .

66

MijZ\ey_fZy ]jZnbdZ
'String' , 'click here' );
kha^Z_l pushbutton \ p_glj_ hdgZ bah[jZ`_gby figure  b \ha\jZsZ_l b^_glbnbdZlhjgh\h]hh[t_dlZH^gZdhihdZgZ`Zlb_gZwlmdghidmgbdq_fmg_ijb\h^bl
s = ' set(b , ' 'Position' ' , [.8*rand .9*rand .2 .1]) ';
kha^Z_l kljhdm kh^_j`Zsmx dhfZg^m dhlhjZy f_gy_l iheh`_gb_ dghidb Ih\lhjgh_bkihevah\Zgb_
eval(s)
[m^_li_j_^\b]Zlvdghidm\kemqZcgu_f_klZHdhgqZl_evgh
set(b , 'Callback' , s)
mklZgh\bl s \ dZq_kl\_ h[jZ[hldb gZ`Zlby dghidb Ihwlhfm dZ`^uc jZa dh]^Z
\u_zgZ`bfZ_l_hgZi_j_f_sZ_lkygZgh\h_f_klh

:gbfZpby

MATLAB ij_^hklZ\ey_l g_kdhevdh kihkh[h\ ^ey kha^Zgby ^\b]Zxs_cky ZgbfZpbhgghc ]jZnbdb Bkihevah\Zgb_ k\hckl\Z EraseMode ij_^gZagZq_gh ^ey
^ebgghcihke_^h\Zl_evghklbijhkluo]jZnbdh\]^_baf_g_gb_hldZ^jZddZ^jm
fbgbfZevghGb`_ij_^klZ\e_gijbf_jfh^_ebjmxsbc[jhmgh\kdh_^\b`_gb_
Hij_^_ebfdhebq_kl\hlhq_d
n = 20;

L_fi_jZlmjmbebkdhjhklvdZd
s = .02;

Emqrb_ agZq_gby wlbo iZjZf_ljh\ aZ\bkyl hl kdhjhklb \Zr_c fZrbgu K]_g_jbjm_fn kemqZcguolhq_dkdhhj^bgZlZfb(x,y) f_`^m b.
x = rand(n,1)-0.5;
y = rand(n,1)-0.5;

Hlh[jZabf lhqdb \ d\Z^jZl_ kh klhjhgZfb \ ij_^_eZo hl  ^h  KhojZgbf
b^_glbnbdZlhj^ey\_dlhjZlhq_dbmklZgh\bfk\hckl\hEraseMode jZ\gufxor.
WlhmdZ`_l]jZnbq_kdhckbkl_f_MATLABg_i_j_jbkh\u\Zlv\_kv]jZnbddh]^Zbaf_gy_lkydhhj^bgZlZh^ghclhqdbZ\hkklZgZ\eb\Zlvp\_lnhgZ\hdj_klghklblhqdbbkihevamyhi_jZpbxbkdexqZxs_]hBEB
h = plot(x , y , ' . ' );
axis([-1 1 -1 1])
axis square
grid off
set(h , 'EraseMode' , 'xor' , 'MarkerSize' , 18 );

67

GZqZeh jZ[hlu k MATLAB

while 1
x = x + s*randn(n,1);
y = y + s*randn(n,1);
set(h, 'Xdata' , x , 'Ydata' , y)
end

Kdhevdhgm`gh\j_f_gbqlh[uh^gZbalhq_d\ureZaZij_^_eud\Z^jZlZ"Q_j_adZdh_\j_fy\k_lhqdbhdZ`mlky\g_d\Z^jZlZ"

























Movie

?keb\um\_ebqb\Z_l_qbkehlhq_d\[jhmgh\kdhf^\b`_gbbgZijbf_jn = 300,
lh \ wlhf kemqZ_ ^\b`_gb_ g_ [m^_l hq_gv ih^\b`guf lZd dZd ihlj_[m_lky
kebrdhf fgh]h \j_f_gb gZ dZ`^hf rZ]_ KlZgh\blky [he__ wnn_dlb\guf khojZgblvhij_^_e_ggh_qbkehdZ^jh\dZdbitmap bijhb]ju\ZlvbodZddbgh
<hi_j\uoimklvqbkehdZ^jh\
nframes = 50;

<h\lhjuomklZgh\bfi_j\uc]jZnbddZdbjZg__aZbkdexq_gb_fbkihevah\ZgbyEraseMode
x = rand(n,1)-0.5;
y = rand(n,1)-0.5;
h = plot(x, y, ' . ' )
set(h, 'MarkerSize' , 18)
axis([-1 1 -1 1])
axis square
grid off

L_i_jv\u^_ebf^hklZlhqghiZfylb^eykhojZg_gbygZr_]hnbevfZ
M = moviein(nframes);

68

MijZ\ey_fZy ]jZnbdZ
Wlh mklZgh\bl [hevrmx fZljbpm k nframes klhe[pZfb DZ`^uc klhe[_p ^hklZlhqgh^ebggucqlh[ukhojZgblvh^bgdZ^jIhegh_dhebq_kl\hlj_[m_fhciZfylb ijhihjpbhgZevgh dhebq_kl\m dZ^jh\ b h[eZklb l_dmsbo hk_c gh hgZ g_
aZ\bkblhlkeh`ghklbhl^_evguo]jZnbdh\>eydZ^jh\bhk_cihmfheqZgbx
g_h[oh^bfh hdheh  f_]Z[Zcl iZfylb < gZr_f ijbf_j_ bkihevamxlky d\Z^jZlgu_hkbdhlhju_g_fgh]hf_gvr_ihwlhfmlj_[m_lkyhdhehf_]Z[Zcl
K]_g_jbjm_fihemq_ggucnbevfbbkihevamygetframekhojZgbfdZ`^ucdZ^j
for k = 1:nframes
x = x + s*rand(n,1);
y = y + s*rand(n,1);
set(h , 'XData' , x , 'YData' , y)
M(: , k) = getframe;
end
L_i_jvijhb]jZ_fnbevf jZa
movie(30)

69

GZqZeh jZ[hlu k MATLAB

>hiheg_gb_
Qlh[u m\b^_lv ^hihegbl_evgu_ ijbf_ju MATLAB \u[_jbl_ Examples and
Demos baf_gxbebgZ[_jbl_
demo
\dhfZg^ghc kljhd_ MATLAB <u[_jbl_ ba f_gx ijbf_ju dhlhju_ \Zk aZbgl_j_kh\Zebbke_^mcl_bgkljmdpbyfgZwdjZg_
>ey[he__^_lZevgh]hh[tykg_gbyhl^_evguol_faZljhgmluo\wlhcdgb]_h[jZsZcl_kvdke_^mxs_cebl_jZlmj_
MATLAB Installation Guide hibku\Z_l dZd mklZgh\blv MATLAB gZ \Zrm
ieZlnhjfm
Using MATLABij_^klZ\ey_l[he__]em[hdbcfZl_jbZeihyaudmMATLAB,
jZ[hq_ckj_^_bfZl_fZlbq_kdbfl_fZf
Using MATLAB Graphicshibku\Z_lbkihevah\Zgb_]jZnbdbbbgkljmf_glh\^ey\bamZebaZpbbMATLAB.
MATLAB Application Program Interface Guide h[tykgy_l dZd ibkZlv ijh]jZffugZKbbNhjljZg_dhlhju_\aZbfh^_ckl\mxlkMATLAB.
MATLAB 5.1 New Features Guide ij_^hklZ\ey_lihe_agmxbgnhjfZpbx^ey
i_j_oh^ZhlMATLABodMATLAB 5.1.
MATLAB Toolboxes wlh]jmiiuFnZceh\dhlhju_jZkrbjyxl\hafh`ghklb
MATLAB\jZaebqguol_ogbq_kdboh[eZklyo>hklmiguhl^_evgu_jmdh\h^kl\Z
ihdZ`^hcbagbo<hlg_dhlhju_bal_fdhlhju_hgbho\Zlu\Zxl
K\yav
Kbkl_fudhgljhey
NbgZgkh\u_\uqbke_gby
B^_glbnbdZpby\qZklhlghch[eZklb
G_q_ldZyeh]bdZ
Ki_dljZevgucZgZeba\ukhdh]hihjy^dZ
H[jZ[hldZbah[jZ`_gbc
Ebg_cgu_fZljbqgu_g_jZ\_gkl\Z
MijZ\e_gb_kwlZehgghcfh^_evx
ZgZebabkbgl_a
Qbke_ggu_Ze]hjblfu

70

>hiheg_gb_
G_cjhggu_k_lb
MjZ\g_gby\qZklguoijhba\h^guo
Ijh_dlbjh\Zgb_jh[Zklguokbkl_fkh[jZlghck\yavx
Jh[Zklgh_mijZ\e_gb_
H[jZ[hldZkb]gZeh\
Fh^_ebjh\Zgb_ Simulink)
KieZcgu
KlZlbklbdZ
Kbf\hevgZyfZl_fZlbdZ
B^_glbnbdZpbykbkl_f
<wc\e_lu
>ey ihemq_gby ihke_^g_c bgnhjfZpbb h MATLAB b ^jm]bo ijh^mdlZo MathWorks h[jZsZcl_kvd
http://www.mathworks.com

bbkihevamcl_\ZrInternet New reader ^ey^hklmiZd]jmii_gh\hkl_c


comp.soft-sys.matlab
Dgb]b h MATLAB \uimkdZxl jZaebqgu_ ba^Zgby ;jhrxjZ haZ]eZ\e_ggZy
MATLAB-Based Books,fh`_l[ulvihemq_gZhldhfiZgbbMathWorksZihke_^gbckibkhd^hklmi_ggZWebkZcl_
?keb \u ijhqblZeb \kx wlm dgb]m b aZimklbeb \k_ ijbf_ju iha^jZ\ey_f \u
gZqZebjZ[hlmkMATLAB ijhklh\_ebdhe_igh?keb\uijhimklbebg_dhlhju_
jZa^_eu beb g_ ihijh[h\Zeb hl^_evgu_ ijbf_ju fu kh\_lm_f \Zf ihljZlblv
_s_g_fgh]h\j_f_gbgZbamq_gb_Getting Started<ex[hfkemqZ_^h[jhih`Zeh\Zlv\fbjMATLAB !

71

GZqZeh jZ[hlu k MATLAB

Ij_^f_lgucmdZaZl_ev
C

case, 46

while, 47
who, 34
whos, 34

fZjrjml ihbkdZ
fZkkb\u
]_g_jbjh\Zgb_ k ihfhsvx
nmgdpbc b hi_jZlhjh\
17
aZ]jmadZ ba \g_rgbo
nZceh\
bf_gZ i_j_f_gguo
f_lh^ hjb_glZpbb
klhe[ph\
fgh]hf_jgu_
h[t_^bg_gb_
kbkl_fZ kqbke_gby ^ey
we_f_glh\
kha^Zgb_ \ F nZceZo
we_f_glu
yq_cdZ
fZljbpZ
fZljbpu
\\h^
fgh]hf_jgu_ fZkkb\u
F nZceu ^ey kha^Zgby
fZkkb\h\
 

  

diag, 11
doc, 33

:
ZgbfZpby 

 

 

E
eval, 60

 

[b[ebhl_dZ fZl_fZlbq_kdbo
nmgdpbc 

F
for, 47

H
help, 31

I
if, 45

 

<

\\h^ fZljbp 
\_dlhjbaZpby 
\ujZ`_gby  
\uqbke_gb_ 
\uoh^gu_ ^Zggu_
khdjZs_gb_ 
nhjfZlbjh\Zgb_ 

L
lookfor, 32

M
magic, 13
MATLAB
[b[ebhl_dZ
fZl_fZlbq_kdbo
nmgdpbc 
bklhjby 
h[ahj 
ijh]jZffguc bgl_jn_ck

6
jZ[hqZy kj_^Z 
mijZ\ey_fZy ]jZnbdZ 
yaud 

mesh, 28
movie, 69

P
plot, 23

S
save, 34
Simulink, 6
subplot, 25
sum, 10
surface, 28
switch, 46

 

 

 

 

 

 

  

 

 

 

]eh[Zevgu_ i_j_f_ggu_ 
]jZnbdZ
]jZnbq_kdb_ h[t_dlu 
^\mf_jgZy 
i_qZlv 
k\hckl\Z ]jZnbq_kdbo
h[t_dlh\ 
mijZ\ey_fZy 
]jZnbq_kdb_ h[t_dlu 

h[t_^bg_gb_ fZkkb\h\
hi_jZlhj ^\h_lhqby
hi_jZlhju
hi_jZpbb gZ^ nZceZfb
hkb
hlh[jZ`_gb_
dhfie_dkguo ^Zgguo
fZljbp

 

 

 

 

 

 

 

>

i_j_f_ggu_
]eh[Zevgu_
i_qZlv
]jZnbdb
l_dmsbo kijZ\hqguo
kljZgbp
ih^]jZnbdb
ihbkd l_dms_c kijZ\db
33
ihlhdb
ij_^\Zjbl_evgh_ \u^_e_gb_
 

^ebggu_ kljhdb \\h^Z 

 

 

aZ]jmadZ fZkkb\h\ 
aZimkd \g_rgbo ijh]jZff

 

 

 

36

 

61

bah[jZ`_gby 
bg^_dku 

jZ[hq__ ijhkljZgkl\h
bkihevam_fZy iZfylv
kh^_j`Zgb_
j_^Zdlhj dhfZg^ghc kljhdb
 

de_lhqgu_ fZkkb\u Kf

fZkkb\u yq__d

 

 

21

eh]bq_kdb_ \_dlhjZ

72

 

Ij_^f_lguc mdZaZl_ev
K

kha^Zgb_ ihevah\Zl_evkdh]h
bgl_jn_ckZ
kijZ\dZ
kljmdlmju
kp_gZjbb
 

lhqdZ k aZiylhc ^ey


khdjZs_gby \u\h^bfuo
^Zgguo
ljZgkihgbjh\Zgb_

nbevfu
nhjfZl \uoh^guo ^Zgguo
20
nmgdpbb
nmgdpby hl nmgdpbc

 

 

 

 

 

 

l_dkl

  

m^Ze_gb_ we_f_glh\ fZkkb\Z


19
mijZ\ey_fZy ]jZnbdZ
  

 

73

 

qbkeZ

 

GZqZeh jZ[hlu k MATLAB


I_j_\h^kZg]ebckdh]hDhgxr_gdh<<
Dhgxr_gdh<Ze_jbc<yq_keZ\h\bq
18/05/1977
l_e
e-mail: konushenko@afrodita.phys.msu.su

74

You might also like