Ladda ner presentationen
Presentation laddar. Vänta.
1
Föreläsning 15 Matlab överkurs KTH, CSC, Vahid Mosavat
2
Standardmatriser zeros(n) ger nxn-matris med bara nollor.
zeros(m,n) ger motsvarande mxn-matris. ones(n) ger nxn-matris med bara ettor. ones(m,n) ger motsvarande mxn-matris. eye(n) ger nxn-identitetsmatrisen (ettor på diagonalen och nollor annars) eye(m,n) ger motsvarande mxn-matris
3
Hjälp med Matlab Skumma igenom häftet från studentexpeditionen.
Använd Matlabs inbyggda hjälp: Klicka på menyn ”Help” och välj alternativet ”Product Help”. Där kan man söka efter nyckelord. Googla!
4
Elementvisa operationer
Om vi har en mxn-matris A och en nxk-matris B så gör följande en matrismultiplikation: C=A*B C=A.*B gör istället elementvis multiplikation. Motsvarande gäller / och ./, och ^ och . ^. Varför finns det inte en operator .+?
5
Inversen av matris En nxn-matris A har en invers om det existerar en matris B sådan att A*B=I, där I är identitetsmatrisen. inv(A) ger inversen till A i Matlab. Vi kan (om lösbart) lösa A*x=b i Matlab enligt: x=inv(A)*A*x=inv(A)*b Varför är x=A\b ett bättre sätt att göra detta?
6
Matrisfunktioner Låt A vara en matris:
rank(A) ger rangen för matrisen A. det(A) ger matrisens determinant om A är kvadratisk. [D,V]=eig(A) ger matrisens egenvärden som diagonalmatris D och egenvektorer som kolumnvektorer i V. Dvs: A*V=V*D
7
Formattering av utdata
disp(x) skriver ut objektet x, men det finns flera olika standardformat: short, long, short e, short g, long e, long g, bank, hex, rat, compact, loose. Prova och se vad som händer!
8
switch-sats När man har många alternativ beskrivna av ett tal:
switch (uttryck) case värde, vad som skall göras otherwise, end
9
Komplexa tal Komplexa tal förekommer relativt ofta i tekniska tillämpningar. Matlab kan hantera komplexa tal. Bokstäverna i och j representerar den imaginära enheten. Tänk igenom vad ni plottar om ni använder komplexa tal! (lätt att göra fel)
10
Slumptal rand ger likformigt fördelat tal i [0,1].
rand(n) ger nxn-matris med sådana tal. rand(m,n) ger motsvarande mxn-matris. randn ger normalfördelat tal. Randint(m,n,[3,5]) ger likformigt fördelad mxn-heltalsmatris.
11
Rita upp funktionsgraf
Skapa vektor med evalueringspunkter: x=0:0.1:2*pi Skapa vektor med funktionsvärden: y=sin(x) Rita linjer mellan punkterna: plot(x,y)
12
Andra sätt att visualisera data
bar(x,y) stapeldiagram barh(x,y) horisontellt stapeldiagram pie(y) tårtdiagram stairs(x,y) trapstegsdiagram stem(x,y) variant på stapeldiagram
13
Enklare sätt att rita funktionsgraf
ezplot – ”easy-plot”: Ange funktion och intervall: ezplot(’sin’,[0,2*pi]) Glöm inte enkelfnuttarna! fplot fungerar liknande som ezplot, men väljer punkter adaptivt.
14
Enklare sätt att rita funktionsgraf
fplot kan också användas enligt: fplot(f,[0,2*pi]) fplot(’x^2’,[0,10])
15
Histogram Skapa 1000 normalfördelade värden: y=randn(1000,1)
Rita histogram med 15 intervall: hist(y,15)
16
3D-kurva Skapa punkter: t=0:0.1:10; x=exp(-0.2*t).*cos(2t);
y=exp(-0.2*t).*sin(2t); Rita upp kurvan: plot3(x,y,t)
17
Rita yta i rummet Skapa ett nät av evalueringspunkter:
[x,y]=meshgrid(-4:0.1:4, -4:0.1:4); Evaluera funktion i varje sådan punkt: z=exp(-0.5*(x.^2+y.^2)); Rita upp resultatet: mesh(x,y,z);
18
Aspekter av yta i rummet
Rita upp höjdkurvor för ytan: contour(x,y,z); Rita upp ytan och inte bara nätet: surf(x,yz)
19
Lägg till information legend(’kurva1’, ’kurva2’) ger faktaruta
xlabel(’text på x-axeln’) ylabel(’text på y-axeln’) zlabel(’text på z-axeln’) title(’Min titel på grafen’) text(3,4,’extra info’)
20
Flera kurvor samtidigt (Alt 1)
Alternativ 1: x=0:0.1:10; y=x.^2 z=z.^3 plot(x,y,x,z)
21
Flera kurvor samtidigt (Alt 2)
x=0:0.1:10; y=x.^2 plot(x,y) hold on z=x.^2 plot(x,z) hold off
22
Färger och linjer x=0:0.1:10; y=x.^2 plot(x,y,’g--’)
Färger: b,g,r,c,m,y,k,w Linjer: :
23
Delfönster x=0:0.1:10; y=x.^2 subplot(1,1,1) plot(x,y) z=x.^2
plot(x,z)
24
Lycka till!
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.