Matlab - wiadomości wstępne, WIEDZA, ATH, Matlab

[ Pobierz całość w formacie PDF ]
1Matlab.Wiadomociwst
,
epne.
1
´
Cwiczeniazsymulacjikomputerowych.Zaj
,
ecia4.
DladalszychinformacjioMatlabiepolecamstron
,
e
1Matlab.Wiadomociwst
,
epne.
Kodmo˙zeby´cwprowadzanyzwierszapolece´nliniapoliniiluburuchamianyz
plikum,kt´oryjestprzezMatlabainterpretowany(niemakompilacjiczykodu
po´sredniego).
Liniekoduniemusz
,
ako´nczy´csi
,
e´srednikiem.Je´sliko´ncz
,
asi
,
e´srednikiem,
towynikoperacjiniejestwypisywany.Kilkaliniimo˙znaumie´sci´cwjednej,
w´owczasnale˙zyjerozdzieli´cprzecinkiem.PrzecineksÃlu˙zyr´ownie˙zdoseparacji
wsp´oÃlrz
,
ednychwmacierzachorazargument´owwfunkcjach.Zkoleiwielokropek
(...)pozwalanaprzeniesieniecz
,
e´sciinstrukcjidokolejnejlinii.
Niemadeklaracjizmiennychliczbowych,odrazusi
,
ejedeniuje,adomy´slny
typtodoublelubmatrix.Zmiennetypusymbolicznegodeklarujesi
,
epoleceniem
syms,np.
symsxf;
f=3*x;
diff(f,x)
NawiasyzwykÃleoznaczaj
,
ar´ownocze´snieodwoÃlaniedotabeli(wektora),ma-
cierzyjakiwywoÃlaniefunkcji,como˙zeby´cpowodemkonfuzji.SÃlu˙z
,
ate˙zdo
okre´slaniakolejno´sciwykonywaniadziaÃla´n.
WMatlabieniemawska´znik´owanireferencjicopraktycznieuniemo˙zliwia
stosowaniabardziejskomplikowanychstrukturdanych.
´
Cwiczenie:Oblicz(symbolicznie)transformat
,
eLaplace’adlafunkcji:1,
sin(
t
),
t
,
e
¡t
.Skorzystajzfunkcji
laplace
(informacjeoniej:
helplaplace
).
Uwaga:Matlab(etymologia:Matrixlaboratory)zzaÃlo˙zeniajest´srodowiskiem
dooblicze´nnumerycznychraczejni˙zsymbolicznych(programybardziejzorien-
towanekuobliczeniomsymbolicznymtoMapleczyMathematica).
2Macierze.
Polecenie
a=[32;31;45]
stworzymacierzodw´ochwierszachitrzechkolumnach.
´
Srednikoddzielaod
siebiekolejnewiersze.Spacja(lubprzecinek)rozdzielakolejnepolawwierszu.
Dop´olmacierzymamydost
,
epprzezprzecinekinawiasyzwykÃle.Np
a(3,2)
topolewtrzecimwierszuidrugiejkolumnie.Wszczeg´olno´scipodstawienie
a(4,5)=6
2Macierze.
2
automatycznieposzerzymacierz
a
domacierzyoczterechwierszachipi
,
eciu
kolumnachilukiuzupeÃlnizerami.Natomiastpolecenie
b=a(4,5)
automatyczniezadeklarujezmienn
,
a
b
aletylkoje´sli
a(4,5)
masens.
Uwaga:wszystkiemacierzenumerowanes
,
aod1.
Wektorpoziomyzawieraj
,
acypierwszywierszmacierzyamo´znauzyska´c
przez
b=a(1,:)
natomiastwektorpionowyzawieraj
,
acyjejdrug
,
akolumn
,
eprzez
b=a(:,2)
Wektorpoziomy
z2
R
11
taki,˙ze
z
i
=1+0
:
5(
i¡
1),
i
=1
;:::;
11mo˙zna
utworzy´cprzez
z=1:0.5:6
natomiast
i
=(1
;
2
;
3
;
4
;
5)przez
i=1:5
Operacjaprawegodzielenia
x=A\b
rozwi
,
azujeukÃladr´owna´n
Ax
=
b
gdzie
A
jestmacierz
,
akwadratow
,
a,a
b
wekto-
rempionowym(czylimacierz
,
askÃladaj
,
ac
,
asi
,
ezjednejkolumny).Zkolei
x=b/A
rozwi
,
a˙zenamr´ownwnie
xA
=
b
gdzie
b
musiby´cwektoremwierszowym.
Inneoperacjemacierzowetotranspozycja(
'
),mno˙zeniemacierzy(
*
),pot
,
egowanie
(
^
),dodawanie(+),odejmowanie(
-
),mno˙zeniewyrazpowyrazie(
.*
),pot
,
egowanie
wyrazpowyrazie(
.^
).
Zwr´o´cmyuwag
,
e,˙zeinstrukcja
A+2
zwi
,
ekszynamo2wszystkiepolamacierzylubwektoraA.
Inneprzydatnefunkcjeto
norm
,
eig
,
rank
,
det
(opiska˙zdejfunkcjimo˙zna
przeczyta´cwpisuj
,
ac
helpnazwaFunkcji
).
3Instrukcjesteruj
,
ace.
3
3Instrukcjesteruj
,
ace.
P
,
etlafor(przykÃlad)
fori=1:20
a(i)=i*i;
end
WprzykÃladzietym
i
przyjmujekolejnowarto´scikwadrat´owliczbnaturalnych
do
20
.Wp
,
etli
i
mo˙zezmienia´csi
,
epodowolnymwektorze(wierszowym).
P
,
etlawhile(przykÃlad)
i=5;
whilei>1
a(i)=i-1;
i=i-1;
end
Wwarunkachlogicznychmog
,
awyst
,
api´coperatory:mniejsze(
<
),mniejszelub
r´owne(
<=
),wi
,
eksze(
>
),wi
,
ekszelubr´owne(
>=
),r´owne(
==
),r´o˙zne(
~=
),i(
&
),
lub(
|
),nie(
~
).Pojedynczyznakr´owno´sci(
=
)toinstrukcjapodstawienia.
Instrukcjaif(przykÃlad)
i=2;
ifi==3
i=i+1;
elseifi==4
i=i-1;
else
i=0
end
´
Cwiczenie:Napisa´cfunkcj
,
e,kt´orajakoargumentwe´zmiewektorizwr´oci
wektorzawieraj
,
acytesameelementywkolejno´sciposortowanej.Skorzystajz
funkcji
length
.
4Funkcje.
SkÃladniajestnast
,
epuj
,
aca:
function[val1,val2,...]=nazwa(arg1,arg2,...)
tresc
Je´slizwracanajesttylkojednawarto´s´c,tonawiaskwadratowyniejestkonieczny.
PrzykÃlad:
functionb=oJedenWiecej(a)
b=a+1;
5SolveryMATLABowedlazada´npocz
,
atkowych. 4
5SolveryMATLABowedlazada´npocz
,
atkowych.
Funkcjerozwi
,
azuj
,
acenumerycznier´ownaniazwyczajneto(mi
,
edzyinnymi)
ode23
,
ode45
.Funkcja
ode23
implementujemetodeRungegoiKuttyrz
,
edu2zadap-
tacj
,
aczasow
,
a,natomiast
ode45
RungegoiKuttyrz
,
edu4zadaptacj
,
aczasow
,
a.
Dzialaniejesttakie(naprzykÃladzieode23):
ode23(@f,[t1t2],x0)
f
jesttufunkcj
,
aprawejstronyr´ownaniaipowinnamie´cskÃladni
,
e
y=f(t,x)
-
koniecznieczasjakopierwszyargument.Zkolei
[t1t2]
toprzedziaÃlczasowyna
kt´orymszukamyrozwi
,
azania
u
a
x0
towarto´s´cwarunkupocz
,
atkowego
(u(t1))
.
Funkcja
ode23
zwracadwiewarto´sci:wektor(kolumnowy)punkt´owczasowych
iwektorkolumnowywarto´scirozwi
,
azaniawtychpunktach.PrzykÃladplikum
rozwi
,
azuj
,
acegoproblem
u
0
=
¡
2
u
+
t;u
(0)=1:
function[t,y]=test
[ty]=ode23(@f,[01],0);
functiony=f(t,x)
y=-2*x+t;
SkryptwywoÃlujemyprzezpolecenie[
a;b
]=
test
.
SolveryODEdziaÃlaj
,
adlaprzypadkuwielowymiarowego(ukÃladur´owna´n)
analogiczniejakdlajednowymiarowegoprzyczym
x0
powinienby´cterazwek-
toremwierszowymwarunk´owpocz
,
atkowych,afunkcja
f
powinnapobiera´cjako
drugiargumentwektor(owymiarzetakimsamymjak
x0
)izwraca´cwektor(te˙z
otakimsamymwymiarze)kolumnowy(aniewierszowytakijakjestdomy´slnie).
PrzykÃlad:
function[t,y]=test
[ty]=ode23(@f,[01],[0,0]);
functiony=f(t,x)
y(1,1)=-2*x(1)+t+x(2);
y(2,1)=-3*x(2)+t+x(1);
Zwracanawarto´s´c
y
jestmacierz
,
a,kt´orawposzczeg´olnychkolumnachza-
wierawarto´scirozwi
,
azaniadlaposzczeg´olnychczas´ow.
Funkcj
,
ewywoÃlujemyprzez
[t,y]=test;
plot(t,y(:,1),'-bo',t,y(:,2),'-ro')
6Zadania.
1.Napisa´cfunkcj
,
erealizuj
,
ac
,
acaÃlkowanienumerycznemetod
,
atrapez´ow
Z
b
n¡
1
X
2
n
(
f
(
a
+
i
b¡a
n
)+
f
(
a
+(
i
+1)
b¡a
f
(
x
)
dx¼
n
))
:
a
i
=0
b¡a
6Zadania.
5
Parametramipowinnyby´c:funkcja,przedziaÃlcaÃlkowania,orazilo´s´ckrok´ow
siatki.Przetestowa´cdziaÃlanietejfunkcjidla
f
(
x
)=sin(
x
)naprzedziale(0
;
¼
2
).
2.Ci
,
aglogistycznydanyjestrekurencyjnymwzorem
a
n
=
ka
n¡
1
(1
¡a
n¡
1
).
Zbadajeksperymentalnie(zapomoc
,
awykresu)zachowanietegoci
,
agudla
a
1
=
0
:
5iwarto´sci
k
=2
:
8
;
3
:
1
;
3
:
7.Znajd´zmaksymaln
,
awarto´s´c
k
dlakt´orejci
,
ag
wydajesi
,
ezbiega´c.Znajd´zmimimaln
,
awarto´s´c
k
dlakt´orejci
,
agwydajesi
,
e
zachowywa´cnieprzewidywalnie.
3.Znajd´zwarto´sciwÃlasneiodpowiadaj
,
aceimwektorywÃlasnedlamacierzy
B=[210;-123;-131]
4.Napiszfunkcj
,
erozwi
,
azuj
,
ac
,
anumerycznieukÃladODE(jesttoproblem
typudrapie˙znik-oara).
u
0
=
au¡buv¡cu
2
;
v
0
=
duv¡ev
gdzie
a
=0
:
05
;b
=0
:
0002
;c
=0
:
00001
;d
=0
:
0003
;e
=0
:
06.Rozwi
,
a˙zukÃladdla
t2
(0
;
300)orazwarunk´owpocz
,
atkowych
u
=300
;v
=100oraz
u
=0
;v
=100.
Narysujwobuprzypadkachwykresyobrazuj
,
acezmiany
u
i
v
wczasie.
  [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mement.xlx.pl
  •