Sunteți pe pagina 1din 34

Introducere n

MathScript
Prof. indrumator: S. Paturca
Masteranzi:

MOCANU Irina
MICU Adrian
LIXANDRU Alin

Grupa:

IPSE 2

Cuprins:
1.

Ce nseamn LabVIEW?

2.

Ce este MathScript?

3.

Operatii de baza in LabVIEW MathScript

4.

Reprezentarea grafic a datelor n MathScript


LabVIEW

5.

Programarea in LabVIEW MathScript

6.

Bucla FOR

7.

Instructiunea de decizie IF

8.

Instructiunea repetitiva cu test initial WHILE

9.

Bibliografie

Ce nseamn LabVIEW?
LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench)
este:
-

si
folosit de National Instruments.

Ce este MathScript?
MathScript

este de un nivel mai inalt:

orientat spre matematic,

bazat pe limbajul text pentru sarcini de calcul mathematic

este cel mai potrivit pentru calculul mathematic

se pot crea functii personalizate, sintaxa fiind ca cea a Matlabului.

Functiile MathScript:

Plot (2D si 3D);

Procesarea digitala a semnalului (Digital Signal Processing);

Curba de montare si interpolare (Curve Fitting & Interpolation);

Rezolvarea ecuatiei diferentiale (Ordinary Differential Equation


(ODE) Solves);

Operatii polinomiale (Polynomial Operations);

Algebra lineara (Linear Algebra);

Operatii cu matrici (Matrix Operations);

Operatii cu vectori (Vector Operations);

Probabilitati si statistici (Probability and Statistics);

Optimizare (Optimization);

Functii de baza (Basic Functions);

Functii avansate (Advanced Functions);

Functii trigonometrice (Trigonometric Functions);

Operatii booleene si biti (Boolean and Bit operations);

Achizitia de date (Data Acquisition);

Etc.

Cum accesam MathScript?

Procedura de creare a unei funcii


definite de utilizator n MathScript

Exemplu de afisare al unui exercitiu in


MathScript

Fereastra MathScript const dintr-un numr de (sub)ferestre:

Fereastra de comand (Command Window) in care se tasteaza comenzile ce vor fi


executate;

Fereastra de ieire (Output Window) n care sunt afiate comenzile executate i


rezultatele numerice.

Fereastra spaiului de lucru (Workspace window), care conine variabilele, Script


i istoricul (sub)ferestrelor cu urmtoarele tabs:
- Variabile (Variables)
- Script (Script)
- Istoric (History)

Fereastra spaiului de lucru (Workspace window) conine un numr de butoane


(buttons):
- Deschide (Open) (script);

- Ruleaza (Run) - se execut prezentul cod n editor, chiar dac script-ul nu a


fost salvat.
- Salveaza (Save) (script);
- New (script).

C
o
n
t
i
n
u
t

Operatii de baza cu numere (Numbers)

Operatii de baza cu matrice (Matrices)

Functiile length si size calculul dimensiunile vectorilor si a matricelor.


Pentru o operatie aritmetica cu fiecare element dintr-un vector/matrice,
operatorul trebuie sa fie precedat de ..

Numere complexe
Exemplu:

z1 = 7 + i z1 = 7 + j
z2 = 2 z2 = 2*exp(j*pi)

>> A =

[1

10

11

12 13 14 15

16

17 18 19 20]

A=
1

10

11

12

13

14

15

16

17

18

19

20

a. Un ntreg rnd al matricei A poate fi obinut prin specificarea ":" ca un indice coloan:
>> A(2,:)
ans =
6

10

b. O ntreag coloan a matricei A poate fi obinut prin specificarea ":" ca si indice rnd:

>>A(:,3)
ans =
3
8

13
18

Reprezentarea grafic a datelor


n MathScript LabVIEW
Cele mai frecvente funcii de plotare n MATHSCRIPT LABVIEW:
figure (n) va activa figura cu numarul n sau va crea o noua figura indexata de n.
plot produce poriuni liniare ntre valorile sale de date. Cu suficiente puncte date graficul arat continuu.
stem este modul natural de plotare a secvenelor. stem(x, y) ploteaza secventa y la valorile specificate n x.
xlabel ('string') Eticheteaza axa x - string.
ylabel ('string') Eticheteaza axa y - string.
title ('string')
Exemplu pentru functia y
x = -2:0.2:2;
y = x.^2;
figure(1);
plot(x,y);
xlabel('x');
ylabel('y=x^2');
title('Simple plot');
figure(2);
stem(x,y);
xlabel('x');
ylabel('y=x^2');
title('Simple stem plot');

= x2 unde x = [-2; 2].

Alte functii:

hold on / off nlocuiete plotul curent cu cel nou.


Pentru a aduga un nou plot pentru un grafic existent folosim hold on.
Dac dorii ca s rescrieti peste plotul curent utilizati hold off.

legend ('plot1', 'plot2', ..., 'plot N') ofer o modalitate uoar de a


identifica ploturile individuale n cazul n care exist mai mult de unul.

axis ([xmin xmax ymin ymax]) pentru a seta axa.


Utilizai axis on/off pentru a comuta axa on/off.

subplot (m, n, p) - Imparte fereastra n m rnduri, n coloane i selecteaz


subplotul p ca si plot curent;

Exemplu:
subplot (2,1,1) mparte figura n dou i selecteaz partea superioar;
subplot (2,1,2) selecteaz partea inferioar.

grid on/off adaug sau elimin gridul plotului

Introducere in Programare folosind


LabVIEW MathScript

Programarea in LabView Mathscript

Poate fi utilizata pentru automatizarea calculelor.

Liniile intr-un script LABVIEW MathScript sunt interpretate secvential

Instructiunile sunt executate pe rand.

Scripturile LABVIEW MATHSCRIPT sunt fisiere text si pot fi editate de orice


editor text.

Orice script ar trebui sa ruleze la fel pe orice calculator ce ruleaza LABVIEW


MATHSCRIPT indiferent de sistemul de operare.

Fisierele Script trebuie sa aibe extensia ".m" si sa fie intr-un directoriu de


care LABVIEW MATHSCRIPT stie.

Numele fisirelor .m ar trebui sa inceapa cu o litera si sa contina doar litere si


numere

Bucla FOR

Bucla FOR este un mod de a face LABVIEW MATHSCRIPT sa repete o serie de


calcule utilizand valori diferite.

Sintaxa:

for d = array
% LABVIEW MATHSCRIPT command 1
% LABVIEW MATHSCRIPT command 2
% and so on

end

Bucla FOR

Pentru o bucla FOR ce efectueaza calcule pentru valori ale lui d de la 1.0 la
2.0 avem:

for d = 1.0:0.05:2.0
% LABVIEW MATHSCRIPT command 1
% LABVIEW MATHSCRIPT command 2
% and so on

end

Atentie!: 1.0:0.05:2.0 creaza un vector de valori de la 1.0 la 2.0

Bucla FOR

Buclele FOR pot sa contina si alte bucle FOR.

De exemplu, urmatorul cod efectueaza comenziile LABVIEW MATHSCRIPT


pentru fiecare combinatie de d si c:

for d=1:0.05:2
for c=5:0.1:6
% LABVIEW MATHSCRIPT Commands
end

end

Exemple de exercitii bucla FOR

De cate ori va va printa acest program "Hello World"?

for a=0:50
disp('Hello World')

end

R: Codul 0:50 creaza un vector de numere intregi incepand cu 0 pana la 50;


acest vector are 51 de elemente. Hello World va fi printat o data pentru
fiecare element in vector (de 51 de ori).

Exemple de exercitii bucla FOR

Ce valoare va printa urmatorul program?


count = 0;
for d = 1:7
for h = 1:24

R: Bucla va fi executata de 7 ori.

In fiecare iteratie a buclei d, bucla h va fi


executata de 24 de ori.

In fiecare iteratie a buclei h, bucla m va fi


executata de 60 de ori.

In fiecare iteratie a buclei m, bucla s va fi


executata de 60 de ori.

Deci, numaratoarea de variabila va fi


incrementata de 7 x 24 x 60 x 60 =604800 ori.

Un mod mai simplu de a obtine acelasi


resultat este urmatoarea comanda:
7*24*60*60.

for m = 1:60
for s = 1:60
count = count + 1;
end

end
end
end
count

Instructiunea de decizie IF

Utilizarea instructiunii de decizie daca (IF) este un mod de a realiza secventa de


instructiuni executate de LABVIEW MATHSCRIPT in functie de valorile variabilelor.

if expresie
% comanda LABVIEW MATHSCRIPT se executa daca expresia este corecta

end
unde expresie este o expresie logica, ce poate fi adevarata sau falsa.

De exemplu, urmatoare functie va afisa v este negativ daca variabila v este


intr-adevar negativa:

if v < 0
disp('v is negative')

end

O forma mai complicata a functiei IF este:

if expression
% comanda LABVIEW MATHSCRIPT va fi executata daca expresia este adevarata

else
% comanda LABVIEW MATHSCRIPT va fi executata daca expresia este falsa

end

De exemplu:

if v < 0
disp('v is negative')
else

disp('v is not negative')


end

Cea mai generala forma a functiei IF :

if expression1
% comenzile LABVIEW MATHSCRIPT sunt executate daca expression1 este adevarata

elseif expression2
% comenzile LABVIEW MATHSCRIPT sunt executate daca expression2 este adevarata

elseif expression3
% comenzile LABVIEW MATHSCRIPT sunt executate daca expression3 este adevarata

else
% comenzile LABVIEW MATHSCRIPT sunt executate daca expresiile sunt toate false

end

Exemplu:
if v < 0
disp('v is negative')
elseif v > 0
disp('v is positive')
else

disp('v is zero')
end

Pentru exemplele din acest modul, comenzile din interiorul functiei daca (IF)
sunt indentate in functie de functiile if, else, elseif.

Exemple de exercitii - instructiunea IF

Ce va afisa urmatoarul cod LABVIEW MATHSCRIPT?

a = 10;

if a ~= 0
disp('a is not equal to 0')
end
R: a is not equal to 0.

Exemple de exercitii - instructiunea IF

Ce va afisa urmatoarul cod LABVIEW MATHSCRIPT?

a= 10;
if a > 0
disp('a is positive')

else
disp('a is not positive')
end
R: a is positive.

Instructiunea repetitiva cu test initial


WHILE

Este similara cu FOR permite executarea repetata a functiilor LABVIEW


MATHSCRIPT.

Numarul de executii al codului din interiorul functiei poate depinde de valorile


variabilelor din interiorul functiei

while expression
% LABVIEW MATHSCRIPT command 1
% LABVIEW MATHSCRIPT command 2
% More commands to execute repeatedly until expression is not true
end
unde expression este o expresie logica ce poate fi adevarata sau falsa.

Exemplu:

n=1
while n < 3
n = n+1
end

Codul va crea urmatoarele date de iesire:

n=1
n=2
n=3
Pentru toate exemplele din acest modul, comenzile din interiorul
functiei repetitive cat timp (WHILE) sunt indentate in functie de functiile
if, else, elseif.

Exemple de exercitii - instructiunea WHILE

De cate ori instructiunea repetitive va afisa Hello World?

n = 10;
while n > 0
disp('Hello World')
n = n - 1;
end

R: de 10 ori.

Exemple de exercitii - instructiunea WHILE

Ce valori va afisa urmatorul cod LABVIEW MATHSCRIPT?

Solutie:

a = 1;
n = 1;

a=

while a < 100

a=

a=

a = a*n
n = n + 1;
end

a = 24
a = 120

Bibliografie:

Introduction to LabVIEW MathScript Anthony Antonacci, Darryl


Morrell

Va multumim pentru atentie!

S-ar putea să vă placă și