Shembuj matlab të cikleve në shkencat kompjuterike. Deklarata të kushtëzuara dhe sythe në MatLab

Deklaratat e ciklit Në MATLAB, veprimet e përsëritura kryhen duke përdorur deklaratat e ciklit for dhe while. Përdorimi më i thjeshtë i for-it është si më poshtë: 2

Për count = start: hap: përfundimtar Komandat MATLAB Fund Ku count është një variabël cikli; n fillimi, përfundimtar - vlera reale fillestare dhe përfundimtare; n hap - hap nga grupi numra realë(parazgjedhja është 1, mund të hiqet). Cikli përfundon kur bëhet më përfundimtar. numëroni vetëm 3

Shembulli 1 Llogaritni shumën në x= -1, 0, 1. Zgjidhje Le të krijojmë një skedar programi në redaktorin e skedarit M. E ruajmë në skedarin Summa. m S = 0; për k = 1: 10 S = S + x. ^ k / faktorial(k); Fundi S Në vijën komanduese x = -1:1:1; Shuma S = -0. 6 0 1. 7 Vini re se variablat k, s janë globale. katër

Është më i përshtatshëm për të përdorur funksionin e skedarit për këtë shembull. Në redaktuesin e skedarit M Në vijën e komandës, krijoni një funksion skedari funksioni S = funsum(x, N) > f = funsum (-1: 1, 10) S = 0; > f = për m = 1: N -0. 6 0 1. 7 S = S + x. ^ m / faktorial (m); fund Këtu variablat s, m janë lokale. 5

Shembulli 2 Krijoni një matricë Hilbert të rendit n. Zgjidhje n = 4; a = zero (n, n); për i = 1: n për j = 1: n a (i, j) = 1 / (i+j-1); përfundoni një 6

Shënim Përpara se të plotësoni matricat dhe vektorët, fillimisht duhet t'i krijoni ato dhe t'i mbushni me zero me komandën zero, në mënyrë që të rrisni shpejtësinë e algoritmit (d.m.th., a = zerot (n, n) është më e shpejtë se a(i, j) = 0, i, j = 1, ... , n). 7

Cikli for është i dobishëm gjatë kryerjes së veprimeve të përsëritura, kur numri i tyre dihet paraprakisht. Nëse numri i tyre nuk dihet paraprakisht, mund të përdorni ciklin while: Kushti i ciklit while Komandat MATLAB Fundi 8

Shembulli 3 Gjeni shumën e një serie për një x të dhënë Nuk është e mundur të përmblidhet deri në pafundësi, por ju mund ta grumbulloni shumën derisa termat të jenë shumë të vogla, për shembull, deri në 9

Vërejtje Vogla e termit është një koncept relativ, termi mund të jetë, të themi, i rendit 10 -10, por vetë shuma është e të njëjtit rend. Në këtë rast, përmbledhja nuk mund të ndalet. Ne nuk do t'i kushtojmë vëmendje kësaj për momentin dhe do t'i kthehemi zgjidhjes. dhjetë

Src="https://present5.com/presentation/c993b082b44b0b84b1886b8dd4d3c841/image-11.jpg" alt="(!LANG:M-file Funksioni Në linjën e komandës Funksioni S = mysin(x) > f = mysin(1)"> M-file функция В командной строке function S = mysin(x) > f = mysin (1) S = 0; 0. 8415 k = 0; while abs(x. ^ (2*k + 1)/factorial(2*k + 1)) > 1. 0 e -10 S = S + (-1)^k * x. ^ (2*k + 1)/factorial(2*k + 1); k = k + 1; end 11!}

Operacionet e mëposhtme relacionale përdoren për të vendosur kushtin e ekzekutimit të ciklit Vlera e raportit i = = e barabartë me > më e madhe se > = më e madhe ose e barabartë me ~ = jo e barabartë me

dhe operatorët logjikë: Shënimi i gjendjes së operatorit në MATLAB Shënimi ekuivalent Logjik "dhe" x

Le të kthehemi te shembulli ynë dhe të vërejmë se nëse seria ndryshon, atëherë kushti për vogëlsinë e termit aktual mund të mos plotësohet kurrë dhe programi mund të qarkullojë. Prandaj, e kufizojmë numrin e termave në 100. 000 Kushti do të duket kështu ose (abs (x. ^ (2*k + 1)/faktorial(2*k + 1)) > 1. 0 e -10, k

Trajtimi i situatave të jashtëzakonshme 1) pushim - ndërprerja e ciklit dhe ekzekutimi i deklaratës pas përfundimit (për shembull, dalja nga cikli i brendshëm); 2) Një pjesë e veprimeve të pasakta matematikore në MATLAB nuk çojnë në përfundimin e programit (për shembull, = inf, = Na. N). Rezultati është një konstrukt provoni Deklarata, ekzekutimi i të cilave mund të rezultojë në një gabim të kapur Deklaratat në rast të një gabimi fundi 15

Operatorët e degëve Operatori i kushtëzuar MATLAB përdor operatorët e mëposhtëm të degëve: n nëse është operator i kushtëzuar; Deklarata n switch - switch 16

Struktura e deklaratës së kushtëzuar: if (kushti) i komandës MATLAB elseif (kushti) i komandës MATLAB …………. Kjo pjesë mund të mungojë otherif (kusht) Komandat MATLAB other Komandat MATLAB fundi 17

Kur përpiloni një skedar M duke përdorur deklaratat e degës, është e dobishme të përdorni 1) paralajmërimin e komandës ('tekst') - për të shfaqur një paralajmërim në dritaren e komandës; 2) gabimi i funksionit ('tekst') - për të përfunduar ekzekutimin e programit. tetëmbëdhjetë

Shembulli 4 Jepet një ekuacion kuadratik ax 2 + bx +c = 0, a ≠ 0. Le të shkruajmë një funksion M që njehson rrënjët e ekuacionit kuadratik. Le të kontrollojmë për numrin e parametrave hyrës dhe dalës, si dhe për faktin se parametrat hyrës janë numra, jo vektorë dhe matrica. Për më tepër, ne marrim parasysh rastin e një rrënjë komplekse. Programi duket si ky: 19

funksioni = rrënja 2 (a, b, c) nëse (nargin

Shënim Për të shkruar programet tuaja llogaritëse, vetë-studimi i funksioneve standarde të skedarëve në nëndrejtoritë e Toolbox mund të jetë një përfitim i madh. Shumica e tyre janë me burim të hapur, gjë që ju lejon të kuptoni parimet e programimit në MATLAB. Funksione të tjera (si p.sh. cos. m) janë të integruara. Ato përmbajnë komente për përdorimin e funksioneve. Le të marrim një shembull tjetër. 21

funksioni y = kusfun (x) Nëse nargin ~= 1 gabim ('Duhet të ketë një argument hyrës') fund = madhësia (x); y = zero (madhësia (x)); % inicializon argumentin hyrës për i = 1: Nx për j = 1: Mx nëse x (i, j) = -pi nuk nevojitet! y (i, j) = x (i, j) / pi; tjetër y (i, j) = - cos(x (i, j)) fundi 23

Deklarata e ndërprerësit është e përshtatshme për t'u përdorur kur ka një korrespondencë midis vlerave diskrete të disa variablave dhe veprimeve pasuese. 24

Struktura e deklaratës mund të shihet nga shembulli i mëposhtëm: ndërroni një rast -1 disp ('a = -1') rast 0 disp ('a = 0') përndryshe disp ('a nuk është e barabartë me -1, 0 ') fundi 25

Deklarata switch është e përshtatshme për zgjidhjen e detyrës së paraqitjes së grafikëve të ndryshëm të funksionit në studim (sipërfaqja e telit (a=1), linjat e nivelit (a=2), etj.). 26

Shprehjet Boolean me vargje dhe numra Veprimet logjike shërbejnë si një mënyrë universale për të përpunuar të dhënat e matricës. Meqenëse MATLAB përfaqëson numrat si vargje 1 1, është e natyrshme të pritet që vargjet të përfshihen në shprehjet boolean. Tani do të shqyrtojmë shtrirjen e operacioneve logjike dhe relacionale në rastin e vargjeve. 27

Operacionet Relacionale Rezultati i një operacioni relacional në MATLAB mund të jetë ose një logjik ('true') ose një zero logjike ('false'). Për më tepër, ndryshe nga shumë gjuhë programimi, variablat aritmetikë mund të përdoren në të njëjtën shprehje si ato logjike. 28

Src="https://present5.com/presentation/c993b082b44b0b84b1886b8dd4d3c841/image-29.jpg" alt="(!LANG:Shembulli 6 > a = 1; b = 3; c = 1; >"> Пример 6 > a = 1; b = 3; c = 1; > a + (b > c) ans = 2 > a + (b!}

Src="https://present5.com/presentation/c993b082b44b0b84b1886b8dd4d3c841/image-30.jpg" alt="(!LANG: > A = ; B = ; B = ; > C = A = = B C = 30

Shënim Ashtu si në veprimet aritmetike elementare, lejohet përdorimi i numrave si një nga argumentet e veprimit relacional. Në këtë rast, çdo element i grupit krahasohet me një numër, rezultati është një grup me të njëjtën madhësi si ai origjinal. 31

Operacionet logjike Zbatimi i operacioneve logjike në vargje rezulton në ekzekutimin e tyre element pas elementi mbi elementët e grupit. n A dhe B - jep një nëse elementët përkatës nuk janë të barabartë me zero; n A ose B - jep një nëse të paktën një element nuk është i barabartë me zero; 32

jo A - aplikohet në një grup, nëse elementi nuk është i barabartë me zero, atëherë vendoset zero, përndryshe - një; n të gjitha (v) - kontrollon për zero elementë në vektor, kthen një nëse nuk ka elemente zero. Nëse v është një matricë, atëherë rezultati është sipas kolonave; n çdo (v) – kthen një nëse ka të paktën një element jozero në vektorin hyrës. n 33

Prioriteti i operacioneve 1. Mohimi; 2. Transpozimi, fuqizimi (duke përfshirë element për element), shenja plus dhe minus para numrit; 3. Shumëzimi dhe pjesëtimi (duke përfshirë element për element); 4. Mbledhja dhe zbritja; 5. Operacionet e marrëdhënieve; 6. Logjike 'dhe', logjike 'ose'. 34

Src="https://present5.com/presentation/c993b082b44b0b84b1886b8dd4d3c841/image-36.jpg" alt="(!LANG: Shembulli 7 > a = ; > u"> Пример 7 > a = ; > u = find ((a = -1)) 3 4 5 > anew = a(u) 0 -1 0 36!}

Shembulli 8 Zëvendësoni në mënyrë të pavarur elementet e një matrice katrore prej 5 x 5 numrash të rastësishëm nga intervali (0, 1), më i madh se vlera mesatare e të gjithë elementëve me 10%, me vlerën mesatare. Zgjidhje > A = rand(5); > S = shuma (shuma A) / 25; > A(gjeni (A > S* 1. 1)) = S Në këtë rast, funksioni find kthen 2 vektorë të numrave të rreshtave dhe numrave të kolonave. 37

Polinomet në MATLAB Polinomi p(x)=anxn+an-1xn-1+. . . +a 0, an≠ 0 në MATLAB, jepet vektori-stroy p=, ku ai janë çdo numër kompleks, an≠ 0. Vini re se shkalla e polinomit llogaritet si më poshtë: n=gjatësia(p)-1 (kur n=0, konst ). 38

Komandat kryesore për veprimet me polinome janë si më poshtë: n n n r=rrënjët(p) është një vektor kolone që përmban të gjitha rrënjët e polinomit; p=poli(r) – ndërtimi i një polinomi nga rrënjët e dhëna në vektorin e kolonës r, për më tepër, nëse r është një matricë katrore, atëherë р është një polinom karakteristik; y=polyval(p, x) – llogaritja element pas elementi i vlerave y të polinomit p në bashkësinë x, ku x mund të jetë një vektor ose një matricë; 39

n n n polider(p) është një vektor rreshti që rrjedh nga p (diferencimi i polinomit p); polider(p, q) është derivat i prodhimit të polinomeve p dhe q; = polider(p, q) është derivati ​​i herësit nga polinomi p dhe q, ku a dhe b janë numëruesi dhe emëruesi i thyesës që rezulton; 40

n n n p=polyfit(x, y, n) – përafrimi i funksionit y(x) me një polinom p të shkallës së n-të me një metodë që minimizon distancën midis grafikut polinom dhe kurbës së vërtetë, mesatarisht në të gjithë gjatësinë e tyre; conv(p, q) është një vektor rreshti, prodhim i polinomeve p dhe q; =deconv(p, q) – pjesëtimi i p me q, w-herës, r-mbetja dhe p=conv (q, w) + r; 41

n =mbetje(a, b) – zbërthim funksioni racional në thyesa të thjeshta mbi fushën e numrave kompleks me zgjedhjen e pjesës së plotë k(х) ose ku ri janë mbetje (elementet r), pi janë pole (elementet p). Kjo komandë funksionon gjithashtu në mënyrë të kundërt = mbetje(r, p, k) 42

Vërejtje 1. Nëse polinomi b(x) në mbetjen (a, b) dhe polinomi p(x) në rrënjët (p) kanë rrënjë të shumëfishta ose të afërta, atëherë rezultatet mund të jenë të pasakta, pasi një problem i tillë është i pakushtëzuar. . Kushtëzimi i dobët është një varësi jashtëzakonisht e fortë e rezultatit nga koeficientët (analoge me qëndrueshmërinë e zgjidhjes në ekuacionet diferenciale). 43

2. Kur punoni me polinome, ndodhin polinome të formës, dhe MATLAB nuk kontrollon automatikisht an≠ 0 dhe ndodhin gabime (duhet ta ndiqni vetë). 44

Gjuha e llogaritjes teknike

Miliona inxhinierë dhe shkencëtarë në mbarë botën përdorin MATLAB ® për të analizuar dhe zhvilluar sistemet dhe produktet që po transformojnë botën tonë. Gjuha e matricës MATLAB është mënyra më e natyrshme në botë për të shprehur matematikën llogaritëse. Grafikat e integruara e bëjnë të lehtë vizualizimin dhe kuptimin e të dhënave. Mjedisi i desktopit inkurajon eksperimentimin, eksplorimin dhe zbulimin. Këto mjete dhe aftësi të MATLAB janë të gjitha të testuara rigorozisht dhe të dizajnuara për të punuar së bashku.

MATLAB ju ndihmon të realizoni idetë tuaja përtej desktopit. Ju mund të kryeni eksplorime në grupe të dhënash të mëdha dhe në shkallë në grupime dhe re. Kodi MATLAB mund të integrohet me gjuhë të tjera, duke ju lejuar të vendosni algoritme dhe aplikacione në sistemet e internetit, ndërmarrjeve dhe industriale.

Fillimi i punës

Mësoni bazat e MATLAB

Bazat e gjuhës

Sintaksa, indeksimi dhe përpunimi i grupeve, llojet e të dhënave, operatorët

Importoni dhe analizoni të dhënat

Importi dhe eksporti i të dhënave, duke përfshirë skedarë të mëdhenj; Përpunimi paraprak të dhënat, vizualizimi dhe kërkimi

matematika

Algjebra lineare, diferencimi dhe integrimi, transformimet e Furierit dhe matematika të tjera

Artet grafike

Grafika 2D dhe 3D, imazhe, animacion

Programimi

Skriptet, funksionet dhe klasat

Krijimi i aplikacionit

Zhvillimi i aplikacionit me "App Designer", "Programmable Workflow" ose "GUIDE".

Mjetet e zhvillimit të softuerit

Debugimi dhe testimi, organizimi i projekteve të mëdha, integrimi me sistemin e kontrollit të versionit, paketimi i kutisë së veglave

Shpesh, kur organizohet një lak, kërkohet të përsëritet mbi vlerën e kundërt në një gamë të caktuar vlerash dhe me një hap të caktuar ndryshimi. Për shembull, për të përsëritur mbi elementet e një vektori (vargu), duhet të organizoni një numërues nga 1 në N me një hap 1, ku N është numri i elementeve të vektorit. Për të llogaritur shumën e serisë, një numërues nga a në b është specifikuar gjithashtu me hapin e kërkuar të ndryshimit të hapit. Dhe kështu me radhë. Për faktin se detyra të tilla hasen shpesh në praktikën programuese, për zbatimin e tyre u propozua një operator i veçantë for loop, i cili e bën më të lehtë dhe më vizual zbatimin e një cikli me numërues.

Sintaksa e deklaratës for loop është si më poshtë:

për<счетчик> = <начальное значение>:<шаг>:<конечное значение>
<операторы цикла>
fund

Le të shqyrtojmë punën e këtij cikli në shembullin e zbatimit të algoritmit për gjetjen e vlerës maksimale të një elementi në një vektor:

funksioni search_max
a = ;
m = a(1); % vlera maksimale aktuale
për i=1:length(a) % cikli nga 1 deri në fund të vektorit c
% hapi 1 (i parazgjedhur)
nëse m< a(i) % если a(i) >m,
m = a(i); % pastaj m = a(i)
fund
fundi % fundi i ciklit for
disp(m);

AT ky shembull cikli for vendos numëruesin i dhe e ndryshon vlerën e tij nga 1 në 10 në rritje prej 1. Vini re se nëse rritja nuk është specifikuar në mënyrë eksplicite, atëherë ai vendoset në 1.

Në shembullin e mëposhtëm, merrni parasysh zbatimin e algoritmit për zhvendosjen e elementeve vektoriale djathtas, d.m.th. në vend të të fundit vihet elementi i parafundit, në vend të të parafundit vihet tjetri e kështu me radhë. tek elementi i parë:

radhë funksioni
a = ;
disp(a);
për i=gjatësi(a):-1:2 % cikli nga 10 në 2 me hapin -1
a(i)=a(i-1); % zhvendosje e elementeve të vektorit a
fundi % fundi i ciklit for
disp(a);

Rezultati i programit

3 6 5 3 6 9 5 3 1 0
3 3 6 5 3 6 9 5 3 1

Shembulli i mësipërm tregon se për të zbatuar një cikël me një numërues nga një vlerë më e madhe në një më të vogël, duhet të specifikoni në mënyrë eksplicite hapin, në këtë rast, -1. Nëse kjo nuk është bërë, cikli do të përfundojë menjëherë punën e tij dhe programi nuk do të funksionojë siç duhet.

Si përfundim, le të shqyrtojmë funksionimin e operatorit të ciklit for duke përdorur shembullin e modelimit të një sekuence të rastësishme me ligjin e ndryshimit

ku - koeficienti nga -1 në 1; - ndryshore normale e rastësishme me pritshmëri dhe variancë matematikore zero

,

ku është varianca e procesit të rastësishëm të simuluar. Në këtë rast, kampioni i parë modelohet si një ndryshore normale e rastësishme me pritshmëri dhe variancë matematikore zero. Programi i simulimit ka formën e mëposhtme:

modelimi i funksionit_x
r = 0,95; % koeficienti i modelit
N = 100; % numri i pikave të simuluara
ex = 100; % variancë e procesit
et = ex*(1-r^2); % variancë shtesë e rastësishme
x = zero (N,1); % inicializoj vektorin x
x(1) = sqrt(ex)*randn; % simulimi i numërimit të parë
për i=2:N % lak nga 2 në N
x(i)=r*x(i-1)+sqrt(et)*randn; % Simulimi JV
fundi % fundi i ciklit
komplot (x); % shfaqja e SP si grafik

Kur ky program të ekzekutohet, do të shfaqet zbatimi i sekuencës së rastësishme të simuluar.

Oriz. 2.1. Rezultati i modelimit të një sekuence të rastësishme.

Puna e programit fillon me përcaktimin e variablave , (variabla ex në program) dhe për zbatimin e modelit të specifikuar. Pastaj llogaritet varianca dhe numërimi i parë i procesit të rastësishëm është modeluar duke përdorur funksionin randn. Funksioni randn gjeneron variabla normale të rastit me zero mesatare dhe variancë njësi. Për të gjeneruar një variabël të rastësishëm me variancë, mjafton të shumëzoni një ndryshore të rastësishme me variancë njësi me, sepse varianca është katrori mesatar i një ndryshoreje të rastësishme në lidhje me pritshmërinë matematikore. Si rezultat, ne kemi një linjë programi

x(1) = sqrt(ex)*randn;

Më pas, cikli for zbatohet me një numërues i nga 2 në N me një hap 1. Brenda ciklit, mostrat e mbetura N-1 të procesit të rastësishëm simulohen në përputhje me formulën e mësipërme. Rreshti i fundit i programit përmban funksionin plot(), i cili shfaq sekuencën e simuluar në ekran si grafik. Puna më e detajuar me paraqitjen e grafikëve në ekran do të diskutohet në kapitullin vijues.

Shën Petersburg: BHV-Petersburg, 2005. - 1104 f.
ISBN 5-94157-494-0
Shkarko(lidhje direkte) : matlab72005.pdf E mëparshme 1 .. 117 > .. >> Tjetër

ndërsa kushti looping i komandës MATLAB

Në këtë shembull, kushti për përsëritjen e ciklit është që moduli i termit aktual të jetë x2k~l/(2k +1)! më shumë se IO10. Për të shkruar një kusht në formë,

kuptohet nga MATLAB, përdorni shenjën ">" (më e madhe se). Teksti i funksionit skedar mysin, i cili llogarit shumën e serisë bazuar në relacionin e përsëritjes

k 2k(2k + \) k 1

treguar në listën 7.7.

Shënim ^

Sigurisht, në rastin e përgjithshëm, vogëlsia e termit është një koncept relativ, termi mund të jetë, të themi, i rendit IO-10, por vetë shuma është e të njëjtit rend. Në këtë rast, kushti i përfundimit të përmbledhjes duhet të jetë i ndryshëm, domethënë, moduli i raportit të termit aktual me pjesën tashmë të grumbulluar të shumës duhet të jetë i vogël. Ne nuk do t'i kushtojmë vëmendje kësaj për momentin - detyra jonë është të studiojmë punën me cikle.

Listimi 7.7. Funksioni i skedarit mysin, i cili llogarit sinusin sipas zgjerimit të serisë

funksioni s - mysin(x)

"% Llogaritja e sinusit sipas zgjerimit të serisë

% Përdorimi: y=mysin[x), -pi< х < piГлава 7. Управляющие конструкции языка программирова ни я

Ї llogaritja e termit të parë të shumës për k \u003d O k \u003d 0; ato;

% llogaritja e variablit ndihmës x2 - x*x;

ndërsa abs(u) > 1.Oe-IO k = k + 1; u \u003d -u * x2 / (2 * k) / (2 * k + 1)

Ju lutemi vini re se cikli while, ndryshe nga for, nuk ka një variabël loop, kështu që ne duhej të caktonim një në ciklin përpara ciklit dhe të rrisnim k me një brenda ciklit.

Tani krahasoni rezultatin duke vizatuar funksionet mysin dhe sin në segmentin [-l, i] Fia në të njëjtat boshte, për shembull, duke përdorur fplot (komandat mund të vendosen nga linja e komandës): » fplot (@rnysin, [-pi, pi]) » mbaj

» fplot(@sin, t-pii pi]і "k.")

Oriz. 7.3. Krahasimi i mysin dhe sin360_________ Pjesa II. Informatikë dhe programim

Grafikët që rezultojnë janë paraqitur në Fig. 7.3, ato dëshmojnë për funksionimin e saktë të funksionit të skedarit mysin.

Kushti i një cikli while mund të përmbajë një shprehje logjike të përbërë nga operatorë relacionalë dhe operatorë ose operatorë logjikë. Për të vendosur kushtin për përsëritjen e ciklit, veprimet e relacionit të dhënë në tabelë. 7.1.

Tabela 7.1. operacionet e marrëdhënieve

Marrëdhënia e operacionit me shënime
== Barazi
< Меньше
<= Меньше или равно
>= Më e madhe ose e barabartë
Jo të barabartë

Puna mbaroi kushte të vështira kryhet duke përdorur operatorë ose operacione logjike. Për shembull, kushti -1<.г<2 состоит в одновременном выполнении неравенства а>-1 dhe x<2 и записывается при помощи логического оператора and

dhe (x >= -1, X< 2)

ose në mënyrë ekuivalente duke përdorur operacionin logjik "dhe" - &

(x >= -1) & (x< 2)

Operacionet kryesore logjike dhe operatorët dhe shembujt e regjistrimit të tyre janë dhënë në tabelë. 7.2 (shprehjet logjike janë përshkruar në detaje në seksionin "Veprimet logjike me numra dhe vargje" të këtij kapitulli).

Tabela 7.2. Shprehjet e Bulit

Lloji i shprehjes Shprehje Operatori logjik Operacion logjik
Logjike "dhe" A*<3 И к=4 and (х < 3, k==4) (х<3) s (k = 4)
Logjike "ose" X = Ї ose 2 ose (x == 1, X= 2) (x == 1) I (x == 2)
Duke mohuar "jo" a * 1.9 jo (a == 1.9) - (a == 1.9)

^ Shënim ^

Operatorët not, dhe, dhe ose janë funksione që kthejnë true (logjike) ose false (zero logjike). Çdo shprehje logjike merr të njëjtat vlera.

Kur llogaritni shumën e një serie të pafundme, ka kuptim të kufizoni numrin e termave. Nëse seria ndryshon për faktin se termat e saj nuk priren në zero, atëherë kushti për vogëlsinë e termit aktual nuk mund të plotësohet kurrë dhe programi do të qarkullojë. Kryeni përmbledhjen duke kufizuar numrin e termave. Shtoni një kufi në numrin e termave në gjendjen e ciklit while të skedarit të funksionit mysin (shih Listën 7-6):

(abs(u) > 1.Oe-IO) & (tek<= 100000) или в эквивалентной форме:

dhe l.Oe-lO, k<= 100000)

^ Shënim ^

Për të specifikuar rendin në të cilin kryhen operacionet logjike, duhet të përdoren kllapat (për më shumë informacion rreth operatorëve logjikë dhe operacioneve logjike dhe mundësinë e aplikimit të tyre në vargje, shih

sek. “Shprehje logjike me vargje dhe numra” të këtij kreu).

Gjatë programimit të algoritmeve, përveç organizimit të veprimeve të përsëritura në formën e cikleve, shpesh është e nevojshme të ekzekutohet një ose një bllok tjetër komandash në varësi të kushteve të caktuara, d.m.th. përdorni algoritmin e degëzimit.

Operatorët e degëve

Deklarata e kushtëzuar if dhe deklarata switch ju lejojnë të krijoni një algoritëm fleksibël të degëzimit në të cilin, kur plotësohen kushte të caktuara, ekzekutohet blloku përkatës i deklaratave ose komandave MATLAB. Pothuajse të gjitha gjuhët e programimit kanë operatorë të ngjashëm.

Deklarata e kushtëzuar nëse

Deklarata if mund të përdoret në formën e saj të thjeshtë, për të ekzekutuar një bllok komandash kur plotësohet një kusht, ose në një konstrukt if-eiseif-eise për të shkruar algoritme degëzimi.362

Pjesa II. Informatikë dhe programim

Vlefshmëria e argumentit të hyrjes

Le të fillojmë me shembullin më të thjeshtë - krijoni një skedar funksioni për të llogaritur

sythe matlab dhe kushtet: teori dhe shembuj

Diten e mire. Sot do të flasim për sythe dhe kushtet në Matlab. Materiali që merret për bazë është ndihmë në Matlab dhe disa shembuj të thjeshtë që do t'i analizojmë me ju.

Kushtet në MATLAB

Asnjë gjuhë programimi nuk mund të bëjë pa ndërtime të tilla si kushtet, për këtë do të flasim:
Le të fillojmë me sintaksën e kushtit nëse dhe shikoni versionin zyrtar të hyrjes në ndihmë:

Nëse shprehja, deklaratat, fundi

Qe do te thote:

Nëse Kushti, Veprimi, fundi

Tani shembuj:

x=1; y=61; nëse ((x >= 0,90) && (y >= 60)) disp ("ok"); fundi;

&& - operatori logjik i shumëzimit (logjik "AND").
Dhe këtu është një shembull me tjetër:

x=1; y=50; nëse ((x >= 0,90) && (y >= 60)) disp ("ok"); else disp ("jo e drejtë") fundi;

Ndryshe nga shembulli i parë, këtu do të shfaqet "jo e drejtë".
Disa fjalë për kaloni. Formalisht në ndihmë:

Sintaksa switch switch_expr case_expr statement, ..., case_expr1, case_expr2, case_expr3, ...) deklarata, ..., deklarata ndryshe deklarata, ..., fundi i deklaratës

Më shumë me këmbë në tokë:

Ndërrimi i sintaksës switch_expr case Vlera - 1 Rasti i veprimit (Vlera - 2, Vlera - 3, Vlera - 4, ...) Veprimi Përndryshe Veprimi përfundon

Kjo do të thotë se nëse ndryshorja e dhënë është e barabartë me vlerën në Vlera e rastit - 1, atëherë veprimi kryhet kur Vlera e rastit - 1 dhe kështu me radhë. Nëse asnjë nga rast nuk përputhej, veprimi kryhet kur ndryshe.
Këtu është një shembull:

Metoda = "Bilineare"; switch poshtë(metodë) case ("linear","bilinear") disp("Metoda është lineare") case "cubic" disp("Metoda është kub") case "nearest" disp("Metoda është më e afërt") ndryshe disp( "Metodë e panjohur.") fund

Loops në MATLAB

Tani le të kalojmë në cikle, duke filluar me për.
Kjo është shkruar në manual si

Sintaksa për indeksin = vlerat e deklaratave të programit: fund

Në terma laik, kjo do të thotë:

Sintaksa për variablin = fundi i veprimit të vlerës

Ne nuk do të zgjatemi në formulimin zyrtar, është më mirë të kuptojmë dhe shembujt e preferuar.

Për m = 1:10 m fund

Kështu duket përdorimi më i zakonshëm për. Në këtë lak, ne thjesht nxjerrim vlerën e m.
Mënyra e dytë duke përdorur hapin ( hap)

Për s = 1.0: -0.1: 0.0 disp(s) fund

Në këtë rast, cikli për shkon nga 1 në 0 në rritje prej -0.1.
Një tjetër opsion:

Për s = disp(s) fund

Në këtë rast, ndryshorja s do të barazohet në mënyrë sekuenciale me 1, 5, 8, 17 dhe do të dalë në përputhje me rrethanat.
Dhe gjithashtu me për shumë i përshtatshëm për të nxjerrë vektorë. Këtu:

Për e = eye(5) disp("Vlera aktuale e e:") disp(e) fund

Në këtë shembull, ekziston një qasje sekuenciale në elementët e vektorit e.

Cikli derisa:
Formalisht në ndihmë:

Sintaksa ndërsa shprehjet e programit të shprehjes: fund

E bazuar:

Sintaksa ndërsa Kushti Aksioni përfundon

Dhe le të marrim menjëherë një shembull (si përdoret në jetën reale).

Eps = 10; ndërsa eps > 1 eps = eps - 1 fund

Ndërsa në gjendje ( eps > 1) ekzekutohet, cikli kryen veprimin

(eps=eps-1).
Gjithashtu ne gjendje derisa ju mund të përdorni operatorë logjikë AND - && dhe OSE - || , duke shkruar disa shprehjet boolean në gjendje.

Nëse keni pyetje në lidhje me artikullin, shkruani në komente.

codetown.com

For, while loops në Matlab (Matlab)

Deklarata for është krijuar për të kryer një numër të caktuar veprimesh të përsëritura. Përdorimi më i thjeshtë i deklaratës for është si më poshtë:

për numërim = fillim:hapi:përfundimtarKomandat e MatLabfund

Këtu count është një variabël cikli, fillimi është vlera e tij fillestare, përfundimtare është vlera e tij përfundimtare dhe hapi është hapi me të cilin numërimi rritet sa herë që hyn në lak. Cikli përfundon sapo vlera e numërimit të bëhet më e madhe se përfundimtare. Variabla e lakut mund të marrë jo vetëm numra të plotë, por edhe vlera reale të çdo shenje

Cikli for është i dobishëm për kryerjen e veprimeve të ngjashme të përsëritura kur numri i tyre është i paracaktuar. Një lak më fleksibël ndërsa ju lejon të kapërceni këtë kufizim.

ndërsa gjendja e lakutKomandat e MatLabfund

62. Cili ekip krijon një M-libër në një redaktues teksti fjalë lidhur me matlab?

Fillimi i një libri të ri M Për të filluar të shkruani një M-libër të ri, ju duhet: 1) të hapni redaktorin Word; 2) zgjidhni në kutinë e dialogut fjalë opsion I ri nga menyja dosje; 3) në dritaren që shfaqet në ekran, zgjidhni modelin M-book. Si rezultat i këtyre veprimeve, sistemi do të fillojë MatLAB, dhe pamja e menusë kryesore të redaktorit Word do të ndryshojë disi - një menu e re do të shfaqet në të fletore. Kjo do të tregojë se fjalë sistemit të bashkangjitur MatLAB. Nëse tani përdorni miun për të aktivizuar menynë fletore dritare fjalë, në ekran do të shfaqet një meny shtesë

63. Cila komandë në redaktuesin e tekstit Word e shndërron tekstin në qelizë hyrëse të MatLab?

zgjidhni një ekip Përcaktoni qelizën hyrëse(Përcaktoni qelizën hyrëse) në meny fletore(shih Fig. 3.20), ose shtypni tastet; pas kësaj, pamja e linjës së komandës duhet të ndryshojë - karakteret e komandës bëhen jeshile të errët, dhe komanda rrethohet nga kllapa katrore gri të errët;@

64. Cili është urdhëri në tekst Redaktori i fjalës siguron që një komandë MatLab të ekzekutohet në një qelizë?

zgjidhni komandën Evaluate Cell me miun ose shtypni një kombinim tasti; rezultati i këtyre veprimeve duhet të jetë shfaqja menjëherë pas tekstit të komandës së rezultateve të ekzekutimit të tij nga sistemi MatLAB. Rezultatet e ekzekutimit të komandës shfaqen në ngjyrë blu dhe janë të mbyllura në kllapa katrore.

65. Cila komandë në redaktuesin tekst Word siguron ekzekutimin e komandave MatLab në të gjithë M-book?

Ekzekutimi i komandave për të gjitha qelizat ose grupet e qelizave në hyrjen e seksionit kryhet duke përdorur artikullin Evaluate Calc Zone, dhe të gjithë M-book menjëherë - Evaluate M-book

66. Cila komandë në redaktuesin e tekstit Word siguron ekzekutimin e komandave MatLab në të gjitha qelizat në mënyrë automatike kur hapet një M-book?

Komandat për qelizat që kanë stilin AutoInnit ekzekutohen menjëherë pas hapjes së librit M. Është e dobishme të përfshihet një komandë e qartë në qelizën e parë të tillë për të pastruar mjedisin e punës. Për të vendosur stilin AutoInit, përdorni artikullin Define Autoinit Cell në menynë e Notebook.

67. Çfarë butona përmban paneli Excel Link në një tabelë Excel kur ata janë të lidhur me MatLab?

68. Çfarë ofron komanda putmatrix?

Funksioni MLPutMatrix përdoret për të vendosur të dhëna nga qelizat e punës Fletë Excel te grupi i hapësirës së punës Matlab. Argumentet e këtij funksioni janë emri i variablit të mbyllur në thonjëza dhe diapazoni qelizat Excel lidhur me këtë variabël

68. Çfarë ofron komanda getmatrix?

Operacioni i kundërt kryhet nga funksioni MLGetMatrix, ndërsa argumentet e këtij funksioni janë emri i ndryshores së mjedisit të punës MatLab me 22 të dhëna, të mbyllura në thonjëza dhe diapazoni i qelizave Excel ku do të vendosen të dhënat e kësaj ndryshore. të mbyllura edhe në thonjëza.

70. Për çfarë shërben paketa Simulink?

Sistemi Matlab përfshin një paketë për modelimin e sistemeve dinamike - Simulink. Kjo paketë është thelbi i një pakete softuerike ndërvepruese të krijuar për modelimin matematikor të sistemeve dinamike lineare dhe jolineare, e përfaqësuar nga bllok diagrami i saj funksional, i quajtur modeli S ose thjesht modeli.

71. Cila bibliotekë Simulink përmban burime sinjali?

Le të ndërtojmë modelin më të thjeshtë të burimit të një sinjali sinusoidal, i cili futet në hyrjen e një oshiloskopi virtual. Për ta bërë këtë, klikoni në butonin për të hapur shfletuesin e bibliotekës dhe në pjesën e majtë të dritares së shfletuesit që shfaqet, klikoni në seksionin Burimet(Burimet), ndërsa ikonat e blloqeve të përfshira në këtë seksion shfaqen në pjesën e djathtë të dritares

72. Cila bibliotekë Simulink përmban VI-të e logimit?

oshiloskop Fushëveprimi nga seksioni Lavamanet.

73. Cila bibliotekë Simulink përmban blloqe diferencimi dhe integrimi?

Continuous përmban blloqe të vazhdueshme. Ndër më të rëndësishmet janë blloqet e derivatit të diferencimit dhe Integratorit të integrimit. Blloku i parë kryen diferencimin numerik të sinjalit të hyrjes; asnjë parametër nuk futet për këtë bllok. Blloku i dytë në dritaren e parametrave përmban disa fusha në të cilat mund të vendosni konstantën e integrimit në daljen e bllokut në fushën Kushti fillestar

74. Cila Bibliotekë Simulink përmban blloqe llogaritëse funksionet elementare?

Dritarja e bibliotekës Math përmban blloqe për kryerjen e veprimeve matematikore

Blloqet për llogaritjen e funksioneve elementare përfshijnë tre blloqe: bllokun e funksioneve matematikore Mathfunksionin, bllok i funksioneve trigonometrike Trigonometrikefunksionin dhe blloku i funksionit rrumbullakues Funksioni i rrumbullakosjes.

75. Sa vlera parametrash hapash vendosen në Simulink kur hapi i simulimit është i ndryshueshëm?

Dy opsione të zgjidhjes në fushën e opsioneve të zgjidhjes kanë një rëndësi të madhe: lloji i zgjidhjes dhe metoda e zgjidhjes. Ekzistojnë dy opsione për opsionin e parë:

Zgjidhësit me hapa të ndryshueshëm - zgjidhje me hapa të ndryshueshëm;

Zgjidhësit me hapa fikse janë një zgjidhje me hapa fikse. Si parazgjedhje, vendoset opsioni i zgjidhjes së hapit të ndryshueshëm, kur hapi zvogëlohet automatikisht me një rritje të shkallës së ndryshimit të rezultateve dhe anasjelltas. Kjo metodë përgjithësisht jep rezultate më të mira se simulimet me hapësirë ​​fikse, duke eliminuar mospërputhjet në shumicën e rasteve. Përdorimi i modelimit me një hap fiks zakonisht përdoret nëse kjo është për shkak të specifikave të problemit që zgjidhet.

studfiles.net

për...fund sythe MatLab

Mësimi 20
Mjetet bazë të programimit
Llojet bazë të të dhënave
Llojet e programimit
Dualiteti i operatorëve, komandave dhe funksioneve
Disa kufizime
M-skedarët për skriptet dhe funksionet
Struktura dhe vetitë e skedarëve të skriptit
Statusi i variablave në funksione
Struktura e funksionit të skedarit M
Statusi i ndryshores dhe komanda globale
Përdorimi i nënfunksioneve
Drejtoritë private
Gabim gjatë përpunimit

Dalja e mesazheve të gabimit
Funksioni Lasterr dhe trajtimi i gabimeve
Funksionet e argumentit të ndryshueshëm
Funksionet për numërimin e numrit të argumenteve
Variablat varargin dhe varargout
Komentet
Karakteristikat e ekzekutimit të m-skedarëve të funksioneve
Krijimi i kodeve P
Strukturat e kontrollit
Hyrja e dialogut
Operator i kushtëzuar
për... sythe fundore
sythe si ndërsa...fund
Dizajni i ndërprerësit
provo...kap...mbaroj construct
Krijimi i një pauze në llogaritjet
Koncepti i programimit të orientuar nga objekti
Krijimi i një klase ose objekti
Kontrollimi nëse një objekt i përket një klase të caktuar
Karakteristika të tjera të programimit të orientuar nga objekti
Çfarë të re kemi mësuar?

Sythet për...fund zakonisht përdoren për të organizuar llogaritjet me një numër të caktuar sythe të përsëritura. Struktura e një cikli të tillë është si më poshtë:

për vag=Shprehje. Udhëzim. .... deklarata fundore

Shprehja më së shpeshti shkruhet si s:d:e, ku s është vlera fillestare e variablit var, d është rritja e kësaj variabli dhe e është vlera përfundimtare e ndryshores së kontrollit, me arritjen e së cilës cikli përfundon. . Mund të shkruhet edhe në formën s:e (në këtë rast d=l). Lista e instruksioneve të ekzekutuara në lak përfundon me deklaratën fundore.

Shembujt e mëposhtëm ilustrojnë përdorimin e një laku për të marrë katrorët e vlerave të një variabli të ciklit:

» për 1=1:5 i^2. fundi;

» për x=0:.25:1 X^2, fundi:

Deklarata e vazhdimit transferon kontrollin në përsëritjen e radhës të ciklit, duke anashkaluar pohimet që e pasojnë atë dhe në një cikli të ndërthurur, ai e transferon kontrollin në përsëritjen tjetër të ciklit kryesor. Deklarata break mund të përdoret për të thyer ekzekutimin e një cikli në fillim. Sapo ndodh në program, cikli ndërpritet. Sythet e mbivendosur janë të mundshme, për shembull:

Si rezultat i ekzekutimit të këtij cikli (skedari për 2.m), formohet matrica A:

Duhet të theksohet se formimi i matricave duke përdorur operatorin: (colon) zakonisht merr shumë më pak kohë sesa përdorimi i një cikli. Megjithatë, përdorimi i ciklit është shpesh më i qartë dhe më i kuptueshëm. MATLAB lejon përdorimin e një grupi A me madhësi si një variabël cikli thp. Në këtë rast, cikli ekzekutohet aq herë sa ka kolona në grupin A, dhe në çdo hap ndryshorja var është një vektor që korrespondon me kolonën aktuale të grupit A:

» A=

» për var=A; var, fund

radiomaster.ru

Udhëzues i ilustruar në MatLab › Bazat e programimit › Për… end unazat. Sythe si ndërsa...fund. [faqe - 364] | Tutoriale për paketat e matematikës

Sythe si për…fund. Sythe si ndërsa...fund.

Ciklet e tipit për...fund zakonisht përdoren për të organizuar llogaritjet me një numër të caktuar ciklesh përsëritëse. Struktura e një cikli të tillë është si më poshtë:

për var = Shprehje. Udhëzim..... Fund instruction

Shprehja më së shpeshti shkruhet si s:d:e, ku s është vlera fillestare e ndryshores së ciklit var, d është rritja e kësaj variabli dhe e është vlera përfundimtare e ndryshores së kontrollit, me arritjen e së cilës përfundon cikli. Mund të shkruhet edhe në formën s:e (në këtë rast d=1). Lista e instruksioneve të ekzekutuara në lak përfundon me deklaratën fundore.

Shembujt e mëposhtëm ilustrojnë përdorimin e një laku për të marrë katrorët e vlerave të një variabli të ciklit:

> > për 1 = 1: 5 i ^ 2, fundi;

> > për x = 0:. 25:1X^2, fundi:

Operatori vazhdojnë transferon kontrollin në përsëritjen e radhës të ciklit, duke anashkaluar pohimet që e pasojnë atë, dhe në një cikli të ndërthurur, ai transferon kontrollin në përsëritjen tjetër të ciklit kryesor. Operatori thyej mund të përdoret për të përfunduar para kohe një lak. Sapo ndodh në program, cikli ndërpritet. Sythet e mbivendosur janë të mundshme, për shembull:

A(1 .j) = i + j;

Si rezultat i këtij cikli (skedar për 2.m) formohet matrica A:

Duhet të theksohet se formimi i matricave duke përdorur operatorin: (colon) zakonisht merr shumë më pak kohë sesa përdorimi i një cikli. Megjithatë, përdorimi i ciklit është shpesh më i qartë dhe më i kuptueshëm. MATLAB lejon përdorimin e një grupi A me madhësi si një variabël cikli thp. Në këtë rast, cikli ekzekutohet aq herë sa ka kolona në grupin A, dhe në çdo hap ndryshorja varështë një vektor që korrespondon me kolonën aktuale të grupit A:

> > A = [ 1 2 3: 4 5 6 ]

> > për var = A; var , fund

sythe si ndërsa...fund

Lloji i lakut derisa ekzekutohet për sa kohë që plotësohet kushti:

ndërsa deklaratat e gjendjes përfundojnë

Shembull i aplikimit të lakut derisa tashmë është cituar. Përfundimi i hershëm i cikleve zbatohet duke përdorur operatorë thyej ose vazhdojnë.



Artikuj të ngjashëm: