Sunteți pe pagina 1din 34

Introducere n LabVIEW

MathScript
~ IPSE 2 ~

MOCANU Irina
MICU Adrian
LIXANDRU Alin

Introducere in MathScript | IPSE 2

CUPRINS:

Ce nseamn LabVIEW? ........................................................................... 3

Ce este MathScript? ................................................................................... 3

Cum accesam MathScript? ........................................................................ 4

I. Operatii de baza in LabVIEW MathScript ........................................................ 8


1. Operatii de baza privind numerele (Numbers)............................................... 8
2. Operatii de baza privind matricele (Matrices) ............................................... 9
3. Numere complexe ......................................................................................... 9
4. Variabilele in LabVIEW MathScript .......................................................... 10
5. Vectorii si matricele in LabVIEW MathScript ............................................ 10
6. Reprezentarea grafic a datelor n MathScript LabVIEW ........................... 11
a.

Printarea si exportarea graficelor ............................................................. 15

b. Graficele 3D ............................................................................................ 15
II.

Programarea in LabVIEW MathScript ........................................................ 17

1. Introducere in Programare folosind LabVIEW MathScript ......................... 17


2. Bucla FOR .................................................................................................. 18
2.1. Exercitii cu Bucla FOR ......................................................................... 20
3. Instructiunea de decizie IF .......................................................................... 25
3.1. Expresii logice ...................................................................................... 27
3.2. Exercitii cu functia IF ........................................................................... 28
4. Instructiunea repetitiva cu test initial WHILE ............................................. 30
4.1. Exercitii cu functia WHILE .................................................................. 31
III.

Bibliografie................................................................................................. 34

~2~

Introducere in MathScript | IPSE 2

Introducere n LabVIEW MathScript


Ce nseamn LabVIEW?
LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) este o platform si
un mediu de dezvoltare al limbajului de programare 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 matematic. Este cel mai potrivit pentru calculul matematic, se pot crea functii
personalizate, sintaxa fiind ca cea a Matlabului.
Algebra liniar este o ramur a matematicii preocupata cu studiul matricelor, vectorilor,
spaiilor vectoriale (numite, de asemenea, spaii liniare), hrilor liniare (numite, de asemenea,
transformri liniare) i sistemelor de ecuaii liniare. MathScript este potrivit pentru Algebra
liniara.
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o

Sumar al functiilor 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.

~3~

Introducere in MathScript | IPSE 2

Cum accesam MathScript?


Inainte de toate trebuie sa instalam LabVIEW. Cand s-a instalat programul, vom deschide
MathScript prin accesarea ferestrei LabVIEW.

Fig1. Fereastra de inceput LabVIEW

In fereastra de intrare selectam Tools MathScript Window :

Fig2. Fereastra de accesare MathScript

~4~

Introducere in MathScript | IPSE 2


Astfel, se va deschide urmatoarea fereastra:

Fig3. Fereastra MathScript

Mai jos este procedura de creare a unei funcii definite de utilizator n MathScript:

Fig4. Creare functie in MathScript

~5~

Introducere in MathScript | IPSE 2


Exemplu de afisare al unui exercitiu in MathScript:

Fig5. Exemplu1 de exercitiu in MathScript

Un script este o secven de comenzi din MathScript pe care dorim s o realizam pentru a
ndeplini o sarcin. Dup ce am creat script-ul il putea salva ca fiier .m pentru o utilizare
ulterioar.

Fig6. Exemplu2 de exercitiu in MathScript

~6~

Introducere in MathScript | IPSE 2

De retinut:

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


Fereastra de comand (Command Window) in care se tasteaza comenzile ce vor fi executate
(dup ce se apasa tasta Enter);
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):
Valoarea numeric a acestor variabile poate fi afiata. Valoarea poate fi, de asemenea,
reprezentata grafic selectnd Grafics n Variables dialog window.
Script (Script):
Deschide un editor de script. Pentru a deschide un alt editor de scripturi se selecteaza
meniul (in fereastra MathScript) File / New Script Editor.
Istoric (History):
Afieaz o list de comenzi anterioare pe care le-ai executat.
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.
Rularea include compilarea codului (adic generarea de cod executabil) nainte de a fi
executat. Reinei c script-ul nu este salvat cu butonul Run.
Salveaza (Save) (script);
New (script).

~7~

Introducere in MathScript | IPSE 2

I.
Operatii de baza in LabVIEW MathScript
1. Operatii de baza privind numerele (Numbers)
LABVIEW MATHSCRIPT are multe operaii aritmetice i funcii ncorporate. Cele mai multe
dintre ele sunt simplu de folosit. Tabelul de mai jos listeaz cteva operaii scalare utilizate n mod
curent. In acest tabel, x i y sunt scalari.

Fig1.1. Operaii matematice scalare comune in LabVIEW MathScript

Tabelul de mai jos prezint mai multe formule matematice, expresiile LABVIEW
MATHSCRIPT corespunztoare i valorile calculate de LABVIEW MATHSCRIPT.

Fig1.2. Exemplul de expresii in LabVIEW MathScript

~8~

Introducere in MathScript | IPSE 2

2. Operatii de baza privind matricele (Matrices)

Fig2. Operatii cu matrice in LabVIEW MathScript

Functiile length si size se folosesc pentru a calcula dimensiunile vectorilor si a matricelor.


Pentru a realiza o operatie aritmetica cu fiecare element dintr-un vector/matrice, atunci operatorul
trebuie sa fie precedat de ".", de exemplu .*, .^ si ./ .
Exemplu:

3. Numere complexe
LABVIEW MATHSCRIPT are un suport excelent pentru numere complexe cu mai multe
funcii predefinite disponibile. Unitatea imaginar este notat cu i sau (aa cum este de preferat n
domeniul ingineriei electrice) j.
Exemple:
z1 = 7 + i si z2 = 2 z1 = 7 + j si z2 = 2*exp(j*pi)

Fig3. Numere complexe scrise n MATHSCRIPT LABVIEW

~9~

Introducere in MathScript | IPSE 2

4. Variabilele in LabVIEW MathScript


O variabil n LABVIEW MATHSCRIPT este o valoare denumit. Folosind variabilele ne
permitem s manipulam valori n mod simbolic, care este deosebit de util atunci cnd programam.
Exemplu:
S presupunem c dorim sa calculam circumferina unui cerc cu diametrul de 5 uniti, folosind
formula c =d. Am putea seta prima variabila d la o valoare de 5:
>> d = 5
d = 5.000
Apoi putem calcula circumferina i s atribuim valoarea acestuia variabilei c:
>> c = pi*d
c = 15.708

5. Vectorii si matricele in LabVIEW MathScript

Exemplu:
>> 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

Un ntreg rnd al matricei A poate fi obinut prin specificarea ":" ca un indice coloan:

~ 10 ~

Introducere in MathScript | IPSE 2


>> A(2,:)
ans =
6

10

In mod similar, o ntreag coloan a matricei A poate fi obinut prin specificarea ":" ca si indice
rnd:
>>A(:,3)
ans =
3
8
13
18

6. Reprezentarea grafic a datelor n MathScript LabVIEW


LABVIEW MATHSCRIPT ofer o mare varietate de funcii i tehnici pentru afiarea grafic
a datelor. Mai multe ferestre pot fi afisate simultan, dar numai una este activa. Toate comenzile
sunt aplicate figurii active. Comanda figure (n) va activa figura cu numarul n sau va crea o noua
figura indexata de n.
n aceast seciune vom prezenta cteva dintre cele mai frecvent utilizate funcii de plotare n
MATHSCRIPT LABVIEW:

plot - functia 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')

~ 11 ~

Introducere in MathScript | IPSE 2


Exemplu de plotare pentru functia y = x2 unde x = [-2; 2].

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');
folosind aceste coduri vom avea urmatoarele figuri:

Unele comenzi pot fi de ajutor atunci cnd se lucreaz cu ploturi:

hold on / off - n mod normal este off. Acest lucru nseamn c comanda plot 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') - Comanda legend ofer o modalitate uoar de a
identifica ploturile individuale n cazul n care exist mai mult de unul.

~ 12 ~

Introducere in MathScript | IPSE 2

axis ([xmin xmax ymin ymax]) - Utilizai comanda axis pentru a seta axa aa cum dorii.
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;
- de exemplu subplot (2,1,1) mparte figura n dou i selecteaz partea superioar;
subplot (2,1,2) selecteaz partea inferioar.
grid on/off - Aceast comand adaug sau elimin gridul plotului.

Acest exemplu ilustreaza hold, legend si axis.


x = -3:0.1:3; y1 = -x.^2; y2 = x.^2;

figure(1);
plot(x,y1);
hold on;
plot(x,y2,'-');
hold off;
xlabel('x');
ylabel('y_1=-x^2 and y_2=x^2');
legend('y_1=-x^2','y_2=x^2');
figure(2);
plot(x,y1);
hold on;
plot(x,y2,'-');
hold off;
xlabel('x');
ylabel('y_1=-x^2 and y_2=x^2');
legend('y_1=-x^2','y_2=x^2');

~ 13 ~

Introducere in MathScript | IPSE 2


axis([-1 1 -10 10]);

Rezultatele sunt cele de mai jos.

Acest exemplu ilustreaza subplot si grid.


x = -3:0.2:3; y1 = -x.^2; y2 = x.^2;

subplot(2,1,1);
plot(x,y1);
xlabel('x'); ylabel('y_1=-x^2');
grid on;
subplot(2,1,2);
plot(x,y2);
xlabel('x');
ylabel('y_2=x^2');
iar rezultatele sunt urmatoarele:

~ 14 ~

Introducere in MathScript | IPSE 2

a. Printarea si exportarea graficelor


Dup ce ai creat figurile/graficele puteti s le imprimai sau s le exportati n fisierele
destinate graficelor. n sectiunea File" selecteaza meniului "Print" pentru a imprima sau "Save
As" pentru a salva. Folosind aceste opiuni ar trebui s fie suficient pentru cele mai multe cazuri,
dar exist, de asemenea, un numr mare de ajustri disponibile prin utilizarea "Export Setup",
"Page Setup" i "Print Setup".

b. Graficele 3D
ncheiem subiectul privind graficele cu o scurt prezentare privind graficul 3D. Noile
funcii utilizate sunt meshgrid i mesh.

Exemplu: Creearea primei plotari 3D.

[x,y] = meshgrid(-3:.1:3);
z = x.^2+y.^2;
mesh(x,y,z);
xlabel('x');
ylabel('y');
zlabel('z=x^2+y^2');

~ 15 ~

Introducere in MathScript | IPSE 2


Graficul pentru acest cod este:

~ 16 ~

Introducere in MathScript | IPSE 2

II.
Programarea in LabVIEW MathScript
1. Introducere in Programare folosind LabVIEW MathScript
Poti folosi platforma LABVIEW MathScript pentru a automatiza calcule. Aproape orice scris
in linia de comanda poate fi inclus intr-un program LABVIEW MathScript. Liniile intr-un script
LABVIEW MathScript sunt interpretate secvential si instructiunile sunt executate pe rand. Asta
simplifica calcule repetate. Asta iti perimte sa creezi calcule complexe care nu pot fi implementate
de-a gata utilizand comenzi in linia de comanda.

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.

Scripturile LABVIEW MATHSCRIPT interactioneaza cu mediul LABVIEW MathScript


curent. Variabilele setate inainte de executarea scriptului pot afecta ce se intampla in script.
Variabilele setate in script raman dupa ce scriptul a terminat executia.

Un mod de a edita un script LABVIEW MATHSCRIPT este de a utiliza editorul incorporat.


Editorul are cateva caracteristici care fac editarea scripturilor LABVIEW MATHSCRIPT usoara.
Editorul este integrat cu un debugger ceea ce face gasirea si corectarea erorilor in scriptul tau mai
usoara. Informatii mai detaliate despre editarea scripturilor pot fi gasite in Tutorialul National
Instruments LabVIEW MathScript Tutorial-Inside LabVIEW MathScript.

Utilizeaza comentarii pentru ati reaminti si pentru a ajuta alti utilizatori sa inteleaga cum ai
implementat programul. Commentariile incep cu caracterul %.
Pentru ca LABVIEW MATHSCRIPT sa execute corect un script, trebuie sa stie directorul in
care rezida scriptul. Sunt cateva metode de a realiza acest lucru. Unul este de a a seta directoriul
curent de lucru pentru LABVIEW MATHSCRIPT din File >MathScript Preferences in fereastra
interactiva MathScript. Informatii mai detaliate pot fi regasite la Cutia de Dialog National
Instrument's LabVIEW MathScript Preferences.
Numele fisirelor .m ar trebui sa incepe cu o litera si sa contina doar litere si numere. Orice alt
caracter (spatiu, liniuta, steluta, bara oblica, etc.) vor fi interpretate de LABVIEW MATHSCRIPT
drept operatii asupra variabile si vor cauza errori. Deasemena, numele fisierelor M nu ar trebui sa
fie la fel ca numele variabilelor in workspace, deoarece LABVIEW MATHSCRIPT nu va putea
face diferenta intre numele fisierului si variabila.

~ 17 ~

Introducere in MathScript | IPSE 2

2. Bucla FOR
Bucla FOR este un mod de a face LABVIEW MATHSCRIPT sa repete o serie de calcule
utilizand valori diferite. Bucla FOR are umatoarea sintaxa:

for d = array
%LABVIEW MATHSCRIPT command 1
%LABVIEW MATHSCRIPT command 2
%and so on
end
In bucla FOR, multimea (array) poate fi orice vector sau multime de valori. Bucla FOR
functioneaza in modul urmator: d este setat la prima valoare a multimii, si secventa comenzii
LABVIEW MATHSCRIPT din structura buclei FOR este executata cu acea valoare a lui d. Apoi
d este setat la a doua valoare in multime, si secventa de comenzi LABVIEW MATHSCRIPT din
structura buclei FOR este executata cu aceasta valoare a lui d. Acest proces continua prin toate
valorile din multime. Deci, pentru o bucla FOR ce efecturaza 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

(Re-aducere aminte ca 1.0:0.05:2.0 creaza un vector de valori de la 1.0 to 2.0.)


Retine ca in toate exemplele din acest modul, comenzile LABVIEW MATHSCRIPT din bucla
FOR sunt indentate relativ cu declaratiile FOR si END. Acest lucru nu este necesar pentru
LABVIEW MATHSCRIPT dar este o practica obisnuita si face codul mai usor de citit.
Un tip util de bucla FOR este unul care itereaza pas cu pas o variabila de la 1 la o valoare mai
ridicata:
for j = 1:10

~ 18 ~

Introducere in MathScript | IPSE 2


% LABVIEW MATHSCRIPT commands
end
Utilizand o bucla FOR pentru a accesa si manipula elementele unui vector s-ar putea sa fie cel
mai natural mod de abordare, in particular cand ai experienta cu alte limbaje de programre precum
C sau Java. Totusi, multe probleme pot fi rezolvate fara bucle FOR utilizand capabilitatiile
incorporate de vectori LABVIEW MATHSCRIPT.
Utilizand aceste capabilitati aproape intodeauna imbunatateste viteza de calcul si reduce
marimea programului. Unii ar spune deasemenea ca este mai elegant.
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

~ 19 ~

Introducere in MathScript | IPSE 2

2.1.

Exercitii cu bucla FOR

Indici de bucla I

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


for a=0:50
disp('Hello World')
end
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).

Indici de bucla II

De cate ori va va printa acest program "Guten Tag Welt"?


for a=-1:-1:-50
disp('Guten Tag Welt')
end
Codul -1:-1:-50 creaza un vector de numere intregi incepand cu -1 pana la -50, acest vector
are 50 de elemente. Guten Tag Weit va fi printat o data pentru fiecare element in vector
(50 de ori).

Indici de bucla III

De cate ori va va printa acest program "Bonjour Monde"?


for a=-1:1:-50
disp('Bonjour Monde')
end
Codul -1:1:-50 creaza un vector gol, fara elemente. Deoarece acesta este un vector gol,
apare urmatoarea eroare: Error in function range at line 1. You cannot specify a step size

20

Introducere in MathScript | IPSE 2

of zero for a range (Eroare in functia gama la linia1. Nu poti sa specifici un pas de zero
pentru o gama).

Bucla Imbracata

De cate ori va va printa acest program "Hola Mundo"?


for a=10:10:50
for b=0:0.1:1
disp('Hola Mundo')
end
end
Bucla perifierica (bucla cu a) va fi executata de 5 ori. De fiecare data cand bucla exterioara
este executata, bucla interioara (bucla cu b) va fi executata de 11 ori, deoarece 0:0.1:1
creaza un vector cu 11 elemente. Hola Mundo va fi printat de 55 de ori.

Bucla Complicata

Ce secventa de numere va printa urmatoarea bucla?


n = 10;
for j = 1:n
n = n-1;
j
end
In prima linie, valoarea lui n este setata la 10. Codul 1:n creaza un vector de numere intregi
de la 1 la 10. Fiecare iteratie prin bucla seteaza j la urmatoarul element al acestui vector,
deci J va fi trimis la fiecare valoare 1 prin 10 in succesiune, iar aceasta secventa de valori
va fi printata. De observat ca, de fiecare data cand se executa bucla, valoarea lui n este
scazuta cu 1; valoarea finala a lui n va fi 0. Chiar daca valoarea lui n este schimbata in
bucla, valoarea numarul de iteratii prin bucla nu este afectata, deoarece vectorul de numere
intregi este calculat odata, inainte ca bucla sa fie executata si nu depinde de valorile
ulterioare ale lui a.
21

Introducere in MathScript | IPSE 2

Bucla Imbracata II

Ce valoare va printa urmatorul program?


count = 0;
for d = 1:7
for h = 1:24
for m = 1:60
for s = 1:60
count = count + 1;
end
end
end
end
count
Care ar fi metoda mai simpla de a obtine acelasi rezultat?
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.

22

Introducere in MathScript | IPSE 2

Ipotenuze Multiple

C
A
B
Figure 2.1: Laturile unui triunghi dreptunghic
Considerand triunghiul dreptunghic din Figura 2.1. sa presupunem ca dorim sa aflam
lungimea ipotenuzei c a acestui triunghi pentru cateva combinatii de lungimi a laturelor a si b;
combinatiile specifice de a si b sunt date in Tabelul 2.1. Scrie un program LABVIEW
MATHSCRIPT sa faca acest lucru.
a

Aceasta solutie a fost creata de Heidi Zipperian:


a=[1 1 2 4 2]
b=[1 2 3 1 2]

for j=1:5
c=sqrt(a(j)^2+b(j)^2)
end

23

Introducere in MathScript | IPSE 2

O solutie ce nu foloseste o bucla FOR a fost deasemenea creata de Heidi:


a=[1 1 2 4 2]
b=[1 2 3 1 2]
c=sqrt(a.^2+b.^2)

24

Introducere in MathScript | IPSE 2

3. Instructiunea de decizie daca (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. Functia IF are cateva
forme distincte, dintre care cea mai simpla:

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, urmatoarea functie va afisa v este nevativ daca variabila v este negativa si v nu
este negativ:
25

Introducere in MathScript | IPSE 2

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

Cea mai generala forma a functiei IF este:

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')
26

Introducere in MathScript | IPSE 2

else
disp('v is zero')
end

De retinut ca toate exemplele din acest modul, comenzile din interiorul functiei daca (IF)
sunt indentate in functie de functiile if, else, elseif. LABVIEW MATHSCRIPT nu solicita acest
lucru, dar indentarea este o practica comuna pentru a inlesnirea citirii codului.

3.1.

Expresii logice

Expresiile logice sunt utilizate in instructiunile IF, CASE, WHILE pentru a modifica secventa
de executie a comenzilor din LabVIEW MathScript. O expresie logic este una care evalueaz
daca este adevrat sau fals.
De exemplu, v > 0 este o expresie logic care va fi valabila n cazul n care variabila v este mai
mare dect zero i false n caz contrar.
Operatori relationali
Simbol

Descriere

<

Mai mic decat

<=

Mai mic sau egal decat

>

Mai mare decat

>=

Mai mare sau egal decat

==

Egal

~=

Ne-egal

Operatori logici
Simbol

Descriere

Negatie

&&

Si

||

Sau

27

Introducere in MathScript | IPSE 2

3.2.

Exercitii cu functia IF

a. Ce va afisa urmatoarul cod LABVIEW MATHSCRIPT?


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

b. Ce va afisa urmatoarul cod LABVIEW MATHSCRIPT?


a= 10;
if a > 0
disp('a is positive')
else
disp('a is not positive')
end
Solutie: a is positive.

c. Ce va afisa urmatoarul cod LABVIEW MATHSCRIPT?


a = 5;
b = 3;
c = 2;

if a < b*c
disp('Hello world')
28

Introducere in MathScript | IPSE 2

else
disp('Goodbye world')
end
Solutie: b*c va fi egal cu 6, iar 5 < 6, deci codul va afisa 'Hello world'.

d. Ce va afisa urmatoarul cod LABVIEW MATHSCRIPT?


a = 10;
if (a > 0)
disp('a is positive')
else
disp('a is not positive')
end
Solutie: a is positive.

29

Introducere in MathScript | IPSE 2

4. Instructiunea repetitiva cu test initial cat timp (While)


Instructiunea repetitiva WHILE este similara cu FOR prin faptul ca permite excutarea repetata
a functiilor LABVIEW MATHSCRIPT. Spre deosebire de FOR, 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. Ca exemplu, poate fi
considerata urmatoarea functie WHILE:

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

Codul va crea urmatoarele date de iesire:


n=1
n=2
n=3

De retinut ca toate exemplele din acest modul, comenzile din interiorul functiei repetitive
cat timp (WHILE) sunt indentate in functie de functiile if, else, elseif. LABVIEW MATHSCRIPT
nu cere acest lucru, dar indentarea este o practica comuna pentru inlesnirea citirii codului.
30

Introducere in MathScript | IPSE 2

4.1.

Exercitii cu functia WHILE

a. De cate ori instructiunea repetitive va afisa Hello World?


n = 10;
while n > 0
disp('Hello World')
n = n - 1;
end
Solutie: de 10 ori.

b. De cate ori instructiunea repetitive va afisa Hello World?


n = 1;
while n > 0
disp('Hello World')
n = n + 1;
end
Solutie: Aceasta bucla va continua sa afiseze Hello World pana cand utilizatorul va oprii
programul apasand simultan tastele Ctrl si C.

c. Ce valori va afisa urmatorul cod LABVIEW MATHSCRIPT?


a=1
while a < 100
a = a*2

31

Introducere in MathScript | IPSE 2

end

Solutie:
a=

a=

a=

a=

a = 16
a = 32
a = 64
a = 128

d. Ce valori va afisa urmatorul cod LABVIEW MATHSCRIPT?


a = 1;
n = 1;
while a < 100
a = a*n
n = n + 1;
end

Solutie:
a=

a=

a=

6
32

Introducere in MathScript | IPSE 2

a = 24
a = 120

33

Introducere in MathScript | IPSE 2

III.

Bibliografie:

Introduction to LabVIEW MathScript Anthony Antonacci, Darryl Morrell

34

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