Cum se configurează smartphone-uri și PC-uri. Portal de informare

Setarea variabilelor în matlab. Variabile în MATLAB

Până acum am întâlnit patru diverse tipuri date
Programe MATLAB: numere în virgulă mobilă, șiruri de caractere, caractere
expresii și funcții.

În timpul unei sesiuni lungi de MATLAB, poate să nu fie ușor să vă amintiți numele și tipurile tuturor variabilelor pe care le-ați definit.
Puteți introduce comanda cui pentru a vizualiza lista generală de nume și
tipuri sau clase ale variabilelor definite în prezent. Dar înainte de asta
cum să faceți acest lucru, faceți atribuțiile a = pi, b = "pi", c = ("pi") și apoi
intra cui. Mai jos este rezultatul rezultatelor sesiunii MATLAB,
prezentate în acest capitol.

Au fost atribuite variabilele A, X, Y, Z, a și d valori numerice iar ei
desemnată drept „matrice dublă”. Aceasta înseamnă că sunt matrice de numere cu
dubla precizie; V în acest caz, tablourile a și d au dimensiunea 1x1, adică
sunt scalari. Coloana Octeți arată cât de mult computer
Fiecare variabilă ocupă memorie. Variabila ans este de asemenea numerică,
deoarece ultima ieșire a fost un vector 1X2. Variabila b este un șir,
desemnat ca matrice de caractere (matrice de caractere), deoarece variabilele sunt c, u, v, w,
x, y sunt simbolice. În cele din urmă, vedem și două matrice de procesare
funcții și două tablouri de obiecte încorporate corespunzătoare perechilor
funcții anonime și funcții încorporate.
Comanda whos afișează informații despre toate variabilele specificate, dar aceasta
comanda nu afișează valorile variabilelor. Pentru a vedea valoarea unei variabile,
Pur și simplu introduceți numele variabilei și apăsați tasta Fnterl.

Când introduceți comenzile programului MATLAB, acestea necesită anumite clase
date și este foarte important să știți exact ce clasă de date necesită o anumită comandă;
textul de ajutor al comenzii conține de obicei clasa sau clasele care
cerut la intrare. De obicei, rezultă o clasă de introducere nevalidă
mesaje de eroare sau rezultate neașteptate. De exemplu, introduceți comanda sin("pi") pentru a vedea la ce rezultat rezultă adăugarea unei linii
o funcție care nu acceptă șiruri.
Pentru a șterge toate variabilele definite de Matlab, introduceți clear sau clear all.
De asemenea, puteți introduce, de exemplu, ștergeți x y numai pentru a șterge
variabilele x și y.

Puc. 2.2. Fereastra desktop cu spațiu de lucru ( Spațiul de lucru)

De obicei, ar trebui să ștergeți variabilele înainte de a începe noi calcule.
În caz contrar, valorile din calculele anterioare pot accidental
intra in altele noi. Fereastra Spațiu de lucru oferă
o alternativă grafică la comanda whos. Puteți activa această fereastră făcând clic
făcând clic pe fila Spațiu de lucru din fereastra Director curent sau introducând comanda spațiului de lucru la linia de comandă. În fig. 2.2 prezentat
Un desktop care conține o fereastră de comandă și un spațiu de lucru
(spațiul de lucru) conține aceleași informații care sunt afișate
superior.

Prin urmare, din cele de mai sus, putem concluziona că trebuie să te uiți foarte mult Informații suplimentare si alternative!

5. Vizibilitatea numelor de variabile și a numelor de funcții.

Variabile locale și globale. Funcția are propriul spațiu variabil, izolat de spațiul de lucru MATLAB. Prin urmare, dacă înainte de a apela funcția M în fereastra de comandă MATLAB a fost definită o variabilă cu un nume, de exemplu, varName1, atunci nu puteți conta pe faptul că variabila din corpul funcției cu același nume are deja ceva valoare. Aceasta este o variabilă complet diferită (deși are același nume varName1) și se află în memoria mașinii într-o zonă de memorie diferită.

Variabilele care sunt utilizate în corpul unei funcții M și nu coincid cu numele parametrilor formali ai acestei funcții sunt numite locale.

În alt fel, ei spun că sunt vizibili doar în cadrul funcției M. Din exterior nu sunt vizibile (nu sunt accesibile). Variabilele definite în fereastra de comandă MATLAB nu sunt vizibile în interiorul unei funcții - sunt externe funcției și nu sunt vizibile în cadrul acesteia.

În mod similar, variabilele locale dintr-o funcție nu sunt vizibile în cadrul unei alte funcții M.

Unul dintre canalele de transmitere a informațiilor din fereastra de comandă MATLAB către o funcție M și de la o funcție la alta este mecanismul parametrilor funcției. Un alt astfel de mecanism este variabilele globale. La zona de lucru Sistemele MATLAB și mai multe funcții M ar putea partaja o variabilă cu un anumit nume, aceasta trebuie declarată ca globală peste tot folosind cuvânt cheie

Întrucât variabilele globale au o sferă „globală”, pentru a nu o redefini în mod accidental (din greșeală) undeva, este indicat să se acorde acestor variabile nume mai mnemonice (mai lungi și mai semnificative).

Acum să ne uităm la problema vizibilității numelor de funcții. Dacă am salvat o funcție cu un anumit nume într-un fișier cu același nume și extensie m și, în plus, dacă sistemul MATLAB știe calea către acest fișier pe disc, atunci această funcție poate fi apelată atât din fereastra de comandă, cât și din alte funcții.

Cu toate acestea, în textul unei funcții M puteți plasa definiții pentru mai multe funcții și doar una dintre ele poate avea același nume cu numele fișierului. Această funcție va fi vizibilă din fereastra de comandă și din alte funcții. Toate celelalte funcții vor fi interne - pot fi apelate numai de funcții din același fișier.

De exemplu, dacă fișierul ManyFunc.m conține următorul text

funcția ret1 = ManyFunc(x1, x2)

ret1 = x1 .* x2 + AnotherFunc(x1)

funcția ret2 = AnotherFunc(y)

ret2 = y .* y + 2 * y + 3;

constând din definițiile a două funcții numite ManyFunc și AnotherFunc, atunci numai funcția ManyFunc poate fi apelată extern. În alt mod, putem spune că numai funcțiile cu nume care se potrivesc cu numele fișierelor M sunt vizibile din exterior.

Funcțiile rămase trebuie apelate de această funcție și de alte funcții interne.

Ca toate limbajele de programare, MatLab oferă posibilitatea de a lucra cu variabile. Mai mult, utilizatorul nu trebuie să-și facă griji cu privire la ce valori va lua variabila (complex, real sau numai întreg). Pentru a atribui, de exemplu, valoarea 1,45 variabilei z, trebuie doar să scrieți z = 1,45 pe linia de comandă, iar MatLab va imprima imediat valoarea lui z:
» z = 1,45
1.4500

z = Aici semnul egal este folosit ca operator de atribuire. De multe ori nu este foarte convenabil să obțineți rezultatul după fiecare sarcină. Prin urmare, MatLab oferă posibilitatea de a încheia o instrucțiune de atribuire cu un punct și virgulă pentru a suprima rezultatul în fereastra de comandă. Numele variabilei poate fi orice succesiune de litere și numere fără spațiu, începând cu o literă. Litere mici și majuscule
sunt diferite, de exemplu MZ și mz sunt două variabile diferite. Numărul de caractere înțeles de MatLab într-un nume de variabilă este 31.

Tastați secvența de comenzi de mai jos (notați punctul și virgulă din primele două instrucțiuni de atribuire pentru a suprima valorile intermediare de la imprimarea pe ecran):

"x = sin(1,3*pi)/log(3,4);
» y = sqrt(tan(2,75)/tanh(2,75));
» z= (x+y)/(x-y)
Z =
0,0243 - 0,9997i

Ultima instrucțiune de atribuire nu este terminată cu punct și virgulă pentru a obține imediat valoarea expresiei originale. Desigur, puteți introduce întreaga formulă deodată și puteți obține același rezultat:

„(sin(1,3*pi)/log(3,4)+sqrt(tan(2,75)/tanh(2,75)))/…
(sin(1.3*pi)/log(3.4)-sqrt(tan(2.75)/tanh(2.75))) ans =
0,0243 - 0,9997i

Observați cât de mult mai compactă și mai clară este prima intrare decât a doua! În cea de-a doua opțiune, formula nu încapea în fereastra de comandă pe o singură linie și a trebuit să o scriu pe două rânduri, pentru care au fost plasate trei puncte la sfârșitul primei rânduri.

Pentru a introduce formule sau comenzi lungi în linia de comandă, puneți trei puncte (în rând, fără spații), apăsați tasta și continuați să tastați formula la rândul următor. În acest fel, puteți plasa expresia pe mai multe linii. MatLab va evalua întreaga expresie sau va executa comanda după ce faceți clic pe în ultima linie (care nu are trei puncte consecutive).

MatLab își amintește valorile tuturor variabilelor definite în timpul unei sesiuni. Dacă, după introducerea exemplului de mai sus, s-au făcut alte calcule și a devenit necesară afișarea valorii X, atunci trebuie doar să tastați X pe linia de comandă și apăsați :

" x
-0.6611

Variabilele definite mai sus pot fi utilizate în alte formule. De exemplu, dacă acum trebuie să evaluați expresia

,

apoi introduceți următoarea comandă:

» (x-y)^(3/2)
ans =
-0,8139 + 0,3547i

Apelarea funcțiilor din MatLab este destul de flexibilă. De exemplu, e3.5 poate fi calculat apelând funcția exp de la linie de comandă:

» exp(3.5)
ans =
33.1155

O altă modalitate este să utilizați operatorul de atribuire:

» t = exp(3,5)
t =
33.1155

Să presupunem că unele dintre calculele cu variabile sunt finalizate, iar restul va trebui finalizat în următoarea sesiune de lucru cu MatLab. În acest caz, va trebui să salvați variabilele definite în mediul de producție.

Vedeți variabile

Când lucrezi cu suficient un număr mare variabile, trebuie să știți care variabile sunt deja utilizate și care nu. În acest scop, utilizați comanda who, care afișează o listă de variabile utilizate în fereastra de comandă MatLab:

"OMS
Variabilele dvs. sunt:
al a2 a3

Comanda whos vă permite să obțineți mai mult informatii detaliate despre variabile sub formă de tabel:

Totalul general este de 3 elemente folosind 24 de octeți

Prima coloană Nume este formată din numele variabilelor utilizate. Ceea ce este conținut în coloana Mărime este determinat în esență de principiul de bază MatLab funcționează. programul MatLab Toate datele sunt prezentate sub formă de tablouri. Variabilele al, a2 și a3 sunt tablouri bidimensionale mărime unu la unu. Fiecare variabilă ocupă opt octeți, așa cum este indicat în coloana Octeți. În final, în ultima coloană Class este indicat tipul de variabile - matrice dublă, adică. o serie de numere cu precizie dublă. Linia de sub tabel spune că în total sunt trei elemente, i.e. variabilele ocupă douăzeci și patru de octeți. Se dovedește că reprezentarea tuturor datelor din MatLab ca matrice are anumite avantaje.
Pentru a șterge toate variabilele din memorie, utilizați comanda clear. Dacă specificați o listă de variabile (separate prin spații) în argumente, atunci numai acestea vor fi eliberate din memorie, de exemplu:

» clear al az
"OMS"
Variabilele dvs. sunt:
a2

Începând cu versiunea 6.0, a apărut instrument convenabil pentru a vizualiza variabile mediu de lucru- fereastra Spațiul de lucru, pentru a merge la care ar trebui să activați marcajul cu același nume. Această fereastră conține un tabel similar cu cel afișat de comanda whos. Faceți dublu clic pe linia corespunzătoare fiecărei variabile face ca conținutul acesteia să fie afișat în fereastra separata, care este util mai ales atunci când lucrați cu matrice. Bara de instrumente pentru fereastră Spațiul de lucru vă permite să eliminați variabilele inutile, să salvați și să deschideți mediul de lucru.

1. ELEMENTE DE M-LANGUAGE MATLAB

Elementele din limbajul M utilizate pentru a controla procesul de calcul în MATLAB sunt constante, variabile, funcții, comenzi și structuri de control. Aceste elemente pot fi diverse conexiuni folosind elemente speciale de legătură, utilizate atât pe linia de comandă, cât și în programe.

1.1. CONSTANTE BMATLAB

O constantă în MATLAB reprezintă informații care nu se modifică pe parcursul sesiunii de comunicare. Constantele pot fi definite de utilizator (definite de utilizator) sau definite de sistem (definite de sistem). Constantele utilizator sunt specificate de utilizator și sunt folosite o singură dată - în momentul de față sunt menționate în linia de comandă executabilă. De exemplu, 16, -38.654, -1.e-23, 1+2i, „Aceasta este o constantă de simbol”.

Constantele de sistem sunt definite permanent în sistem și au denumiri speciale prin care se face referire la ele, de exemplu, pi (=3,1416), eps (=2,2204e-016), realmin (=2,2251e-308), realmax (=1,7977). e+308 ), i, j (jºi).

1.2. VARIABILELE INMATLAB

O variabilă în MATLAB este definită prin identificator, tip, locație în memoria computerului. Pentru a defini o variabilă în MATLAB, trebuie să selectați identificatorul (numele) variabilei (începe cu Literă latină, în continuare – litere latine, cifre, caractere speciale) și utilizați această variabilă într-o instrucțiune de linie de comandă care stabilește valoarea variabilei (atribuire simplă, referire la anumite funcții etc.).

  1. Variabile numerice: ordinare (reale) sau numere complexe, vectori, matrice și tablouri multidimensionale. 8 octeți sunt alocați pentru un număr real, 16 pentru un număr complex Numerele întregi și reale nu diferă.

a) numere reale

A=2 A=2,0 B=-143,298 C=1,23e-2

B) numere complexe

Q=1+3i r=-4,6-7,45i S=2+5j

real(Q) – substanță.parte a unui număr complex,

imag(Q) – parte imaginară a numărului complex,

abs(Q) – valoarea absolută a numărului complex,

conj(Q) – număr complex conjugat,

unghi(Q) – valoarea fazei (unghiului) numărului complex în radiani.

C) vectori

vectori rând

a=1:3:10 b= c=linspace(13,53,5)

vectori coloană

aa=a’ bb= cc= linspace(13,53,5)’ dd=(15:45)’

pentru vectori cu componente complexe: dacă y este un vector complex, atunci y.’ este un vector coloană cu aceleași componente și y’ este un vector coloană cu componente care sunt numere complexe conjugate.

D) matrice: M(i,j) – element al i –lea rând și j – a coloanei; M(k) – k-lea element matrice întinsă într-o coloană.

A= ---à 1 2

A(2,2) (=4) A(3) (=2) -à A = (1 3 2 4)

A(3,4)=10 ---à 1 2 0 0

dimensiune (A) (=) =dimensiune (A) (m=3, n=4)

A=A(:) -à se extinde într-o coloană – matricea devine vector!

reshape(A,3,4) -à transformă vectorul înapoi într-o matrice 3x4

A(,:)= -à elimină primul și ultimul rând din matrice

A(:,)= à elimină toate coloanele, cu excepția ultimei

Câteva matrici speciale:

eye(m,n) - cele de pe diagonala principală, restul sunt zerouri (eye(m) - matrice de identitate pătrată mxm)

ones(m,n) – matricea unilor

zeros(m,n) – matricea zerourilor

rand(m,n) – matrice mxn umplută cu numere aleatorii de la 0 la 1

C=round(1+100*rand(10,10)) – o matrice de 10x10 umplută cu numere întregi aleatorii de la 1 la 100.

Operatii simple cu matrici:

diag(A) – vector de elemente situate pe diagonala principală a matricei A,

diag(diag(A)) – matrice diagonală pătrată cu elemente diagonale, cum ar fi A, și zerouri.

triu(A) tril(A) – o matrice cu părți superioare sau inferioare ale lui A, căptușită cu zerouri.

  1. Variabile de caractere

cvb=’Moscova este capitala Rusiei’

Linia de caractere este limitată la un singur apostrof (pe cheia cu litera rusă „e”) și este evidențiată în culoare.

Fiecare caracter ocupă 2 octeți și este tratat ca element separat vector rând de caractere. Deci, dacă specificăm operația de transpunere cvb’ , obținem un vector coloană cu 31 de elemente.

Puteți converti variabilele simbolice în numere și invers.

Ele sunt de obicei folosite pentru a afișa rezultate, grafice, etichete și mesaje.

Controlul variabilelor.

Metoda 1 – în fereastra Spațiu de lucru

Metoda 2 - comanda who - oferă o listă de definite to în acest moment variabile de timp.

Metoda 3 - comanda cui - dă mai mult informatii complete despre variabile (Name Size Bytes Class)

Curățarea memoriei.

clear – ștergerea completă a tuturor variabilelor (sau ștergerea variabilelor)

clear var1,var2,… - ștergerea variabilelor individuale var1,var2,….

1.3. FUNCȚII ÎNMATLAB

Funcțiile din MATLAB sunt programe care efectuează unele operații comune asupra datelor. Pentru a efectua aceste operații și a obține rezultatele cerute, este suficient să specificați numele funcției și, eventual, să specificați câteva date inițiale. Astfel, aici conceptul de funcție (ca în orice altă limbă) este asociat cu 3 concepte: numele funcției, un set de date de intrare (varargin) și un set de date de ieșire (varargout). În plus, sunt definite conceptele de număr de parametri de intrare (nargin) și numărul de parametri de ieșire (nargout).

Funcțiile din MATLAB sunt împărțite în definite de utilizator (definite, dezvoltate de utilizator) și sistem (definite, definite în sistem, care nu necesită programare). Despre cum să creați funcții personalizate, vor fi discutate atunci când se iau în considerare problemele de programare. După creare și depanare, o funcție de utilizator nu este diferită de o funcție de sistem.

Funcțiile sistemului sunt împărțite în funcții încorporate și de bibliotecă. Funcțiile bibliotecii sunt stocate în sistem sub formă de programe în limbaj M scrise în fișiere cu același nume cu numele funcției și cu extensia *.m. Textele acestor programe sunt disponibile pentru vizualizare de către utilizatori (directorul \toolbox\matlab\ din locația de instalare MATLAB). De exemplu, puteți deschide pentru vizualizarea unui fișier m cu o funcție pentru calcularea valorii logaritmului zecimal (\toolbox\matlab\elfun\log10.m). Când sunt executate, instrucțiunile acestor programe sunt mai întâi traduse în instrucțiuni sistem executiv computer (interpretat) și apoi executat. Funcțiile încorporate sunt stocate în sistem în formă compilată, nu necesită traducere și, din acest motiv, sunt executate mai rapid decât funcțiile de bibliotecă. În directorul de sistem pentru astfel de funcții, sunt stocate fișiere care sunt denumite în mod similar fișierelor de bibliotecă, dar care conțin doar comentarii privind utilizarea funcțiilor. De exemplu, puteți deschide un fișier legat de funcția de calcul al exponentului (\toolbox\matlab\elfun\exp.m).

1.4. EXPRESII ÎNMATLAB

O expresie este un construct de limbaj care include elemente de limbaj (constante, variabile, funcții) conectate între ele folosind caractere de legătură care specifică operațiile efectuate la calcularea valorii expresiei. Exista expresii numerice (Nexpression), simbolice (CExpression) si logice (Lexpression) in functie de rezultatul obtinut in urma efectuarii operatiilor incluse in expresie.

Cele mai bune articole pe această temă