• No results found

IF-SATSEN, FOR-LOOP (FOR SLINGAN) , WHILE-LOOP (WHILE-SLINGAN) BINDEORD

N/A
N/A
Protected

Academic year: 2021

Share "IF-SATSEN, FOR-LOOP (FOR SLINGAN) , WHILE-LOOP (WHILE-SLINGAN) BINDEORD"

Copied!
4
0
0

Loading.... (view fulltext now)

Full text

(1)

Armin Halilovic MATLAB: if, for, while

Sida 1 av 4

IF-SATSEN, FOR-LOOP (FOR SLINGAN) , WHILE-LOOP (WHILE-SLINGAN)

BINDEORD i sammansatta påståenden betecknas I MATLAB enligt följande tabell:

inte och eller antingen eller (exclusive or)

~ & | xor

JÄMFÖRELSE i MATLAB:

lika med inte lika

med mindre än mindre än

eller lika med större än större än eller lika med

== ~= < <= > >=

IF SATSEN

If satsen används vid valsituationer: "Om ett villkor är uppfylld gör några kommandon".

Syntax:

if villkor

kommando 1, kommando 2, kommando 3,..., kommando n end

Om villkoret är uppfylld exekveras komandon mellan if och end. Annars fortsätter programmet efter end.

If sats kan kompletteras med else och elseif.

Skriv nedanstående exempel i en matlab script-fil (m-fil) och testa hur de fungerar.

Exempel 1

%% clc %rensar kommando-fönstret

clear % rensar alla variabler a=15, b=40

if (a>b) c1=11 c2=3^4

else e1=222, e2=333 end

Exempel 2

%%clear clca=10

if (a>20 & a<30) % tecken & betyder och

(2)

Armin Halilovic MATLAB: if, for, while

Sida 2 av 4

b=15

elseif a<=20 c1=8, c2=12.6 else d1=21,d2=33,d3=34 end

FOR LOOP (FOR SLINGA)

For loop används för att upprepa ett antal kommandon ett bestämt antal gånger

Syntax:

for k=1:n kommandon end

Några exempel

Exempel 3: För hela tal m som ligger mellan 5 och 10 beräknar vi m^2 och 10*m.

clear clc for m=5:10 k=ma=m^2, b=10*m end

Exempel 4: Två for-loop. Vi bildar en matris M av typ 5x4 med element M(k,j)=k^2+100*j.

clear clc for k=1:5 for j=1:4

M(k,j)=k^2+100*j;

end endM

UPPGIFT 1.

Beräkna summan av alla hela tal från 15 till och med 20, med andra ord, beräkna ∑

= 20

15 k

k Lösning:

clear

clcS=0; % startvärdet =0 skrivs innan forloop for k=15:20

S=S+k end

S % Här visas summan

(3)

Armin Halilovic MATLAB: if, for, while

Sida 3 av 4

UPPGIFT 2.

Beräkna summan av kvadrater av alla hela tal från 13 till och med 18, med andra ord beräkna ∑

= 18

13 2 k

k . Lösning:

clear

clcS=0; % startvärdet =0 skrivs innan for-loop for k=13:18

S=S+k^2; % Vi avslutar ett delkommando med semikolon % om vi inte vill se delresultat på skärmen end

S % Här visas summan

UPPGIFT 3.

A=randi([200, 330],1,150) definierar vi en vektor med 150 element (dvs en matris med 1 rad och 150 kolonner, vars element är slumpvalda tal som ligger mellan 200 och 330 (200 och 330kan också väljas).

a) Hur många tal i A som är delbara med både 4 och 6 . b) Beräkna summan av alla sådana tal.

clc clear antal=0;

s=0

A=randi([200, 330],1,150) for i=1:150

if (rem(A(i),4)==0 & rem(A(i),6)==0) antal=antal+1;

s=s+A(i) end

end antal s

UPPGIFT 4. Med kommandot A= randi([10,50],5,15)

definierar vi en matris med 5 rader och 15 kolonner, vars element är slumpvalda tal som ligger mellan 10 och 50 (10 och 50 kan också väljas).

a) Hur många tal i A uppfyller villkoret 20 <= A(i,j) <=40 ? Beräkna summan av alla sådana tal.

(4)

Armin Halilovic MATLAB: if, for, while

Sida 4 av 4

b) Hur många tal i A uppfyller villkoret A(i,j)<=20 eller A(i,j)>=45 Beräkna summan av alla sådana tal.

Lösning:

clear clc

A= randi([10,50],5,15) % ger en matris av typ 5x15 med slumptal % mellan 10 och 50

%% a)

s1=0; % Vi startar summan med s1=0 N1=0;

for i= 1:5 for j=1:15

if A(i,j)>=20 & A(i,j)<=40 % tecknet & betyder OCH N1=N1+1; s1=s1+A(i,j);

else N1=N1+0; s1=s1+0; % det här kommandot är % inte nödvändigt i vår uppgift end

end end

antalet1=N1 summan1=s1

%% b)

s2=0; % Vi startar summan med s=0 N2=0;

for i= 1:5 for j=1:15

if A(i,j)<=20 | A(i,j)>=40 % tecknet | betyder eller N2=N2+1; s2=s2+A(i,j);

else N2=N2+0; s2=s2+0;

end end end

antalet2=N2 summan2=s2

% vi kan använda fprintf för att skriva resultat

% med förklaringstext i samma rad:

fprintf('Antalet element som uppfyller kravet b = %4.0f \n',N2) fprintf('Summan av sådana element är = %4.0f \n',s2)

ETT EXEMPEL MED WHILE-LOOP (WHILE-SLINGAN)

Exempel 5:

clear clcs=0

k=1while s <=100 % beräknar kommandon mellan while och end s=s+k^2 % ända tills villkoret s <=100 är uppfyllt.

k=k+1 % Därefter fortsätter efter end endk

s

References

Related documents

Upozornění: Je důležité si uvědomovat, že pokud podmínka není splněna na samém začátku, tak tělo cyklu neproběhne ani jednou. Pokud chceme dát do cyklu více

In the simulation study below we will illustrate the nite sample behavior of this method and it will then be clear that the noncausal FIR model used in the rst step of the

The projection method may be applied to arbi- trary closed-loop systems and gives consistent esti- mates regardless of the nature of the feedback and the noise model used. Thus

Although knowledge about preoperative anxiety is considerable, under- standing about other preoperative moods is fragmented, and this thesis thus has contributed that

Presentationsverktyget PowToon är det enda av dessa som där det individuellt går att ställa in längden för varje avsnitt, i de andra verktygen finns antingen alternativet att

För även om var och en av deltagarna i diskussionen skulle vara benägna att argumentera för sina egna uppfattningar skulle dessa utmanas av andra på ett sätt som gör det möjligt

videlicet quod folus ipfe ab aeterno gi- gnkur; Altera quam cum patre com-. munem habet ^ auod videlicet una cum Patre confubftantialem Öc coae- ternüin Tibi

Additionally, it’s specifically designed to draw people in with the water fountain and curious, simple equipment at the entrance (particularly the Balance station). How successful