Matlab - wiadomości wstępne.pdf

(102 KB) Pobierz
8161764 UNPDF
1Matlab.Wiadomociwst , epne.
1
´ Cwiczeniazsymulacjikomputerowych.Zaj , ecia4.
DladalszychinformacjioMatlabiepolecamstron , e t , a.
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( 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
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 1 (1 ¡a 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.
 
Zgłoś jeśli naruszono regulamin