Nu skal vi prøve at definere variable og kalde funktioner ved at indtaste ordrer:
a) Definer en variabel med navnet x, der skal indeholde tallene fra 1 til 10:
» x = 0 : 10
Bemærk at tegnet '»' er MATLABs "prompt" (stikord) . Det skal ikke indtastes, bemærk også at en ordre afsluttes med linjeskift - ellers sker der ikke noget.
b) Beregn funktionen sinus af værdierne i x:
» sin(x)Bemærk at vi kan få en oversigt over alle mulige elementære funktioner med ordren "help elfun" -tilsvarende kan vi få noget at vide om sin med "help sin".
c) Gem sinus-værdierne i en variabel y:
» y = sin(x)Vis nu et plot af x mod y med kaldet "plot(x,y)"
» x = 0 : 0.2 : 10Jeg har skrevet ":" efter den sidste ordre for at undertrykke udskriften af svaret. Prøv at skrive ordren igen uden ";".
» y = sin(x);
» z = sin(x .^2);Plot den!
» xfin = 0:0.01:10;man kan bruge udtryk som "sin(xfin .^2)" i stedet for z i selve plot-ordren. Prøv det.
I det følgende bruger jeg sædvanlig matematisk notation.
Det er en del af øvelsen at finde ud af hvordan det skrives
i MATLAB.
A.
Forsøg at plotte sink(x) for x
mellem 0 og 2 pi for nogle forskellige værdier
af k (1,2,3,7,17,...).
Bemærk: Man bliver nødt til at beregne sinus-værdierne for hvert $k$ med en
ordre, fx
» y5 = sin(x).^5;
Kan de forskellige plots vises samlet i et plotvindue? Find ud
af hvordan det kan gøres med "help plot".
Hvad sker der, hvis vi prøver med tangens ("tan"), når
vi nærmer os pi/2, pi, 3 pi/2, ... ?
Hvad sker der hvis vi viser grafer for funktioner med meget forskellige værdier i samme vindue? Prøv med tangens eller "exp" sammen med sinus,
Hvad sker der med komplekse tal, dvs tal der indeholder den imaginære enhed i- når de plottes? Prøv med "plot( exp(x*i))" for x mellem 0 og 2 pi . Prøv også at plotte resultatet mod x.
B
Vi skal også se på 3D-plot. Kig igen på demo-eksempler.
Her er et lille script at lege med:
» y = xPrøv med forskellige udtryk for z[i,j], fx kan man rette , så der står "z(i,j) = x(i)+y(j);" eller " z(i,j) = sin(x(i)) + exp(y(j));".
» for i = 1: length(x) for j = 1: length(y) z(i,j) = sin(x(i)+y(j)); end; end
» surf(x,y,z)
Og før denne del af øvelsen er forbi skal I besøge MathWorks hjemmeside og kigge på siden med MATLAB materiale.
Og hvad med en søgning på MATLAB? - bare så ikke glemmer hvordan man får mere at vide.
De følgende opgaver øver matrixregning.
a) Definer nogle vektorer
» a = [1 2 3]; b = [1 ; 2 ; 3]; c= [0 5]; d = [-1 ; -4];Find dimensionerne af dem med funktionen "size". Hvilke af dem er rækkevektorer og hvilke er søjlevektorer?
» a + b'c) Nu vil vi kigge på matricer, Definer nogle:
» a' + b
» a + b
» c - d'
» c' - d
» a(1:2)+c
» a([1 3]) + c
» b+d
» b + [0 ; d]
» b + [0 ; d] - a'
» a .* a
» a' .* a
» a*a'
» a'*a
» a*b
» a*b*c
» a*b*c*d
» d*c*b*a
» d'*c'*b'*a'
» (a*3 + b'/3) - c*d/2
» A = [0 1; 1 0]; B = [a ; a]; C = [A d]; D = [1:10]' * [1:10]; E = eye(2); F = [1 2; 1 3];Find deres dimensioner og værdi. Man får værdien ved at indtaste et udtryk, nemlig navnet på den variabel man vil se.
» A*B
» B*A
» B'*A
» A*A
» B*C
» B*C'
» D(a,a)
» D(a+7,a+7)
» D(E+3)
» E/A
» E/A*A
» X = E/F
» X*F
» F*X
» inv(F)
» X = A/F
» Y = F\A
» X*F == A
» F*X == A
» Y*F == A
» F*Y == A
» pcolor(D)
» surf(D)