m fișiere Matlab

M-files vă permit să salvați o mulțime de comenzi MATLAB într-un singur program
fișier, și apoi executați-le cu o singură comandă, sau folosind mouse-ul.


Puteți rezolva cu ușurință și în mod corect probleme simple la prima încercare,
dar probleme mai complexe sunt, de obicei rezolvate prin încercare și eroare - funcționare,
editarea și repornirea serie de comenzi în mod repetat. în timp ce
ca fereastra Istoric comandă (Istoricul de comandă) poate fi utilă pentru
primele etape ale acestui proces, în cele din urmă veți vedea că mult mai mult
eficiente pentru a utiliza M-Files. M-Files, de asemenea, permite
utiliza soluția la problema împreună cu ceilalți utilizatori ai programului
MATLAB și formatați rezultatele pentru a fi citite de alte. acolo
Două tipuri diferite de M-Files M-script-uri, și funcțiile M-Files. noi
Noi demonstra utilizarea ambelor tipuri de M-fișiere, la fel ca
Prezentăm diverse soluții ale problemelor discutate mai sus.


script M-fișier conține o secvență de comenzi MATLAB pentru programul
rula într-o anumită ordine. Noi acum arată cum să construiască M-File-
scenariul pentru rezolvarea unei probleme matematice considerate anterior. crea
fișier care conține următoarele linii:

Să presupunem că ați salvat fișierul ca taski.m în actualul dvs.
director sau în orice director de pe calea ta. Aveți posibilitatea să atribuiți un fișier
nume în nici un fel (în sistemul de operare poate avea sa
special), dar extensia .T este obligatorie.

Puteți seta programul pentru a rula MATLAB (sau de a efectua), acest lucru
script tastând fereastra TASKI Command Window (Fereastră de comandă). (Nu este
ar trebui să fie administrat aici extensia .m; software-ul MATLAB automat
adaugă o extensie care caută fișiere.) Ieșirea rezultatelor (dar nu
echipe, cu ajutorul pe care doriți rezultatul) va fi afișată în fereastra
Fereastra de comandă (Command Window). Acum, o secvență de comenzi poate
Este ușor de modificat prin modificarea task1.m M-fișier. De exemplu, dacă
De asemenea, doresc să calculeze sin (0,0001) / 0,0001, puteți modifica M-fișier:

format lung
x = [0,1, 0,01, 0,001, 0,0001];
y = sin (x) ./ x

și apoi executați script-ul modificat din nou prin tastarea TASKI.
Dar, mai întâi, asigurați-vă că pentru a salva modificările în fișierul TASKI; altfel
caz, software-ul MATLAB nu recunoaște aceste schimbări.

  • Unele variabile sunt setate când executați script-M-fișier, budutsohranyatsya ca și în cazul în care ați introdus aceste variabile în fereastra de comandă (Command Window) în mod direct. De exemplu, programul discutat mai sus, a fost motivul pentru care, în viitor, toate rezultatele numerice vor fi afișate până la 15 de caractere. Pentru a reveni la formatul cu 5 caractere, introduceți scurt formatul de comandă.

clar toate definițiile variabile vechi% Indeparteaza
ecou pe ecran% intrarea în fereastra de comandă
Formatul lung% rândul său, pe ecran de 15 cifre
x = [0,1, 0,01, 0,001]; % Definiți x valori
y = sin (x) ./ x% calcula coeficientii dorite
% Aceste valori ilustrează faptul că limita
% Sin (x) / x → x 0 este egal cu 1.
echo off

Programul MATLAB caută calea implicită atunci când rulează pe
subiectul unui startup.m numit script M-fișier. Dacă creați un fișier,
comenzi care le conține, va fi rulat de fiecare dată când porniți
Programul MATLAB. Puteți utiliza acest fișier pentru a salva setările,
care trece de la o sesiune la alta, de exemplu, modificați curentul
director sau cale. (Cu excepția comanda CD si addpath, a discutat mai sus,
rmpath poate folosi comanda pentru a șterge directorul din drum.)

Funcția M-fișiere, în contrast cu script-uri M-fișier, vă permit să setați
valorile de intrare atunci când executați o astfel de M-fișier din linia de comandă MATLAB
sau de la un alt M-fișier. După cum sa menționat în capitolul anterior, puteți, de asemenea,
utilizați o sintaxă funcție anonimă (@) (lipsă în program
MATLAB 6 și versiunile anterioare) sau comanda inline pentru a seta lor
funcții proprii în linia de comandă. Cu toate acestea, aceste tehnici oferă locuri de muncă
funcționează numai într-o singură linie. Astfel, sunt necesare M-dosarele pentru
sarcină mai multe funcții complexe. La fel ca M-script-uri, funcția M-fișier
este un fișier text simplu, care ar putea fi în dvs.
directorul curent sau undeva în calea MATLAB.

Să ne întoarcem la problema discutată mai sus, în care am calculat
unii dintre păcatul valori (x) / x, unde x = 10 ^ b pentru anumite valori ale lui b. cu excepția
, Să presupunem că doriți să găsiți cea mai mică valoare a lui b, pentru care
sin (10 ^ b) / (10 ^ b), și că rezultatul este egal cu 1 până la 15 caractere.

Mai jos este o funcție M-fișier numit sinelimit.m, elaborat cu scopul de a
clarificarea acestei întrebări:

Funcția y = sinelimit (c)
% SINELIMIT calculeaza sin (x) / x pentru x = 10 ^ (- b)
% În cazul în care b = 1 p.
Format lung
b = 1: c;
. X = 10 ^ (- b);
y = (sin (x) ./ x) „;

>> ajutor sinelimit

SINELIMIT calculează sin (x) / x pentru x = 10 ^ (- b)
unde b = 1 p.

Liniile rămase determinată de funcția M-file. În acest exemplu, b este dat în
un vector rând format din numere întregi de la 1 la s, atunci x
se calculează din L, și, în final, determinată de x.

  • Variabilele care sunt utilizate într-o funcții M-fișier, cum ar fi b, x și y în fișierul sinelimit.m sunt variabile locale. Acest lucru înseamnă că, în contrast cu variabilele definite în fișierul M-script, aceste variabile nu sunt asociate cu alte variabile cu același nume pe care le-ar putea folosi în fereastra Command Window (Fereastră de comandă). software-ul MATLAB nu stochează valorile pentru aceste variabile după funcția M-fișier va fi executat. Pentru mai multe informații, consultați „Variabilele din funcțiile M-faylah-“ în Capitolul 4.

Rețineți că linia care definește b, x și y, se termină cu
punct. Folosind virgulă la sfârșitul liniilor stabilește că nu
Rezultatele de ieșire ale acestor linii, este rezultatul activității acestor linii nu vor fi
afișată în fereastra Command Window (Fereastră de comandă). În ciuda faptului că
afișarea rezultatelor intermediare ale calculelor pot fi de ajutor
depanare, în principiu, ar trebui să suprime toate ieșire la funcția M-fișier.
Mai jos este un exemplu care arată modul în care funcția este utilizat sinelimit:

»Sinelimit (5)
ans =
0.99833416646828
0.99998333341667
0.99999983333334
0.99999999833333
0.99999999998333

Nici una dintre valorile b de la prima la a cincea nu conduce la dorit
rezultat 1 până la 15 caractere. Judecând după rezultatul aude, se spera
găsi un răspuns la întrebarea adresată anterior prin introducerea sinelimit comanda A0).
Încearcă-l!