Introducere în MATLAB

3.4. Operatorii sistemului MATLAB 5. Combinarea operatorilor în expresii aritmetice. Funcții încorporate

Operatorii logici au cea mai mică prioritate față de operatorii relaționali și operatorii aritmetici.







Operatori aritmetici. Când lucrați cu o serie de numere, următoarele niveluri de prioritate sunt setate pentru operațiile aritmetice.

(. ') Transpose a explodat, a explodat exponentiation, matricea transpusa conjugat Hermitian (^.) ('), Construirea matricei la puterea (^);

adăugare unară (+), scădere unară (-);

În cadrul fiecărui nivel, operatorii au prioritate egală și sunt evaluați în ordine de la stânga la dreapta. Ordinea implicită poate fi modificată utilizând paranteze.

Să fie date 2 vectori

Rezultatele executării operatorilor

Operatorii aritmetici permit utilizarea expresiilor index:

Operatorii aritmetici ai MATLAB lucrează, de regulă, cu rețele de aceeași dimensiune. Pentru vectori și matrice rectangulare, ambii operanzi trebuie să aibă aceeași dimensiune, cu excepția cazului în care unul dintre ei este scalar. Dacă unul dintre operanzi este scalar și celălalt nu este, sistemul MATLAB presupune că scalarul se extinde la dimensiunea celui de-al doilea operand și operația specificată este aplicată fiecărui element. Această operație se numește extensie scalară.

Operatori relatari. În sistemul MATLAB sunt definiți următorii 6 operatori relaționali:
  • <Меньше
  • <= Меньше или равно
  • > Mai mult
  • > = Mai mare sau egal cu
  • == La fel de identic

Operatorii relaționali efectuează o comparare element-cu-element a două matrice de dimensiuni egale. Pentru vectori și matrice rectangulare, ambii operanzi trebuie să aibă aceeași dimensiune, cu excepția cazului în care unul dintre ei este scalar. În acest caz, MATLAB compară scalar cu fiecare element al celuilalt operand. Poziții în care acest raport este adevărat, obține o valoare de 1, unde false - 0.

Operatorii relaționali, de regulă, sunt utilizați pentru a schimba secvența de execuție a declarațiilor de program. Prin urmare, ele sunt cele mai des utilizate în corpul dacă, pentru, în timp ce, comutați declarații.

Operatorii relaționali sunt întotdeauna executați element-cu-element.

Să comparăm două matrice utilizând condiția A

  • O expresie logică cu operatorul OR (|) este adevărată dacă unul dintre operanzi sau ambii operanzi este logic adevărat. Expresia este falsă numai dacă ambii operanzi sunt logic false.
    Dacă elementele expresiei logice sunt numere, atunci expresia este falsă dacă ambii operanzi sunt zero.

exemplu
Utilizăm vectorii u și v, definiți mai sus, și executăm expresia logică cu operatorul OR (|):
U | v
ans =

Funcții logice. În afară de operatorii logici, în sistemul MATLAB sunt incluse o serie de funcții logice:





  • Funcția xor (a, b) implementează operația EXCLUSIVE OR. O expresie care este EXCLUSIVĂ SAU adevărată dacă unul dintre operanzi este TRUE și celălalt este FALSE. Pentru expresiile numerice, funcția returnează 1 dacă unul dintre operanzi este nenul și celălalt este zero.
exemplu
Luați în considerare doi operandi numerici a și b:
a = 1;
b = 1;
Apoi operația xor dă rezultatul:
Xor (a, b)
ans = 0
  • Funcția tuturor returnează 1 dacă toate elementele vectorului sunt adevărate sau nenuloase.

exemplu
Lăsați un vector u să fie dat și este necesar să îl verificați pentru condiția "toate elementele sunt mai mici de 3?". Dacă această condiție este îndeplinită, se emite mesajul "Toate elementele mai mici de 3".
u = [1 2 3 4 0];
dacă toate (u <3)
Disp ("Toate elementele sunt mai mici de 3")
capăt
În acest caz, nu va apărea nici un mesaj, dar dacă în vectorul u luăm vectorul
u = [0 1 2 0]
va apărea un mesaj
ans = 'Toate elementele sunt mai mici de 3'

În cazul matricelor, funcția toate verifică coloanele, adică este orientată pe coloane.

A = [0 1 2; 3 5 0]
toate (A)
  • Orice funcție returnează 1 dacă cel puțin unul dintre elementele argumentului este nenul; în caz contrar, returnează 0. În cazul procesării matrice, orice este o funcție orientată pe coloană.
  • Funcțiile isnan și isinf return 1 pentru NaN și Inf, respectiv. Funcția isfinită este valabilă numai pentru cantitățile care nu au valoarea inf sau NaN.

exemplu
Să luăm în considerare cele două matrice numerice A și B
A = [0 1 5; 2 NaN -inf];
B = [0 15; 2 5 inf];
Formăm matricea C și aplicăm funcțiile enumerate mai sus
C = A./B
C =

ans =
0 0 1
1 0 0

ans =
1 0 0
0 1 1

ans =
0 1 0
0 0 0

O listă completă a funcțiilor logice ale sistemului MATLAB este cuprinsă în directorul ops.

Funcția de căutare. Funcția de căutare determină indicii elementelor matricei care îndeplinesc condiția logică specificată. În mod obișnuit, este folosit pentru a crea șabloane pentru comparație și a crea matrice de indexuri. În forma cea mai frecvent utilizată, funcția k = find (x <условие> ) returnează vectorul index al acelor elemente care satisfac condiția dată.

Operator de ciclu cu un anumit număr de operațiuni

pentru <переменная цикла> = <начальное значение>: <приращение>:<конечное значение>
instrucțiuni
capăt

Operatorul pentru buclă. sfârșitul execută o instrucțiune sau un grup de instrucțiuni de câte ori este predeterminat. În mod prestabilit, incrementul este 1. Puteți specifica orice increment, inclusiv incrementarea negativă. Pentru indicii pozitivi, execuția este finalizată atunci când valoarea indicelui depășește <конечное значение>; Pentru creșteri negative, execuția este finalizată atunci când indicele este mai mic de <конечное значение>.

Acest ciclu este executat de cinci ori:
pentru i = 2: 6
x (i) = 2 x (i-1);
capăt
Sunt posibile bucle de tip:
pentru i = 1: m
pentru j = 1: n
A (i, j) = 1 / (i + j-1);
capăt
capăt

Folosind o matrice ca o variabilă de buclă. Array-urile pot fi folosite ca variabila pentru buclă.

Luați în considerare o matrice A de dimensiune mxn. Operatorul ciclului
pentru i = A
instrucțiuni
capăt
definește variabila ciclului i ca vector A (.k). Pentru prima etapă a ciclului, k este 1; pentru al doilea k este 2 și așa mai departe, până când k ajunge la n. Adică, bucla este executată de câte ori sunt mai multe coloane în matricea A. Pentru fiecare etapă, i este un vector care conține una dintre coloanele matricei A.

Funcții încorporate

Începând cu MATLAB 5, fișierele M pot conține coduri pentru mai multe funcții. Prima funcție din fișier este funcția principală numită de numele fișierului M. Alte funcții din fișier sunt subfuncții care sunt vizibile numai pentru funcția principală și alte subfuncții ale aceluiași fișier.

Fiecare subfuncție are propriul antet. Subfuncțiile se urmează unul pe altul în mod continuu. Subfuncțiile pot fi apelate în orice ordine, în timp ce funcția principală este executată mai întâi.

funcție [avg, med] = date noi (u)
% NEWSTATS Afișează valoarea medie și mediana pentru elementele vectorului u. utilizând funcții încorporate.
n = lungime (u);
avg = media (u, n);
med = mediană (u, n);







Articole similare

Trimiteți-le prietenilor: