Mimartebis Operaciebi Da Logikuri Operaciebi Ricxvebze

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 25

1

mimarTebis operaciebi da logikuri operaciebi ricxvebze

mimarTebis operatorebi
< naklebi
<= naklebi an toli
> meti
>= Mmeti an toli
== udris
ª~ = Aar udris

mimarTebis operatorebis gamoyenebisas dardeba ori masivi erTi da igive


ganzomilebis an dardeba masivi skalarTan. am meore SemTxvevaSi skalari
dardeba masivis yvela elements da Sedegad viRebT imave zomis masivs.

>> A=1:9,B=8-A

A=

1 2 3 4 5 6 7 8 9

B=

7 6 5 4 3 2 1 0 -1

>> tf1=A<=4

tf1 =

1 1 1 1 0 0 0 0 0
2

>> tf2=A>B

tf2 =

0 0 0 0 1 1 1 1 1

>> tf3=(A==B)

tf3 =

0 0 0 1 0 0 0 0 0

>> tf4=B-(A>2)

tf4 =

7 6 4 3 2 1 0 -1 -2

>>
SevniSnoT rom = da== sxvadasxva mniSvneloba aqvs. == adarebs or cvlads da
abrunebs mniSvnelobas 1 sadac isini tolebia da nuls sadac isini tolebi ar arian,
xolo = mianiWebs gamosatan operators mniSvnelobas.

nulze gayofis acileba


ganvixiloT Semdegi:
>> x=(-3:3)/3

x=

Columns 1 through 5

-1.0000 -0.6667 -0.3333 0 0.3333

Columns 6 through 7

0.6667 1.0000

>> sin(x)./x

ans =
3

0.8415 0.9276 0.9816 NaN 0.9816 0.9276 0.8415

aq meoTxe elementi aris


NaN (niSnavs Not a Number) , radgan
meoTxe elementi x Si udris 0 da sin(0)./0 ar aris gansazRvruli. amis
asacileblad 0- li xX- Si SevcvaloT specialuri ricxviT eps, romelic
-16
miaxloebiT 2.2X10
>> x=(-3:3)/3

x=

-1.0000 -0.6667 -0.3333 0 0.3333 0.6667 1.0000


>> x=x+(x==0)*eps

x=

-1.0000 -0.6667 -0.3333 0.0000 0.3333 0.6667 1.0000


>> sin(x)./x

ans =
0.8415 0.9276 0.9816 1.0000 0.9816 0.9276 0.8415
>>

სიმბოლოების შედარება ხდება მათი ASCII ეკვივალენტური

მნიშვნელობების გამოყენებით სიმბოლოების კოდირებაში.

>> 'a'<'c'

ans =

>> 'a'<'d'
4

ans =

>> 'n'<'d'

ans =

>> 'n'<'k'

ans = 0

logikuri operatorebi (ix. help relop)

& da
| an
ª~ ara

meoTxe logikuri operatori warmodgenilia Semdegi funqciiT: ganvixiloT


logikuri funqcia xor. es funqcia or argumentiania da ganixilavs maT mimarT
operacias ‘an –is gamoricxva’, Rebulobs erTis tol mniSvnelobas (´WeSmariti´)
mxolod maSin, rodesac erTerTi ricxviTi argumenti WeSmaritia (´ar urdris nols´),
xolo meore mcdari (´urdris nols´).

A B ~A A| A&B xor(A,B)
B
0 0 1 0 0 0
0 1 1 1 0 1
1 0 0 1 0 1
1 1 0 1 1 0

prioriteti mimarTebebis operatorebis iwyeba ~, &, |. frCxilebi cvlian prioritets.


5

magaliTebi:

>> A=1:9

A=
1 2 3 4 5 6 7 8 9

>> tf1=A>4

tf1 =
0 0 0 0 1 1 1 1 1

>> tf2=~(A>4)
tf2 =

1 1 1 1 0 0 0 0 0

>> tf3=(A>2)&(A<6)
tf3 =
0 0 1 1 1 0 0 0 0

>> tf4=xor((A>2),(A<6))

tf4 =
1 1 0 0 0 1 1 1 1

>>
>> a=1; b=0;
>> xor(a,b)
ans =
1
im SemTxvevaSi rodesac orive argumenti ´`WeSmaritia´ an orive `mcdari´,
mocemuli funqcia xor urdris nols
>> a=1; b=1;
>> xor(a,b)
ans =
0
magaliTebi. ganvixiloT:
>> A=[1 1 1;2 2 2;3 3 3]
A=
1 1 1
6

2 2 2
3 3 3
>> B=[0 0 0;7 7 7 ;1 2 3]
B=
0 0 0
7 7 7
1 2 3
>> A<=B
ans =
0 0 0
1 1 1
0 0 1
>> xor(A,B)
ans =
1 1 1
0 0 0
0 0 0
>> v=[1 2 3 4 0]
v=
1 2 3 4 0
>> ~v
ans =
0 0 0 0 1
operatori ¨´´ logikuri an ` iRebs nols Tu orive operandi 0 – ia, da iRebs erTs Tu es
ase ar aris.
>> 2|3
ans =
1
logikuri gamosaxuleba gamoTvlisas Rebulobs mniSvnelobas 0 (Tu mcdaria) da 1
(Tu WeSmaritia)
>> 2>3
ans =
0
logikuri operatori moqmedebs TviTeul elementze
>> [2 3]<[3 2]

ans =
1 0
>> x=-2:2; x>=0
ans =
0 0 1 1 1
vTqvaT
7

>> a=3;b=5;c=7;
>> (a<b)+(c~=b)+(b==a)
ans =
2
8

დაუკვირდეთ მოქმედების თანმიმდევრობას

უნდა აღინიშნოს, რომ MATLAB სისტემის მათემატიკური გამოხატულებებში


ოპერატორებს აქვთ შესრულების გარკვეული პრიორიტეტი:
1) ფრჩხილები;
2) ტრანსპოზიციისა და ახარისხების ოპერაციები;
3) უნირული ოპერაციები (უნარული + და -, ლოგიკური უარყოფა);
4) გამრავლებისა და გაყოფის არითმეტიკული მოქმედებები;
5) შეკრება-გამოკლების არითმეტიკული მოქმედებები;
6) მასივის თანაკვეთის ოპერატორი :;
7) უმიმართების ოპერატორები;
8) ლოგიკური ოპერატორები და ა.შ.
ფრჩხილებს იყენებენ მათემატიკური გამოსახულებაში ოპერაციების
პრიორიტეტის შესაცვლელად.

მიმართების ოპერაციები
მიმართების ოპერაციები გამოიყენება ორი სიდიდის, ვექტორების ან
მატრიცების შედარებისთვის. ყველა მიმართებით ოპერატორს აქვს ორი
ოპერანდი, მაგალითად x და y და ჩაიწერება ისე როგორც ცხრილშია
ნაჩვენები
ცხრილში ნაჩვენები.
ცხრილი. ოპერატორების და ფუნქციების მიმართებები

ფუნქციები სახელი ოპერატორი მაგალითი


eq უდრის == x==y
ne არ უდრის ~= x~=y
9

lt ნაკლებია ვიდრე < x<y


gt მეტია ვიდრე > x>y
le ნაკლებია ან ტოლი <= x<=y
ge მეტია ან ტოლი >= x>=y
10

უნდა აღინიშნოს, რომ ოპერატორები <, <=,> და> = კომპლექსური


ოპერაანდებისათვის შედარებისთვის გამოიყენებენ მხოლოდ ოპერანდების
ნამდვილ ნაწილებს - წარმოსახვითი ნაწილები უგულებელყოფილია.
ამავდროულად, ოპერატორები == და ~ = ადარებენ ოპერანდის როგორც
ნამდვილი ისევე წარმოსახვით ნაწილებს, მაგალითად:
>> (2+3i)>=(2+i)
ans = 1
>> (2+3i)>(2+i)
ans = 0
>> abs(2+3i)>abs(2+i)
ans = 1
>> (2+3i)==(2+i)
ans = 0
>> (2+3i)~=(2+i)
ans = 1
თუ ერთი ოპერანდი სკალარია
M =
-1 0
1 2
>> M>=0
ans =
0 1
>> M>[0 1; 1 0]
ans =
0 0
0 1

შესაძლებელია მიმართების ოპერატორების გამოყენება სიმბოლურ


გამოსახულებასთან:
>> 'b'>'a'
ans = 1
>> 'abc'=='abc'
ans = 1 1 1
>> 'cba'<'abc'
ans = 0 0 1

MATLAB -ის ლოგიკურიოპერატორები და ფუნქციები

ფუნქცია სახელი აღნიშვნა

And ლოგიკური და (AND) &


Or ლოგიკური ან (OR) |
Not ლოგიკური არა (NOT) ~
Xor გამომრიცხავი ან (EXCLUSIVE OR)
Any ჭეშმარიტია თუ ვექტორის ყველა ელემენტები
11

უდრის ნულს

All ჭეშმარიტია თუ ვექტორის ყველა ელემენტები არ


უდრის ნულს

mimarTebebi da logikuri funqciebi.

mimarTebebi da logikuri funqciebi moqmedeben skalarze, veqtorebze, da matricebze.


ganvixiloT zogierTi maTgani:
any(x) abrunebs skalars mniSvnelobiT 0(false), Tu yvela elementi x veqtoris
aris nuli და abrunebs 1 (true) სხვა შემთხვევაში.
>> x=0:3:9

x=

0 3 6 9

>> any(x)

ans =

>> y=[0 0 0 0]

y=

0 0 0 0

>> any(y)

ans =

0
matricis SemTxvevaSi, abrunebs veqtors (row) 1-
biTa(true) da 0- ebiT (false), imis da mixedviT Tu miss svetSi
yvela elementi nulia (maSin veqtorSi Caiwereba 0) Tu erTi
mainc gansxvavdeba nulisagan (maSin veqtorSi Caiwereba 1)
>> A=[1,0,3;1,0,0;4,0,0]
12

A=

1 0 3
1 0 0
4 0 0

>> any(A)

ans =

1 0 1
all(x) abrunebs skalars mniSvnelobiT 1 (true) Tu yvela
elementi x veqtorisa aris aranulovani, xolo Tu romelime
elementi x veqtoris aris nuli abrunebs skalars mniSvnelobiT
0(false).

magaliTebi:

>> y=[5 3 4 7]
y=
5 3 4 7

>> all(y)
ans =
1
x=0:3:9
x=
0 3 6 9

>> all(x)
ans =
0
matricis SemTxvevaSi, abrunebs veqtors (row) 1- biTa(true) da 0- ebiT (false),
imis da mixedviT Tu miss svetSi Tu erTi elementi mainc nulia (maSin veqtorSi
Caiwereba 0) yvela elementi gansxvavdeba nulisagan (maSin veqtorSi Caiwereba
1)

A=

1 0 3
13

1 0 0
4 0 0

>> all(A)

ans =
1 0 0
meore magaliTi
>> A=[1,0,3;1,0,5;4,0,0]

A=
1 0 3
1 0 5
4 0 0

>> all(A)
ans =
1 0 0
მაგალითები:
>> A=[1 2 3];
>> B=[1 0 0];
>> and(A,B)
ans = 1 0 0
>> or(A,B)
ans = 1 1 1
>> A&B
ans = 1 0 0
>> A|B
ans = 1 1 1
>> not(A)
ans = 0 0 0
>> not(B)
ans = 0 1 1
>> ~B
ans = 0 1 1
>> xor(A,B)
ans = 0 1 1
>> any(A)
ans = 1
>> all([0 0 0])
ans = 0
>> all(B)
ans = 0

all და any ცარიელ სიმრავლესთან ერთად


14
15

>> and('abc','012')
ans = 1 1 1

find(x) abrunebs veqtors, romlis elementebi warmoadgenen x veqtoris aranulovani


elementebis indeqsebs.

y=[0 3 0 7]
y=
0 3 0 7

>> find(y)
ans =

2 4

y=[10 3 4 7]
y=
10 3 4 7

>> find(y)
ans =
1 2 3 4

y=
0 0 0 0

>> find(y)
ans =

Empty matrix: 1-by-0

matricis SemTxvevaSi, abrunebs veqtors (column) romlis elementebi warmoadgenen A


matricis svetebis aranulovani elementebis indeqsebs.

>> A=[1,0,3;1,0,5;4,0,0]

A=

1 0 3
1 0 5
4 0 0

>> find(A)
16

ans =

1
2
3
7
8

>> A=[1,0,3;1,0,5;4,1,1]

A=

1 0 3
1 0 5
4 1 1

>> find(A)
ans =

1
2
3
6
7
8
9
>>miRebuli veqtorebis sigrZe damokidebulia A matricaSi aranulovani elementebis
raodenobaze.
kidev erTi magaliTi:

A=

1 0 3
1 0 5
4 1 1
>> find(A>3)
ans =
3
8

y=[5 3 4 7]
y=
5 3 4 7
>> find(y>3)
ans =
1 3 4
17

y=[5 3 4 7]
y=
5 3 4 7
>> find(y<4)
ans =
2

y=[5 3 4 7]
y=
5 3 4 7
>> find(y<3)
ans =
Empty matrix: 1-by-0

isnan(x) abrunebs masivs 0 da1 -ebiT, imis da mixedviT Tu romeli x elementebi iqneba
NaN., masivSi - Caiwereba 1-ebi, da Caiwereba 0-bi, Tu x veqtoris elementebi ar arian NaN.
>> y=[5 3 4 NaN]
y=
5 3 4 NaN
>> isnan(y)
ans =
0 0 0 1

>> y=[5 3 4 7]
y=
5 3 4 7
>> isnan(y)
ans =
0 0 0 0
isfinite(x) abrunebs masivs 0 da1 -ebiT, imis da mixedviT Tu sad aris x veqtoris elementebi
sasrulebi, Caiwereba 1-ebi, da iqneba 0-bi, Tu x veqtoris elementebi ar arian sasrulebi.
>> y=[pi NaN Inf -Inf]
y=
3.1416 NaN Inf -Inf
>> isfinite(y)
ans =
1 0 0 0

isinf(x) abrunebs masivs 0 da1 -ebiT, imis da mixedviT Tu sad aris x veqtoris elementebi Inf
an -Inf, Caiwereba 1-ebi, da Caiwereba 0-bi, Tu x veqtoris elementebi ar arian Inf an -Inf.

>> y=[pi NaN Inf -Inf]


y=
3.1416 NaN Inf -Inf
18

>> isinf(y)
ans =
0 0 1 1

>> y=[3 7 Inf 9 -Inf]


y=
3 7 Inf 9 -Inf
>> isinf(y)
ans =
0 0 1 0 1
isempty(x) abrunebs 1 Tu x aris carieli masivi da 0 Tu x ar aris carieli masivi
>> y=[3 7 7 9]
y=
3 7 7 9
>> isempty(y)
ans =
0

>> y=[]
y=
[]
>> isempty(y)
ans =
1

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
simboloebi da teqsti

SemovitanoT teqsti erTjeradi PfrWyalebiT, magaliTad


s='Hello'
Sedegad miviRebT simbolur masivs 1X5.
simboloebi inaxeba rogorc ricxvebi, magram ara mcocav mZimian formatiT.
operatori

>> a=double(s)
gardaqmnis simboloTa masivs ricxviT masivSi, romelsac gaaCnia ASCII kodi mcocav mZimian
warmodgenas yoveli simbolosTvis. Sedegad iqneba
a=

72 101 108 108 111


qvemoT gamasaxulebas ki piriqiT, uku gardaqmnis:
>> s=char(a)
19

s=
Hello
kvadratuli PfrCxilebi aerTianebs teqstur cvladebs erTad erTdid striqonSi

>> h=[s,'world']

h=
Helloworld

>> h=[s,' world']

h=
Hello world
operatori

>> v=[s;'world']
aerTianebs striqonebs vertikalSi, rasac mivyavarT
v=

Hello
world

SevniSnoT, rom h cvladSi w simbolos win aucileblad unda iyos probeli, xolo v cvladSi orive
sityvebi unda iyvnen Tanabari sigrZis. Sedegad gvaqvs masivi simboloebis: h cvladi – 1X11, xolo v
cvladi -2X5.

aq sityvebi ar arian Tanabari sigrZis


>> v=[s;' world']
??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
arsebobs ori xerxi, imisaTvis rom vmarTod teqstis jgufi, romelic sxvadasxva sigrZis striqonebs
Seicavs: SevqmnaT simboloTa masivi, an striqonTa ujrediani masivebi. funqcia char – i iRebs
nebismier raodenoba striqonebs, umatebs probelebs yovel striqonSi, imisaTvis rom yvela maTgani
toli sigrZisa iyvnen da qmnian striqonTa masivs simboluri striqoniT yovel striqonSi. magaliTad

>> S=char ('A' , 'rolling', 'stone', 'gathers', 'momentum.')

S=

A
rolling
stone
gathers
momentum.
20

aris sakmarisi raodenoba probelebisa pirvel oTx striqonSi, imisaTvis rom yvela striqonebi toli
sigrZisa iyvnen. meore xerxi –aris teqstis Senaxva ujredTa masivSi

>> C= {'A' ; 'rolling'; 'stone'; 'gathers'; 'momentum.'}


iqneba ujredTa masivi 1X5

C=

'A'
'rolling'
'stone'
'gathers'
'momentum.'

SegviZlia garvdaqmnaT Sevsebuli simboluri masivi ujredTa masivSi striqonebiT Semdeg nairad

>> C=cellstr(S)

C=

'A'
'rolling'
'stone'
'gathers'
'momentum.'

ukugardaqmna
>> S=char(C)

S=

A
rolling
stone
gathers
momentum.

funqciebi, romlebic asruleben bitur operaciebs

nebismieri mTeli ricxvis gardaqmnisaTvis orobiT warmodgenaSi gamoiyeneba funqcia dec2bin:

>> dec2bin(12)

ans =
1100
21

uku gardaqmnisaTvis, anu ricxvis orobiTi warmodgenidan aTobiT warmodgenaSi gamoiyeneba


funqcia bin2dec:

>> bin2dec('1100')

ans =
12

>> bin2dec('1000')

ans =
8
aTobiTi ricxvis TeqvsmetobiTSi warmosadgenaT gamoiyeneba funqcia dec2hex
>> dec2hex(193)

ans =
C1
piriqiT, TeqvsmetobiTidan aTobiTSi warmosadgenaT gamoiyeneba funqcia hex2dec
>> hex2dec('C1')

ans =
193
zemoT CamoTvlili funqciebi SeiZleba gamoviyenoT masivebisTvisac
>> A=[10,20]

A=
10 20

>> dec2bin(A)

ans =

01010
10100
gardaqmna xdeba elementebisa svetebis da mixedviT
>> B=[1 2 3;4 5 6]

B=

1 2 3
4 5 6

>> dec2bin(B)

ans =
22

001
100
010
101
011
110

>> dec2bin([12,56])

ans =
001100
111000

sam ZiriTad bitur operaciebs ¨¨` bituri da”, ` bituri an”, ` bituri an –is uaryofa” AAasruleben
Sesabamisad Semdegi Ffunqciebi: bitand, bitor, bitaxor

>> bitand(12,56)

ans =
8

>> bitor(12,56)
ans =

60

ერთგანზომილებიანი ცხრილის ინტერპოლაცია


 ერთგანზომილებიანი ცხრილის ინტერპოლაციისთვის გამოიყენება: interp1 ფუნქცია
• yi = interp1 (x, Y, xi) უბრუნებს ვექტორს yi, რომელიც შეიცავს ელემენტებს,
რომლებიც შეესაბამება xi ელემენტებს და მიიღება ვექტორების x და Y
ინტერპრეტაციით. ვექტორი x განსაზღვრავს წერტილებს, რომელთათვისაც
23

მოცემულია მნიშვნელობა Y. თუ Y არის მატრიცული, მაშინ ხორციელდება


ინტერპოლაცია თითოეული სვეტისთვის Y და yi- ს აქვს სიგრძე length (xi) –by size (Y,
2).
• yi = interp1 (x, Y, xi, მეთოდი) საშუალებას იძლევა პარამეტრის მეთოდი ს
გამოყენებით განვსაზღვროთ
ინტერპოლისის მეთოდი:
- 'nearest' - ეტაპობრივი ინტერპოლაცია;
- 'linear' - წრფივი ინტერპოლაცია (მიიღება გაჩუმების პრინციპით);
- 'spline' - კუბური სპლაინ ინტერპოლაცია;
- 'cubic' ან 'pchip' - ერმიტის პოლინომების ინტერპოლაცია;
- 'v5cubic' - კუბური ინტერპოლაცია MATLAB 5;
ინტერპოლაციის ყველა მეთოდი მოითხოვს, რომ x მნიშვნელობები იცვლებოდნენ
მონოტონურად .
როდესაც x არის თანაბრად განაწილებული წერტილების ვექტორი, უფრო სწრაფი
ინტერპოლაციისათვის უმჯობესია გამოიყენოთ მეთოდები ' *linear', '* spline', '*
cubic'’ან '*nearest' მეთოდები. გაითვალისწინეთ, რომ ამ შემთხვევაში, მეთოდის
სახელს წინ უძღვის ვარსკვლავი *.

მაგალითი (კოსინუსის ფუნქციის ინტერპოლაცია):


კოსინუსის ფუნქციის ინტერპოლაციის მაგალითი
x = 0: 10; y = cos (x); xi = 0: 0.1: 10;
yi = interp1 (x, y, xi); plot (x, y, 'x', xi, yi, 'g'), hold on yi = interp1 (x, y, xi, 'spline'); plot (x,
y, 'o', xi, yi, 'm'), grid, hold off
ინტერპოლაციის შედეგები ილუსტრირებულია ფიგურაში.
კვანძოვანი წერტილები ნახ.– ზე მიეთითება მრგვალი ჯვრებიანი წრეებით. ერთი
მრუდი შეესაბამება წრფივ ინტერპოლაციას, მეორე კი - სპლაინ ინტერპოლაციას.
მარტივია იმის დანახვა, რომ ამ შემთხვევაში spline ინტერპოლაცია გაცილებით
უკეთეს შედეგს იძლევა, ვიდრე წრფივი ინტერპოლაცია.
x=0:10;y=cos(x);xi=0:0.1:10;
yi=interp1(x,y,xi);
plot(x,y,'x',xi,yi,'g'),hold on
yi=interp1(x,y,xi,'spline');
plot(x,y,'o',xi,yi,'m'),hold off
24

1.5

data1
data2
1 data3
data4

0.5

-0.5

-1

-1.5
0 1 2 3 4 5 6 7 8 9 10

1.5

0.5

-0.5

-1

-1.5
0 1 2 3 4 5 6 7 8 9 10
25

საკითხები.
დაწერეთ წრფივი, კვადრატული და n-ური რიგის პოლინომი.

დავალება.
ზემოთმოყვანილი მაგალითი გააკეთეთ სინუსისთვის:
x=0:10;y=sin(x);xi=0:0.1:10;

You might also like