KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Relevanta dokument
KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Linjär algebra med tillämpningar, lab 1

Introduktion till Matlab

Introduktion till Matlab

Laboration: Grunderna i Matlab

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Laboration: Grunderna i MATLAB

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

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Instruktion för laboration 1

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Instruktion för laboration 1

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

Introduktion till Matlab

Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs

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

SF1672, Linjär Algebra med Matlab för F1 Lab0

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Introduktion till Matlab

MMA132: Laboration 2 Matriser i MATLAB

Bygg din egen verktygslåda till PC-DMIS. Workshop, PC-DMIS dagar 2015

Kort om programmering i Matlab

Laboration 1: Linjär algebra

HI1024 Programmering, grundkurs TEN

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

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

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

PROGRAM A STABILISERANDE VÄGGSKIVOR

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Instruktioner för att kunna programmera på skolans datorer

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Matematisk Modellering

Automatisk start. Anne-Marie Mahfouf Översättare: Stefan Asserhäll

TSKS08 Introduktionskurs i Matlab Föreläsning 2

Kapitel 18: Text Editor

MMA132: Laboration 1 Introduktion till MATLAB

Matlabövning 1 Funktioner och grafer i Matlab

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Applikationsexempel Timer med tryckknapp

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

Uppgifter teknik HT17 (uppdaterad v. 40)

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Interaktiva berättelser med Twine

Matlabövning 1 Funktioner och grafer i Matlab

Matematisk Modellering

En introduktion till MatLab

Kommandotolken hittar du under Start->Program->Tillbehör->Kommandotolken

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

Laboration 1 Introduktion till Visual Basic 6.0

Programmeringsteknik med C och Matlab

Introduktion till Matlab

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

Introduktion till MATLAB

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

Introduktion till Matlab

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Introduktion till Matlab

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

Variabler och konstanter

Extramaterial till Matematik Y

Lab 1, Funktioner, funktionsfiler och grafer.

4. Kunna orientera sig mellan de olika fönstren

Labora&on 1 Variabler och beräkningar övningar/uppgi9er

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

TANA17 Matematiska beräkningar med Matlab

Inledning till OpenOffice Calculator Datorlära 2 FK2005

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

Uppgift 1 ( Betyg 3 uppgift )

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Datorövning 1: Introduktion till MATLAB

TSBB14 Laboration: Intro till Matlab 1D

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

Introduktion till Matlab

kommando -fl argument

Introduktion till Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Lab 7, 48 steg till ett bättre liv i Unix-labbet

Övningsuppgifter till föreläsning 2 Variabler och uttryck

MATLAB. En kort praktisk introduktion. Olof Hultin FAFA Omarbetad efter original av Henrik Persson

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

Extramaterial till Matematik Y

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

JoTube2 Bruksanvisning 1(14)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Introduktion till Matlab

Objektorienterad Programmering (TDDC77)

Objektorienterad programmering i Java I

Whack-a-Witch. Introduktion. Nivå

Matriser och vektorer i Matlab

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Öppna, redigera och spara filer som ska laddas upp i Socialstyrelsens portal Filip med hjälp av Excel

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

Datorövning 1 Calc i OpenOffice 1

Transkript:

KPP053, HT2016 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

MATLAB Väletablerat Mycket omfattande program

GNU OCTAVE Öppen källkod Gratis I de flesta fall fullt kompatibel med kod som är skriven för MATLAB (och vice versa) Kan köras med eller utan grafiskt gränssnitt.

FREEMAT Öppen källkod. Gratis. I ofta fullt kompatibel med kod som är skriven för MATLAB (och vice versa). Kommer med ett grafiskt gränssnitt.

Arbetsytan

Historik Tidigare körda kommandon kan köras igen genom att bläddra fram och tillbaka med piltangenterna

Variabler Variabler kopplar ett namn till en viss platts i datorns arbetsminne så att man enkelt kan hänvisa till det som lagrats där. Svaret från senaste uträkningen lagras automatiskt under variabelnamnet ans Egna variabler lagras med likhetstecken. Exempel: a=2 Några variabler är fördefinierade vid start t.ex. pi e i

Tillåtna variabelnamn Variabelnamn får innehålla följande tecken Versaler och gemener (A-Z),(a-z) Siffror (0-9) Understreck (_) Variabelnamnet får inte börja med siffra eller understreck. Det går bra att lagra ett annat värde i någon av de fördefinierade variablerna. Det fördefinierade värdet återställs automatiskt när variabelnamnet blir ledigt igen. Observera att programmet gör skillnad på versaler och gemener.

Att hålla arbetsytan prydlig Avsluta kodrader med semikolon för att inte se någon output från kommandot. Exempel: b = 3; Använd kommandot clc för att rensa kommandofönstret. Använd kommandot clear för att radera en given variabel. Exempel: clear b Skriv clear all för att radera samtliga lagrade variabler (inbyggda variabler stannar)

Funktioner En funktion anropas med funktionens namn, och en eller flera variabler inom parantes. Exempel: sqrt(2) ger roten ur två, sqrt(a)ger roten ur det värde som lagrats under variabelnamnet a. Om funktionen tar mer än en variabel separeras dessa med kommatecken. Exempel: rem(13,5)ger resten av heltalsdivisionen 13/5.

Funktioner En kort lista med några av de inbyggda funktionerna finns på sidan 30 i kursboken. Observera att standardenheten för de trigonometriska funktionerna är radianer. Det går att definiera egna funktioner (kommer senare i kursen).

Funktioner Det går utmärkt att ge värdet av en funktion som input till en annan funktion. Exempel: sin(degtorad(45))konverterar 45 från grader till radianer. OBS: det går i det här fallet även att skriva sind(45).

Skript Skript kan användas för att automatisera beräkningar. Ett skript är en textfil som innehåller ett antal kommandon som körs automatiskt ett efter ett när skriptet körs. För att textfilen skall kännas igen som ett skript måste namnet sluta med.m Kommandon som körs av ett skript beter sig precis likadant som när de skrivs in manuellt.

Statiskt bestämt problem En stel balk är förankrad i väggen med ett gångjärn, och fäst i taket via ett stag med tvärsnittsarea A elacticitetsmodul E (fig. 1). En punktlast F läggs på längst ut på balken. Hur stor blir vinkeln α (fig. 2)? 2 m A, E L 1 2 m A, E L 1 3 m 3 m α F A = 50 mm 2 E = 70000 MPa L 1 = 1,5 m F = 50000 N

Uträkning: Momentjämvikt : F 3 m S 1 2 m = 0 S 1 = F 3 m 2 m Stagets förlängning δ 1 = S 1L 1 EA Vinkeln alfa α = arctan δ 1 2 m A = 50 mm 2 E = 70000 MPa L 1 = 1,5 m F = 50000 N

Skapa en ny skript-fil

Mata in variabler Variabler kan deklareras i skript-filen på samma sätt som i kommandofönstret: %Skript för att lösa statiskt bestämt problem % Indata: A = 50; % mm2 E = 70000; % MPa L1 = 1.5; % m F = 50000; % N Allt som står efter ett procenttecken ignoreras av programmet, detta kan användas till att lägga till kommentarer i koden.

Beräkna lösningen Jämvikten, stagets förlängning och vinkeln alfa beräknas i tur och ordning: % Moment-jämvikt: S1 = F*3/2; % Stagets förlängning: delta = S1*L1/E/A; % Vinkeln alfa: alfa = atand(delta/2) Eftersom det inte finns något semikolon efter sista kodraden kommer svaret att printas i kommandofönstret när skriptet kört klart.

Spara och köra script Spara scriptfilen under lämpligt namn Navigera till mappen där du sparade filen Kör filen Genom att skriva filnamnet i kommando-raden Genom att högerklicka på den i rutan till vänster och välja run i menyn Genom att markera den i rutan till vänster och trycka på F9

Bläddra bland filer

Bläddra bland filer Det går även att bläddra bland filerna genom att skriva i kommandofönstret pwd %skriv ut sökvägen till aktiv mapp (print working directory) dir %skriv en lista på filer och mappar i aktiv katalog cd <SÖKVÄG> %gör <SÖKVÄG> till aktiv mapp %<SÖKVÄG> kan vara relativ cd.. %navigera ett steg upp i mappstrukturen

input() Ett behändigt sätt att mata in data i skript om man vill göra dem mera användarvänliga. input( text ) skriver text i kommandofönstret, och väntar på input. Exempel: L1 = input( Ange längden L1 ); kommer att skriva Ange längden L1 på skärmen, vänta på input, och sedan lagra resultatet i variabeln L1.

fprintf() Ett behändigt sätt att få ut data ur skript om man vill göra dem mera användarvänliga. fprintf( text %4.3f \n,x) skriver text i kommandofönstret. text skrivs ut rakt av. %4.3f kommer att ersättas av variabeln x utskriven som decimaltal fyra siffror i bredd varav 3 är decimaler. \n flyttar markören till nästa rad. Mer utförlig förklaring av fprintf finns på sidan 41 i kursboken.

Lös ett linjärt ekvationssystem Exempel från sidan 17 i boken: 1 2 1 9 0 2 1 2 3 A % Ange matriser: x 1 x 2 x 3 x A = [1 2-1 ; 9 0 2 ; 1 2 3]; b = [0 ; 2 ; -1]; % Beräkna svarsmatrisen x: x = A\b = 0 2 1 b

Statiskt obestämt problem 1,5 m 3 m A, E A, E L L 2 1 A = 50 mm 2 E = 70000 MPa L 1 = 1,5 m L 2 = 2 m F = 50000 N F

Uträkning: Momentjämvikt : F 3 m S 1 1,5 m S 2 3 m = 0 S 1 1,5 + S 2 3 = F 3 Stagens förlängning δ 1 = S 1L 1, δ EA 2 = S 2L 2 EA Geometriskt samband α = arctan S 1 L 1 EA δ 1 = 0, S 2 L 2 EA δ 2 = 0 δ 1 1,5 m = arctan δ 2 3 m δ 2 δ 1 3 m 1,5 m = 0

Ekvationssystem: S 1 S 2 δ 1 δ 2 1,5 3 3F = L 1 / (AE) -1 0 L 2 / (AE) -1 0 3/1,5-1 0

Nytt skript Indata som i förra skriptet % Indata: A = 50; % mm2 E = 70000; % MPa L1 = 1.5; % m L2 = 2; % m F = 100000; % N Alternativt kan input användas för att läsa in en eller flera av variablerna när funktionen körs.

Nytt skript Mata in matriser och lös ekvationssytsemet % Definera matriser: A = [1.5 3 0 0 ; L1/E/A 0-1 0 ; 0 L2/E/A 0-1 ; 0 0 3/1.5-1 ]; b = [ 3*F ; 0 ; 0 ; 0]; % Lös ekvationssystemt och lagra svarsmatrisen x x = A\b; % Hämta delta2 från 4e raden i 1a kolumnen i matrisen x delta2 = x(4,1); % Räkna ut vinkeln alfa och printa till skärm; alfa = atand(delta2/3) Alternativt kan funktionen fprintf användas för att printa svaret till skärmen.

Anonyma funktioner Exempel f = @(x) x^2 + 2*x -1 definierar funktionen f som polynomet x 2 +2x-1, den funktionen f kan nu användas på samma sätt som de inbyggda funktionerna. Om funktionen har flera variabler skiljs dessa åt med ett kommatecken: f = @(x,y) x^2 + y. (Det är även möjligt skapa mer avancerade funktioner, som sparas i sin egen textfil. Mer om detta i en senare föreläsning.)

Eget arbete (förslag): Läs avsnitten 1.1-1.6, 2.1-2.4 och 3.1-3.5. Modifiera det sista skriptet så att funktionerna input och fprintf används för att läsa in och skriva ut data. Några lämpliga instuderingsfrågor/övningsuppgifter i boken: 1.9 1.10.1-2 2.6.4-5 2.6.8-12 2.7.3-6.