MathScript Hans- Pe1er Halvorsen, M.Sc.
Ja! De1e er et IA fag dvs. både AutomaFsering og InformaFkk! Arbeidslivet krever anvendt kunnskap!
Tilstandsrom- modeller Dataverktøy SpesialFlfelle MathScript LabVIEW Differensial - likninger Tidsplanet Laplace Blokk- diagrammer Transfer- funksjoner 2.orden 1.orden Analyse/Design Stabilitets- analyse Det komplekse plan 2. Frekvensrespons 1. Systemets poler Bodediagram Realisering/ Implementering Reguleringsteknikk Serie, Parallel, Feedback Det komplekse plan S- planet K = Forsterkning T=Tidskonstant Sprang- respons 1.orden med Fdsforsinkelse Diskre@sering Reguleringssystem AsymptoFsk stabilt system Air Heater Tidsplanet Ustabilt system Marginalt stabilt system AsymptoFsk stabilt system Marginalt stabilt system Ustabilt system
Verktøy LabVIEW PC Byggverk Reguleringssystem MathScript Frekvensrespons Stabilitetsanalyse DiskreFsering Tilstandsrommodeller Byggeklosser Transferfunksjoner Differensiallikninger
MathScript MathScript er en del av LabVIEW! MathScript IDE:
Transferfunksjoner - MathScript MathScript kode: % Transfer Function num = [4]; den = [2, 1]; H = tf(num, den) % Step Response step(h) Prøv disse eksemplene! MathScript kode: % Transfer Function num = [2, 3]; den = [1, 4, 3]; H = tf(num, den) % Step Response step(h) U=1 - > Enhetssprang Prøv disse Hva blir resultatet da??
Blokkdiagrammer - MathScript Serie: Parallell: Tilbakekobling: MathScript kode: H = series(h1,h2) MathScript kode: H = parallel(h1,h2) MathScript kode: H = feedback(h1,h2) Eksempel: num=[1]; den=[1, 1]; H1= tf(num, den); num=[1]; den=[1, 1, 1]; H2 = tf(num, den); H = series(h1,h2) Prøv de1e!
Matema@kk i MathScript Matema@ske ulrykk: Likninger: y(x) = 2x + 4 y(3) =? x = 3; y = 2*x + 4; Vektorer: Matriser: Prøv disse eksemplene! x = [4, 3, 5] y = 1:10 A = [0, 1; -2, -3] C = [-1, 2, 0; 4, 10, -2; 1, 0, 6]
Matriser i MathScript Eksempel: Eksempel: Hva blir følgende? Hva blir følgende? Prøv disse eksemplene! Prøv evt. andre matriseoperasjoner, som rang, determinant, inverse, osv
PloMng i MathScript intervall på x aksen Eksempel: y(t) = 2x + 4 x = 0:5; y = 2*x + 4; plot(x,y) Ny_ge MathScript funksjoner ifm plo_ng: Prøv de1e! xlabel grid Ftle axis ylabel text Prøv disse ifm eksempelet over! Hvordan blir plo1et da? Hvordan virker disse? Skriv help <funksjonsnavn> i Command window Hvordan får man en annen farge på kurven? Eller en annen linjetype?
MathScript Part II (Neste Fme) Nå: Begynn på/jobb videre med Exercise 2: Basic MathScript Temaer i Part II: Egendefinerte funksjoner Løkker og befngelser Tips & Triks m.m.
Egendefinerte Funksjoner i MathScript
Egendefinerte Funksjoner i MathScript - Eksempel Vi ønsker å lage en funksjon som konverterer temperaturen fra grader Celsius Fl grader Fahrenhet Lage selve funksjonen: Funksjonsnavn Returverdi Argument Kjøring/bruk/uLes@ng av funksjonen: function Tf = fahrenheit(tc) Tf = (9/5)*Tc + 32; Returverdi Funksjonens innhold, som kan bestå av en eller flere linjer med MathScript- kode Funksjonen må lagres som fahrenheit.m på harddisken Tc = 23; Tf = fahrenheit(tc) De1e kan enten gjøres fra Command window eller Script window Prøv de1e! Hva blir Tf??
Løkker og be@ngelser i MathScript Prøv med forskjellige verdier på x if befngelse: x=3 if x > 2 sin(x) else cos(x) end for løkke: x = [1, 4, 6, 8, 9]; N = length(x); sum = 0; for i = 1:N sum= sum+ x(i) end Hva blir resultatet? Prøv disse eksemplene! Det finnes mange andre varianter også (Flsvarende som i C#) men if og for er de mest brukte!
Kommentarer: Tips & Triks % Dette er en kommentar x=2; % Kommentar2 y=3*x %Kommentar3 Ikke bruk mellomrom (space) i filnavn eller navn på funksjoner! De1e gjør koden mer lesbar!! Bruk piltaster (Pil opp og Pil Ned) for å bla i Fdligere brukte kommandoer i Command Window Bruk engelske navn på variable, funksjoner, filer, m.m. De1e er vanlig praksis i programmering! Bruk allfd variable - ikke se1 inn tall direkte i u1rykkene Desimaltegn: Bruk punktum ikke komma! Dvs. y=3.2 ikke y=3,2 Ja: a=2; b=4; y=a+b Nei: y=2+4 Funksjoner: Kun en funksjon i hver fil! Filnavnet (.m) og navnet på funksjonen må være det samme! Inkluder disse 3 i toppen av alle script: clear clc close all
Tips & Triks Bruk hjelp for å finne ut mer om de funksjonene du skal bruke. For å få hjelp om j funksjonen skriver du følgende i Command window: help tf En grei regel: En oppgave en fil, dvs. ikke pu1 alle oppgavene i en fil!! MatemaFske u1rykk: Bruk følgende i MathScript: x = 2; y = 2; z = 3*x^2 + sqrt(x^2 + y^2)+ exp(log(x))
Mye brukte Funksjoner i MathScript (ifm reguleringsteknikk) Oppsummering clear clc Transferfunksjoner og Tilstandsrommodeller j series feedback ss Manipulering av transferfunksjoner parallel conv Vi lærer mer om disse e1erhvert Simulering/plo_ng: step lsim plot grid Ftle xlabel ylabel Stabiltetsanalyse poles pzgraph Frekvensrespons bode margin Hvordan bruke disse funksjonene? help <funksjonsnavn> i Command window
Hans- PeLer Halvorsen, M.Sc. Telemark University College Faculty of Technology Department of Electrical Engineering, Informa@on Technology and Cyberne@cs E- mail: hans.p.halvorsen@hit.no Blog: hlp://home.hit.no/~hansha/ 18