At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

Relevanta dokument
ATT RITA GRAFER MED KOMMANDOT "PLOT"

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

Mer om funktioner och grafik i Matlab

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

Mer om funktioner och grafik i Matlab

Funktioner och grafritning i Matlab

Beräkningsverktyg HT07

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

% Föreläsning 3 10/2. clear hold off. % Vi börjar med att titta på kommandot A\Y som löser AX=Y

Linjär algebra med MATLAB

Funktioner och grafritning i Matlab

TANA17 Matematiska beräkningar med Matlab

Matlabövning 1 Funktioner och grafer i Matlab

TSBB14 Laboration: Intro till Matlab 1D

TAIU07 Matematiska beräkningar med Matlab

Matriser och linjära ekvationssystem

4 Numerisk integration och av differentialekvationer

Matriser och linjära ekvationssystem

Introduktion till MATLAB

Matlabföreläsningen. Lite mer och lite mindre!

Matlabövning 1 Funktioner och grafer i Matlab

MAM283 Introduktion till Matlab

Mer om funktioner och grafik i Matlab

Matlab övningsuppgifter

Parametriserade kurvor

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

Laborationstillfälle 1 Lite mer om Matlab och matematik

6. Matriser Definition av matriser 62 6 MATRISER. En matris är ett rektangulärt schema av tal: a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n A =

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

Datorövning 1 Fördelningar

Grafritning och Matriser

% Föreläsning 4 22/2. clear hold off. % Vi repeterar en liten del av förra föreläsningen:

Laboration: Vektorer och matriser

Matriser och Inbyggda funktioner i Matlab

Matriser. Vektorer. Forts. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

Matriser och Inbyggda funktioner i Matlab

Laboration: Grunderna i MATLAB

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

Introduktion till Matlab

Mer om linjära ekvationssystem

Lab 1, Funktioner, funktionsfiler och grafer.

SKRIVNING I VEKTORGEOMETRI

Linjära ekvationssystem

Moment Viktiga exempel Övningsuppgifter

MATLAB övningar, del1 Inledande Matematik

Matriser. Vektorer. Grunderna i MATLAB 2. Informationsteknologi. Informationsteknologi.

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Matriser och vektorer i Matlab

MATRISTEORI. Pelle Pettersson MATRISER. En matris är ett rektangulärt schema med tal, reella eller komplexa, vilka kallas matrisens

Grunderna i MATLAB. Beräkningsvetenskap och Matlab

Flervariabelanlys och Matlab Kapitel 1

15 februari 2016 Sida 1 / 32

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

1 Grundläggande kalkyler med vektorer och matriser

Linjära ekvationssystem

Mer om geometriska transformationer

Linjära ekvationssystem i Matlab

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Datorövning 1: Fördelningar

SKRIVNING I VEKTORGEOMETRI

Introduktion till Matlab

Matriser och vektorer i Matlab

Mer om funktioner och grafik i Python

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

KPP053, HT2016 MATLAB, Föreläsning 3. Plotter och diagram Läsa och skriva data till fil

Beräkningsvetenskap föreläsning 2

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan.

Matematik med Matlab för I Inledning. 1 Programmering i MATLAB

Geometriska transformationer

Uppgift 1. (SUBPLOT) (Läs gärna help, subplot innan du börjar med uppgiften.) 1 A) Testa och förklara hur nedanstående kommandon fungerar.

Grafik och Egna funktioner i Matlab

Introduktion till Matlab

SKRIVNING I VEKTORGEOMETRI Delkurs

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

Lab 2, Funktioner, funktionsfiler och grafer.

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

MATLAB. Vad är MATLAB? En kalkylator för linlär algebra. Ett programspråk liknande t.ex Java. Ett grafiskt verktyg.

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

de uppgifter i) Under m-filerna iv) Efter samlade i en mapp. Uppgift clear clc Sida 1 av 6

Instruktion för laboration 1

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

1.1 MATLABs kommandon för matriser

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Du kan söka hjälp efter innehåll eller efter namn

15 september, Föreläsning 5. Tillämpad linjär algebra

Introduktion till Matlab

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

Introduktion till Matlab

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

SKRIVNING I VEKTORGEOMETRI

Matematisk Modellering

Introduktion till Matlab

Transkript:

% Föreläsning 1 26/1 % Kommentarer efter %-tecken clear % Vi nollställer allting 1/2+1/3 % Matlab räknar numeriskt. Observera punkten som decimaltecken. sym(1/2+1/3) % Nu blev det symboliskt pi % Vissa konstanter finns färdiga format long % Om vi vill se fler värdesiffror pi format % Återställer sin(pi) % Vissa funktioner finns också färdiga sin(sym(pi)) % Nu blev det exakt x=3 % Vi ger variabeln x värdet 3 x % Finns nu i minnet y=x+2 x+2 % Om vi inte har något vänsterled hamnar svaret i variabeln ans y=ans+1 % y får ett nytt värde x=x+1 % Detta ser kanske lite kontigt ut, alltså ingen ekvation z=y-7; % Med ett ;-tecken efter så skrivs inte resultatet ut z % Men z finns såklart i minnet U=[ 1 2 3 ] % Vi skapar en vektor (radmatris) A=[ 1 2 3 ; 4 5 6 ; 7 8 9 ] % Detta ger en 3*3-matris. Vi byter rad med ; A=[ 1 2 3 4 5 6 7 8 9 ] % Eller helt enkelt genom att byta rad V=[ 4 ; 5 ; 6 ] % Detta ger en kolonnvektor (kolonnmatris) B=A*A % Matrismultiplikation U*V % Blir ett tal (1*1-matris) V*U % Blir en 3*3-matris U*U % Funkar inte A*V % Kolonnvektor U*A % (Rad)vektor B=A+A % Matrisaddition U+U % Funkar U+V % Borde inte funka, så Matlab gör något annat än vanlig addition. B=A.*A % Med en punkt framför operatorn verkar denna elementvis U.*U % Nu funkar detta U.*V % Undrar vad Matlab gör här? A^3 % Samma som A*A*A A.^3 % Samma som A.*A.*A U.+U % Detta finns inte med, eftersom det är samma som U+U sin(a) % Jodå, vi kan ta sinus av en hel matris (elementvis) At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor A(2,3) % Så här plockar vi ut elementet på rad 2 kolonn 3 U(2) % Andra elementet i U A(4) % Detta funkar, men observera att den räknar kolonnvis A(3,2)=-A(3,2) % Vi kan också byta värde på ett enskilt element A(1,:) % Här plockar vi ut hela första raden A(:,2) % Och andra kolonnen

A(:,3)=V % Byter ut tredje kolonnen mot V A(1:2,2:3) % Ger delmatrisen bestående av rad 1 till 2 kolonn 2 till 3 A([ 1 3 ],:)= [ 10 11 12 ; 13 14 15 ] % Byter ut första och tredje raden X=1:9 % Ger en vektor med element från 1 till 9 Y=1:2:9 % Detta ger en med steglängd 2 Z=40:-3:10 % Eller varför inte så här length(z) % Ger längden av, dvs. antal element i, Z size(z) % Eller som storlek (typ) tolkad som matris size(a(1:3,2:3)) % Storleken av 3*2-matrisen vi plockar ut ur A Z(3:2:11) % Här plockar vi ut element 3 till 11 i steg om 2 A=ones(2,2) % Ger en 2*2-matris med bara 1:or B=zeros(2,2) % Med bara 0:or C=eye(2,2) % Enhetsmatrisen, som vi skall återkomma till D=rand(2,2) % Ger slumptal (likformigt fördelade mellan 0 och 1) [ A B ] % Vi kan sätta ihop hela matriser [ A ; B ] [ A B ; C D ] % Vi tittar nu på några linjära ekvationssystem. % Uppgift 1.3 i boken kan vi lösa så här A=[ 1-2 1 ; 2-6 6 ; -3 5 1 ]; % Matar in systemmatrisen Y=[ 1 ; 2 ; 3 ]; % Och högerledet A\Y % Detta ger lösningen linsolve(a,y) % Detta går också bra % Vi provar nu med uppgift 1.4 A=[ 1-2 1 ; 2-6 6 ; -3 5-1 ]; % Systemmatrisen Y=[ 1 ; 2 ; 3 ]; % Högerledet A\Y % Detta saknade lösning. Skall förklara texten vid senare tillfälle. % Och till sist 1.11 A=[ 1-2 1 ; 2-6 6 ; -3 5-1 ]; % Systemmatrisen Y=[ 1 ; 4 ; -2 ]; % Högerledet A\Y % Här skulle vi ju ha parameterlösning. Förklarar återigen senare. % Vi får iallafall en lösning. %Vi tittar nu på några system som inte är kvadratiska. % I uppgift 1.14 har vi fler obekanta än ekvationer, % och förväntar oss parameterlösning A=[ 2 3 4 ; 4-3 2 ] % Systemmatrisen Y=[ 5 1 ]' % Högerledet A\Y % Matlab ger en lösning, men återigen bara en. % I uppgift 1.9 har vi fler ekvationer än obekanta, % och förväntar oss att lösning saknas. A=[ 1 1 ; 1-2 ; 3 4 ] Y=[ -4 2 1]' % Matlab ger en lösning, trots att någon sådan inte finns! % Vi tittar nästa gång på vad Matlab gör. % Några välkända operationer på vektorer u=[1,2,3] % Detta är samma som radmatrisen [ 1 2 3 ] v=[4,5,6] dot(u,v) % Ger skalärprodukten (i ON-bas) cross(u,v) % Ger vektorprodukten norm(u) % Ger längden av vektorn u % Nu ritar vi kurvor och ytor.

% För att rita exempelvis en funktionskurva y=f(x) så skapar vi först en % vektor med en massa x-värden och sedan motsvarande vektor med y-värden, % och plottar paren (x,y) x=0:0.02:5; % Från 0 till 5 i steg om 0.02 y=x.^2; % Kvadraten av alla x-värden, dvs. vi har y=f(x)=x^2 plot(x,y) % Ritar alltså kurvan y=x^2 från 0 till 5 % Ger samma skala på axlarna axis normal % Återställer % Kurvan ritas genom att paren av punkter förbinds med räta linjestycken x=0:10; y=sin(x); plot(x,y) % Nu blev det lite sniket % För att rita flera kurvor i samma figur skriver man "hold on" % Man kan också ge kurvorna olika utsende x=0:0.1:3; y1=exp(-x); y2=exp(-x).*sin(x); y3=x.^4.*exp(-x.^2); plot(x,y1,'--') % Streckad kurva hold on plot(x,y2,'r') % Röd plot(x,y3,'linewidth',3) % Fetare hold off % Återställer % Vi kan också rita i olika fönster. "subplot(m,n,k)" ger m*n fönster, och % ritar i fönster k (räknas radvis först). x=0:0.1:10; subplot(3,2,1) y1=sin(x); plot(x,y1) title('y=sin(x)') % Detta ger en titel på grafen subplot(3,2,2) y2=cos(x); plot(x,y2) title('y=cos(x)') subplot(3,2,3) y3=sin(2*x); plot(x,y3) title('y=sin(2x)') subplot(3,2,4) y4=cos(2*x); plot(x,y4) title('y=cos(2x)') subplot(3,2,5) y5=2*sin(x); plot(x,y5) title('y=2sin(x)') subplot(3,2,6) y6=2*cos(x); plot(x,y6) title('y=2cos(x)') % Vi kan också rita parametriserade kurvor subplot(1,1,1) % Återställer till ett fönster t=linspace(0,2*pi); x=cos(t); y=sin(t); plot(x,y) % Ger enhetscirkeln % Nu ser vi bättre % Vi har här använt ett alternativt sätt att skapa t-värden. "linspace(a,b)" % ger 100 värden från a till b, "linspace(a,b,n)" ger N stycken.

t=linspace(-3,3); x=-1+2*t; y= 2-3*t; plot(x,y) % Ger linjen genom (-1,2) med riktningsvektor (2,-3) grid on % Ritar ut rutnät % Nu får vi rätt lutning på linjen grid off % Tar bort rutnätet igen % Vi kan även rita kurvor i tre dimensioner, med "plot3" t=linspace(-3,3); x=2- t; y= t; z=1-2*t; plot3(x,y,z) % Linjen genom (2,0,1) med riktningsvektor (-1,1,-2) grid on % Prova att vrida på figuren (tryck först på pilen där uppe som går runt). t=linspace(0,4*pi); x=cos(t); y=sin(t); z=t; plot3(x,y,z) % Ger en spiral % För att rita funktionsytor för funktioner z=f(x,y) av två variabler så % behöver vi först skapa ett "rutnät" av (x,y)-punkter. x=-3:0.01:3; y=-3:0.01:3; [X,Y]=meshgrid(x,y); % Skapar rutnätet Z=sin(X).*cos(2*Y); % Här är alltså f(x,y)=sin(x)*cos(y) mesh(x,y,z) % Ritar funktionsytan % För att se rutnätet på ytan så väljer vi betydligt längre steg i våra % x och y-intervall. x=-3:0.2:3; y=-3:0.2:3; [X,Y]=meshgrid(x,y); Z=sin(X).*cos(2*Y); mesh(x,y,z) % Nu går det också mycket "snabbare" att vrida på figuren. % Prova nu själv "meshz", som ger referenslinjer till xy-planet, och % "meshc", som även ger så kallade nivåkurvor (mer om det i kursen Flerdim). % Vi ritar planet 2x-y+3z-5=0 x=-3:0.2:3; y=-3:0.2:3;

[X,Y]=meshgrid(x,y); Z=(-2*X+Y+5)/3; % Vi löser ut z ur planets ekvation mesh(x,y,z) % Om vi bara vill rita ut en punkt i rummet gör vi såhär plot3(1,2,3) % Syns inte, men detta blir bättre plot3(1,2,3,'*') % Om vi har punkten sparat som vektor kan vi göra såhär P=[1 2 3]; plot3(p(1),p(2),p(3),'*') % Ta redan nu för vana att spara det ni skriver i ett så kallat "script". % Från HOME-menyn väljer ni då "New Script". Då kommer ett fönster upp som ni % kan skriva i. Ni kan, efter att ha namngett och sparat i en fil, köra % alla kommando i fönstret med "Run" från EDITOR-menyn. % Ni kan sedan också köra hela filen med ett enda kommando: % Om ni exempelvis sparat i filen Test.m så skriver ni bara % "Test" i kommandofönstret.