You are on page 1of 27

1.

Napisati u MATLAB-u naredbu kojom se dobijaju vrijednosti sljedeđih


izraza:
b) b= 50 * π/4 +2,654×107×10-13 –log3987
b=50*pi/4+2.654e7*1e-13-log(987)/log(3) ili
b=50*pi/4+2.654*10^7*10^(-13)-log(987)/log(3)

c) c=e(8x2+3y)
c=exp(8*x^2+3*y) ln --- log(x) (za prirodan
logaritam za osnovu e)
log10x --- log10(x)
log2x --- log2(x)
d) d=|x-5|+y|x+7|
d=abs(x-5)+y^(abs(x+7)) 0 --> 0 30 --> pi/6
90 --> pi/2 45 -- >pi/4
f) f=2na7na5-2na5na7 180 --> pi 60 --> pi/3
f=2^7^5-2^5^7 (rez: f=0) 360 --> 2*pi
--------------------------------------------------------------------------------------------------
2. Dat je izraz
f(x)=razlomacka gore sin(1+x2) dolje ex + x-ti korjen iz ln x2
Naci vrijednost izraza:

A=f(14)/f(25)+f(66)+f(7)*f(81)

x=[14 25 66 7 81];
f=sin(1+x.^2)./exp(x)+log(x.^2).^(1./x)
A=f(1)/f(2)+f(3)+f(4)*f(5)
--------------------------------------------------------------------------------------------------
3. Zadatak sa kompleksnim brojevima
y=razlomacka gore 4-ti korjen iz 4+i dolj 2-3i ;pored razlomacke +2
z=4+i;
n=4
a=abs(z);
fi=angle(z);
k=0:n-1;
w=a^(1/n)*(cos((fi+2*k*pi)/n))+i*sin((fi+2*k*pi)/n)
y=w/(2-3i)+2
--------------------------------------------------------------------------------------------------
4. Unijeti u radni prostor MATLAB-a polja brojeva A,C,E, a zatim napisati
naredbe kojima se u MATLAB-u izvode sljedece operacije nad poljima brojeva:
a) kvadriranje svakog elementa polja brojeva A;
b) mnozenje svakog elementa polja brojeva C sa 5;
c) Umanjenje vrijednosti svakog elementa polja brojeva za 2;
d) objasniti razliku izmedju operacija A*A i A.*A.
|8 2 2 2| |5 5 5 1| |0 0 0 0|
A=|2 8 2 2| C=|5 5 1 5| E=|5 0 0 0|
|2 2 8 2| |5 1 5 5| |0 0 0 16|
|2 2 2 8| |1 5 5 5|
A=2*ones(4)+6*eye(4) a) A.^2(A^2=A*A ->pomnozile bi se dvije matrice)
C=fliplr(5*ones(4)-4*eye(4)) b) 5*C ili C.*5 (ili C*5)
E(2,1)=5 ili E=zeros(4) c)E-2 (A*A=A^2)
E(4,4)=16 E(2,1)=5 E(4,4)=16 d)A*A ->pomnozile bi se dvije matrice
A.*A->kvadrira se svaki element
--------------------------------------------------------------------------------------------------
5. Dato je polje brojeva A dimenzije 8×40.
a) Unijeti polje brojeva A u radni prostor MATLAB-a;
b) Formirati novo polje brojeva B sacinjeno od elemenata neparnih vrsta polja
brojeva A;
c) zamijeniti u polju brojeva B elemente neparnih kolona vrijednoscu 234.
a e f A=[[a e;b c c d c] f]
|-6 -6 -6 66 98 8.....8| a) a=fliplr(-6*ones(4)+72*eye(4))
|-6 -6 66 -6 66 8.....8| b=-5*ones(4,1)
|-6 66 -6 -6 22 8.....8| c=2*ones(4,1)
A= |66 -6 -6 -6 33 8.....8| d=[67;52;42;23]
|-5 2 2 67 2 8.....8| e=[98;66;22;33]
|-5 2 2 52 2 8.....8| f=8*ones(8,35)
|-5 2 2 42 2 8.....8| b) B=A(1:2:8,:)
|-5 2 2 23 2 8.....8| c) B(:,1:2:40)=234
b c c d c
--------------------------------------------------------------------------------------------------
6. | a |
| a | D=[a;a;a;b;b;b;[c d e]]
| a |
D= | b |
| b |
| b |
||c|d|e| |
--------------------------------------------------------------------------------------------------
7. Matrica F dimenzija10×60
F=
a a b c h
2 2 5 5 5 5 5 - - 0.....0
5 90 90
2 2 5 5 5 5 5 - - 0.....0
5 80 80
2 2 5 5 5 5 5 - - 0.....0
5 70 70
2 2 5 5 5 5 5 - - 3.....3
5 60 60
5 5 0 0 0 0 3 - - 3.....3
50 50
5 5 0 0 0 0 3 - - 3.....3
40 40
5 5 0 0 0 0 3 - - 3.....3
30 30
5 5 0 0 0 0 3 - - 3.....3
20 20
5 5 0 0 0 0 3 - - 3.....3
10 10
5 5 0 0 0 0 3 0 0 3.....3
d d e f g g p
F=[[a a b c;d d e f] g g [h;p]]
--------------------------------------------------------------------------------------------------

GRAFIKA

8. U istom grafickom prozoru nacrtati uvertikalnoj podjeli 3 grafika:


y1=tg(x)-sin2(x) od –π doπ sa korakom 0,01
2
y2=y1 u istom intervalu kao I grafik
y3=razlomacka gore –x dolje 2x+5x2 u 195 tacaka od -4 do π
x1=-pi:0.01:pi; -------------------------------------------------
y1=tan(x1)-(sin(x1)).^2; crtanje mreze:
y2=y1.^2; grid -> crta mrezu na zadnjem grafiku
x3=linspace(-4,pi,195); subplot(3,1,1),grid
y3=-x3./(2*x3+5*x3.^2); -||- ,grid off
-||- ,grid on
da nacrtam 3 grafika u istom prozoru: uredjenje grafika:
subplot(3,1,1),plot(x1,y1) title(‘grafik’);xlabel(‘x-osa’);
subplot(3,1,2),plot(x1,y2) ylabel(‘y-osa’);
subplot(3,1,3),plot(x3,y3) granice:
------------------------------------------------- axis([xmin xmax ymin ymax])
axis([-3 3 -3 3])
Da umjesto linija stoje +++ ili ... ili *** axis square
i da biramo boju: axis equal
plot(x,y,’r:’,x,z,’g--‘)
--------------------------------------------------------------------------------------------------
ANALIZA PODATAKA

9. Napisati komande za nalazenje sume niza za n=10, a=7.


n
a) ∑ razlomacka --> gore 8k-1+sin(k+ π) dolje ak-1
k=1

n=10;
a=7;
k=1:n;
y=(8.^(k-1)+sin(k+pi))./a.^(k-1)
rezultat=sum(y)

b) suma k=1 do n --> razlomacka --> gore 10k-1 dolje k! ; n=25


n=25;
a=7;
k=1:n:
y=10.^(k-1)./cumprod(k);
rezultat=sum(y)

c) suma k=1 don --> razlomacka -->gore ak+1 dolje (k+1)! za n=18 i a=6
n=18;
a=6;
k=1:n;
y=a.^(k+1)./cumprod(k+1);
rez=sum(y)
--------------------------------------------------------------------------------------------------

10. Napisati komande kojima se priblizno racuna integral:


a) ∫2korjen iz 21razlomacka goge cos(x5) dolje x3 pored raxlomacke dx
a=2;
b=21^(1/2);
h=(b-a)/500; ---> (u koliko koraka vrsimo integraciju -->(500, 300, 1000))
x=a:h:b-h;
y=cos(x.^5)./(x.^3);
integral=sum(y)*h; (integral ili rezultat ili rez)
plot(x,y)
--------------------------------------------------------------------------------------------------
max, min --> nalazenje maksimalne i minimalne vrijednosti
[m,k]=max(x) ---> koji je element (kazuje koji je po redu u nizu)
sort --> sortira (od najmanjeg do najveceg)
[s,k]=sort(x) --> pokazuje gdje je pozicija sortiranih elemenata --> daje vektor
[Y,I]=sort(X) --> daje matricu
mean --> sredina, srednja vrijednost
median --> srednjak (to nije srednja vrijednost); srednji element
sum --> zbir (suma elemenata)
cumsum --> kumulativni zbir (npr. x=[1 2 6 4 5 7] y=cumsum(x)
y=[1 3 9 13 18 25] (1 1+2 1+2+6 ))
prod --> proizvod (daje proizvod svih elemenata)
(npr. prod(x) --> (1*2*6*4*5*7))
cumprod --> proizvod do tog elementa (kumulativni proizvod) --> faktorijel
(npr. cumprod(x) --> (1 1*2 1*2*6 1*2*6*4 ...) )
diff --> razlika (sukcesivnih elemenata (aproksimativni izvod)
(npr.diff(x) ---> (2-1 6-2 4-6 5-4 7-5))
p=prod(A) --> proizvod pojedinih kolona matrice A
P=prod(prod(A)) --> proizvod svix elemenata

--------------------------------------------------------------------------------------------------
FUNKCIJE ZA ZAOKRUZIVANJE

round(x) --> zaokruzi na najblizi cio broj (npr. -3.5600 --> -4)
fix(x) --> zaokruzivanje prema nuli (npr. -3.5600 --> -3)
floor(x) --> zaokruzivanje prema -∞ (npr. -3.5600 --> -4)
ceil(x) --> zaokruzivanje prema +∞ (npr. -3.5600 --> -3)

kod grafika funkcije:ako je interval -5 do 5 sa korakom 0.01


ako imamo X<0 pisemo: X=[-5:0.01:0]
0<X<2 pisemo:X=[0:0.01:2]

x>2 pisemo:X=[2:0.01:5]
a=[22 21 20 19 18 17..-21] a=22:-1:-21
b=[-90 -80 -70 -60.....0] b= -90:10:0
c=[-2 -4 -6 -8 -10....-88] c= -2:-2:-88
d=[-22 -21 -20 -19 -18 -17 ....21] d=-22:1:21
STEM(X) ->DA SPOJIMO SAMO TACKE NA GRAFIKU
STAIRS(X)->POVEZIVANJE DVIJE TACKE STEPENICASTO
dA NA ISTOM GRAFIKU NACRTAMO FUNKCIJE F(X) I G(X) U INTERVALU
1<X<10 SA KORAKOM 0.01->X=[1:0.01:10],F=......,G=.......,PLOT(X,F,X,G)

Ako imamomatricuA(10x50),napraviti matricu B tako da budu neparne kolone u


obrnutom redosledu ->B=A(:,49:-2:1)

neparne vrste->(1:2:10) /*ako matrica ima 10 vrsta*/


parne vrste->(2:2:10)

|7 0|
|0 7| ----->7*eye(2,2)

kod horizontalne podjele ctamo jedno pored drugog


kod vertikalne podjele crtamo jedno ispod drugog

SKRIPT FAJLOVI –SUMA

1ZADATAK:Napisati skript fajl koji ce racunati sumu prvih n-clanova niza za


n<15 uneseno naredbom input.
n
∑ __2k n<15
k=1 k!

n=input(“Unesite zelejno n=”);


if round(n)~=n| n<=0| n>=15
error(‘Unijeli ste broj koji nije prirodan,broj manji od 15’);
end
k=1:n;
y=(2.^k)./cumprod(k);
rez=sum(y);
disp(‘Rezultat sume je:’)
rez
>>zad1

1.ZADATAK Napisati skript ZAD71.M koji ce racunati sumu prvih n-clanova niza
Sr=Σ 1/(2n+1) pri cemu znemaruje sve clanove koji su manji od 10-4 Ako broj
interacija predje 5000 prekinuti rad i dati poruku” prekid,broj interacija presao
zadatu vrijednost”!!!

Sr=0;
n=1;
while 1/(2*n+1)>10^(-4)
Sr=Sr+ 1/(2*n+1);

if n>5000
error(‘prekid,broj interacija je presao zadatu vrijednost’)
end
n=n+1;
end
Sr
n
2ZADATAK Napisati skript fajl ZAD72.M kojim se za uneseno a (0,5<a<5) racuna
sumu reda Sr=Σ ak +1 svedok je poslednji clan sume veci od 0,0002 ili dok
------ broj sabranih elemenata ne predje vrijednost 1500.
k!

a=input(‘Unesite a’;
if a<=0.5 | a>=5
errror(‘a je van dozvoljenih uslova’)
end
Sr=0
k=1
while a^(k+1)/prod([1:k])>0.0002 & k<=1500
Sr=Sr+ a^(k+1)/prod([1:k])
k=k+1
end
Sr
k
>>zad72

SKRIPT FAJL-MATRICE
7.ZADATAK Napisati skript fajl zad7.m koji ce za prirodan broj n unesen preko
naredbe input pri cemu je n izmedju 2 i 13 (2<N<13)
a) Formirati matricu A(NX2N) slucajno odabranih prirodnih brojeva sa
osobinom 0<a(i,j)<20
b) Odrediti koliko elemenata u matrici A ima vrijednost 10.
c) Svi elementi matrice A koji zadovoljavaju uslov da su manji od 10 (a(i,j)<10)
dodjeliti vrijednost 22,2

N=input(‘Unesite prirodan broj N’);


if round(N)~=N | N<=2 |N>=13
error(‘Unijeli ste broj koji ne zadovoljava uslov’)
end

A=round(20*rand(N,2*N))

b=(A==10)
disp(‘Elemenata koji su jednaki 10 ima:’)
sum(sum(b))

c=22.2*(A<10)+A.*(A>=10)
-----------------------------------------------------------------------------------------------------
3ZADATAK Napisati skript fajl zad73.m koji ce prirodan broj N unesen preko naredbe
input pri cemu je N u intervalu 2<N<12

a)Formirati matricu A cije su dimenzije A(NXN) ciji elementi imaju osobinu

{ 4+i za i=j

a(i,j)={ j-2i2 za i>j

{ 3√ i/j za j>i

b)Formirati vektor Bk od parnih kolona matrice A


c)Formirati matricu C koju sacinjavaju neparne vrste matrice A i izracunati sumu

elemenata matrice C

N= input(‘ Unesite prirodan broj N’);


if round(N)~=N | N<=2 | N>=12
errror(‘N je van granica’);
end
for i=1:N
for j=1:N
if i==j
A(i,j)=4+i;
end
if i>j
A(i,j)=i-2*i^2
end
if j>i
A(i,j)=3*i^(1/2)-j;
end
end
end
A
b) for k=2:2:N
eval([‘B’ num2str(k)= ‘A(:,k)’]);
end

d) C=A(1:2:N,:)
-------------------------------------------------------------------------------------------------------
suma matriceC=(sum(sum(C))
1. Napisati skript fajl zad81.m koji ce za prirodne brojeve K i L, unešene pomocu
naresbe input pri cemu je 4<(K,L)<12
- Formirati matricu PK*L slucajnih cijelih brojeva od -3 do 18;
- Naci broj elemenata matrice P koji su u intervalu od 0 do 8;
- Formirati vektore Ri (i=1 do k) od vrsta matrice P.
K=input('unesi K ')
if round(K)~=K | K<=4 | K>=12
error('Broj K nije dobro unijet')
end

L=input('unesi L \n ')
if round(L)~=L | L<=4 | L>=12
error('Broj L nije dobro unijet')
end

% formiranje matrice P
P=round(21*rand(K,L)-3)

% prebrojavanje elemenata iz intervala (0,8)


b= P>=0 & P<=8;
disp('Broj elemenata matrice P iz intervala (0,8) je')
sum(sum(b))
% formiranje vektora Ri
for i=1:K
eval(['R' num2str(i) '=P(i,:)'])
end
-----------------------------------------------------------------------------------------------------------
-
5. Napisati skript fajl zad85.m koji ce formirati matricu A dimenzija (2n,n) A(2n,n)
pri
cemu je 4<n<12, a elementi matrice A su definisani na sljedeci nacin:
{i2+3, i-j<0
A(i,j)= {i-8 , i=j
{3i-2j,i>j+1
{i-2j, i=j+1
a) Formirati vektor Bk(k=2,4,...) od parnih kolona matrice A;
b) Izracunati sumu elemenata svih neparnih vrsta matrice A;
a) Odrediti vrijednost maksimalnog elementa u polju brojeva A i njegovu
poziciju.
clear all
clc

n=input('unesi n = ');

if round(n)~=n | n<=4 | n>=12


error('Broj n nije dobro unijet ')
end
% formiranje matrice A(2n,n)
for i=1:2*n
for j=1:n
if i-j<0
A(i,j)=i^2+3;
elseif i==j
A(i,j)=i-8;
elseif i>j+1
A(i,j)=3*i-2*j;
else
A(i,j)=i-2*j;
end
end
end

A
% formiranje vektora Bk(k=2,4,..)od parnih kolona matrice A
for i=2:2:n
eval(['B' num2str(i) '=A(:,i)'])
end

% racunanje sume elemenata svih neparnih vrsta matrice A

C=A(1:2:2*n,:);
suma=sum(sum(C))
% nalazenje maksimalne vrijednosti u polju brojeva A i njegove pozicije
[Vrijednost,kolona]=max(max(A));
[Vrijednost,vrsta]=max(max(A'));
Vrijednost
vrsta
kolona
------------------------------------------------------------------------------------------------------
3ZADATAK Napisati skript fajl koji ce za unesni prirodan broj n gdje je n<10:

1) Kreirati matricu A cijelih brojeva dimenzija 2nx2n sa osobinom elemenata


-10<=a(i,j)<2
2) Naci broj elemenata matrice A koji su manji od –5
3) Zamjeniti sve elemente matrice koji su manji od –3 sa istim pozitivnim
vrijednostima.

n=input(‘Unesite prirodan broj n=’);


if round(n)~=n | n<=0 | n>=10
error(‘Unijeto n ne zadovoljava zahtjeve uslova’)
end
1) round(12*ramd(2*n,2*n))-10
2) b=A<-5;
disp(‘ broj elemenata A manjih od –5’)
broj =sum(sum(b))
c=abs(A).*(A<-3)+A.*(A>=-3)

SKRIPT FAJLOVI-POLINOMI
4.ZADATAK Napisati skript fajl koji za dva unesena polinoma p1 i p2
b) Nalazi korjen datih polinoma
c) Odredjuje koeficijnte novog polinoma q=p1*p2
d) Graficki prikazuje unesene polinome za vrijednosti x od –10 do 10 u 2453
tacke,u istom grafickom prozoru u horizontalnoj podjeli.
a. p1=input(‘Unesite polinom p1:’);
p2=input(‘Unesite polinom p2:’);
disp(‘Korjeni polinom p1 su:’)
roots(p1)
disp(‘Korjeni polinoma p2su:’);
roots(p2)

disp(‘q=p1*p2’)
q=conv(p1,p2)

c) x=linspace(-10,10,2453);
r1=polyval(p1,x);
r2=polyval(p2,x);
subplot(2,1,1) ,plot(x,r1)
subplot(2,1,2) ,plot(x,r2)

6.ZADATAK Napisati skript fajl koji se zove KOMB.M koji ce za dva zadata polinoma
p1 i p2 i prirodan broj n izracunati koeficijent polinoma c koji jednak
c=p2*p1+n*p1 i vrijednost polinoma c u tacki x=log(12)/2.

p1=input(‘Unesite polinom p1’);


p2=input (‘Unesite polinom p2);
n=input(‘Unesite prirodan broj n’);
if round(n)~=n |n<=0
error((‘Unijeti broj nije prirodan broj’)
end
P=conv(p1,p2)
Q=n*p1
if length(P)>length( Q)
Q=[ zeros(1,length(P)-length(Q))Q]
else
P= zeros(1,length(Q)-length(P))P]
end
disp(‘Koeficijenti polinoma c su’)
c=P+Q
x=log10(12)/2;
rez=polyval(c,x)

4. Napisati skript fajl zad84.m koji ce za polinome p1 i p2:


a) Izracunati korjene polinoma p1*p2;
b) Izracunati kolicnik i ostatak pri dijeljenju p2/p1;
c) Izracunati vrijednost izraza p1(-5)*p2(45)+p2(345);
d) Nacrtati zadate polinome p1 i p2 za vrijednosti x-a -5<x<10 u 1245 tacaka u 2
graficka
prozora.

p1=input('unesi p1 = ');
p2=input('unesi p2 = ');

R=conv(p1,p2) --> a)
korijeni=roots(R)

[kolicnik,ostatak]=deconv(p2,p1) --> b)

r1=polyval(p1,-5); --> c)
r2=polyval(p2,45);
r3=polyval(p2,345);

Rezultat=r1*r2+r3

x=linspace(-5,10,1245);
r1=polyval(p1,x);

r2=polyval(p2,x);
plot(x,r1)
figure
plot(x,r2)

SKRIPT FAJL-INTEGRALI I IZVODI


.ZADATAK Napisati skript fajl koji racuna vrijednost integrala ∫ √x2 +1 sin(x)dx
a
za date granice gdje je a<b i broj koraka.

a=input(‘Unesite a’);
b=input(‘Unesite b’);
if a>b
error(‘a je vece od b’)
end
k=input(‘Unesite ukupan brj koraka k=’);
if round(k)~=k|k<=0
error(‘Unijeli ste broj koji nije prirodan broj’)
end
h=(b-a)/k;
x=a:x:b-h;
y=(x.^2+1).^(1/2).*sin(x);
integral=sum(y)*h
>>zad2

SKRIPT FAJL – FUNKCIJE (crtanje graf.)

5.ZADATAK Napisati skript fajl koji ce za unesene vrijednosti pocetne faze


sinusoida nacrtati grafik funkcije.
a) f(x)=x2 *sin(x +φ) pri cemu se pi nalazi u intervalu π π
- ---<=φ<= --------,
za –π<x<π
3 3

b)Izracunati integral date funkcije u 350 tacaka u istom intervalu.

fi=input(‘Unesite fazu u zadatom intervalu:’);


if fi<-pi/3 | fi>pi/3
error(‘fi je van dozvoljenih granica’)
end
x=linspace(-pi,pi,350)
f=x.^2.*sin(x+fi);
plot(x,f)

b) a=-pi; b=pi; k=350;


c) h=(b-a)/k;
d) x=a:h:b-h;
e) y= x.^2.*sin(x+fi);
f) integral=h*sum(y)

FUNKCIJSKI FAJLOVI-
4ZADATAK Napisati funkcijski fajl zad74.m koji ce za:
-zadati realni broj x>2 dati dva izlaza
a=log6 (x3 + x2/3 )-2x
b=cos2(x) / ex
- zadata dva realna broja x i y izracunati:
a=x2 +√y
b=x3-yx

-onemoguciti unosenje matrica

function[a,b]=zad74(x,y)
if nargin==1
if length(x)~=1
error(‘Unijete su matrice’)
end
if x<=2 | image(x)~=0
error(‘Niste unijeli relani broj veci od 2’)
end
a=log(x^3+x^(2/5))/log(6)-2*x;
b=(cos(x))^2-exp(x);
end

if nargin==2
if length(x)~=1 |length(y)~=1
error(‘Unijete su matrice’)
end
if image(x)~=0 |image(y)~=0
error(‘Niste unijeli relane brojeve’)
end
a=x^2+y^(1/2);
b=x^3-y^x;
end
>>[a,b]=zad74(13)
>>[a,b]=zad74(13,72)

5.ZADATAK Napistai funkcijski fajl zad75.m koji ce za:


- -zadati prirodni broj x dati 2 izlaza a=x!

x
b= ∑ k
k=1

-za date realne brojeve x i y racuna z=x2+y 3/2


onemogucava unosenje matrica

function[a,b]=zad75(x,y)
[x1,x2]=size(x)

if nargin==1
if round(x)~=x |x<=0 | x1~=1 | x2~=1
error(‘ x nije prirodan broj’)
end
a=prod([1:x]);
b=sum([1:x])
end

if nargin==2
[x1,x2]=size(x)
[y1,y2]=size(y)
if x1~=1 | x2~=1 | y1~=1 | y2~=1
error(‘ U nijete su matrice’)
end
if image(x)~=0 |image(y)~=0
error(‘Niste unijeli relane brojeve’)
end
a=x^2+y^(3/2)
end

6.ZADATAK Napisati funkcijski fajl zad76.m koji ce za:


1) zadati realni broj x dati 2 izraza
a= sin(x)
10
b= ∏ (x-k)
k=1

2) za data 2 broja p i q nalazi vrijednost f(p) i f(q) gdje je f(x)=8x3+5x5+3x2-23

function[a,b]=zad76(x,y)
if nargin==1
if image(x)~=0
errror(‘Broj nije realan’)
end
a=sin(x);
b=1;
for k=1:10
b=b*(x-k);
end
end
if nargin==2
f=[5 0 8 3 0 -23 ];
a=polyval(f,x);
b=polyval(f,y);
end
7.ZADATAK Napisati funkcijski fajl kkor.m koji ce za zadati prirodni broj N racunati
N- ti korjen zadatg broja a.Zadati broj a moze biti relan ili komleksan broj.

function[Z]=zad76(n,a)
if round(n)~=n | n<=0
error (‘Unijeti broj nije prirodan’)
end
k=0:n-1;
fi=angle(a);
z=abs(a)^(1/n)*(cos((2*k*pi+fi)/n)+i*sin((2*k*pi+fi)/n));
>>[rezultat]=kkor(2,9)
>>[rezultat]=kkor(2,2+i*5)

***********************************************************
2. Napisati funkcijski fajl82.m koji ce za:
- Zadate realne brojeve a i b racunati x=a3+b4 ako se trazi jedan izlaz ili x=a! i
y=a+b!
ako se traze dva izlaza
- Zadate realne brojeve a, b i c racunati x=b*ca ako se trazi 1 izlaz ili x=(a+b+c)3 i
y=b*e2*a ako se traze 2 izlaza
Ne dozvoliti unosenje matrica.

function [x,y]=zad82(a,b,c)

if nargin==2
[a1,a2]=size(a);
[b1,b2]=size(b);
if a1~=1 | a2~=1 | b1~=1 | b2~=1
error('Unos matrica nije dozvoljen')
end

if round(a)~=a | a<=0
error('Unijeto a nije prirodan broj')
end if round(b)~=b | b<=0
error('Unijeto b nije prirodan broj')
end

if nargout==1
x=a^3+b^4;
end
if nargout==2
x=prod(1:a);
y=prod(1:(a+b));
end
end
if nargin==3

[a1,a2]=size(a);
[b1,b2]=size(b);
[c1,c2]=size(c);
if a1~=1 | a2~=1 | b1~=1 | b2~=1 | c1~=1 | c2~=1
error('Unos matrica nije dozvoljen')
end

if imag(a)~=0
error('Unijeto a nije realan broj')
end
if imag(b)~=0
error('Unijeto b nije realan broj')
end
if imag(c)~=0
error('Unijeto c nije realan broj')
end

if nargout==1
x=b*c^a;
end
if nargout==2
x=(a+b+c)^3;
y=b*exp(2*a);
end
end

3. Napisati funkcionalni fajl zad83.m koji ce za:


- Zadati realan broj a racunati x=a2 i y=a4+sin(a2)
- Zadate realne brojeve a i b racunati a*b
a3-b3 _
3
- Za zadati kompleksan broj z racuna sve vrijednosti izraza w= \/z + 2+i
Ne dozvoliti unosenje matrica.

function [x,y]=zad83(a,b)

if nargin==1
[a1,a2]=size(a);
if a1~=1 | a2~=1
error('Unos matrica nije dozvoljen')
end

if nargout==2
if imag(a)~=0
error('Unijeto a nije realan broj')
end
x=a^2;
y=a^4 + sin(a^2);
end
if nargout==1

n=3;
k=0:n-1;
f=angle(a);
pom=abs(a)^(1/n)*(cos((2*k*pi+f)/n)+i*sin((2*k*pi+f)/n));
x=pom+2+i;
end
end

if nargin==2
[a1,a2]=size(a);
[b1,b2]=size(b);
if a1~=1 | a2~=1 | b1~=1 | b2~=1
error('Unos matrica nije dozvoljen')
end

if imag(a)~=0
error('Unijeto a nije realan broj')
end
if imag(b)~=0
error('Unijeto b nije realan broj')
end

x=a*b/(a^3-b^2);
end

6. Napisati funkcijski fajl zad86.m koji za zadato realno a 0,3<a<30 racuna sumu
reda sve
dok je posljednji clan sume veci od 0.0001 ili dok broj sabranih elemenata ne
predje
vrijednost 50. Kao izlaze dati sumu reda i broj sabranih elemenata, a red izgleda
ovako
n
Sr=∑ ak + 5
k=1 (k+1)!

function [suma,k]=zad86(a)

if a<=0.3 | a>=30 | imag(a)~=0


error('unijeli ste vrijednost a koja ne zadovoljava 0.3<a<30 ')
end
suma=0;

k=1;

while a^(k+5)/prod([1:k+1]) > 0.0001 & k<=50

suma=suma + a^(k+5)/prod([1:k+1]);
k=k+1;
end
k=k-1;

OSTALO
8.ZADATAK Napisati skript fajl koji ce za svaki uneseni skup karaktera dati
odgovarajuciASCII kod ili za uneseni ASCII kod dati odgovarajuci skup karaktera.

k=menu(‘Izaberi opciju’,’prebacivanje u ASCII kod’,’prebacivanje iz ASCII k


oda’);
if k==1
b=input(‘Unesi karakter:’ , ‘s’);
disp(‘ASCIIkod je:’);
abs(b)
else
c=input(‘Unesi ASCII kod:’);
disp(‘Karakteri su:’)
setstr(c)
end

8.ZADATAK Naci sva rjesenja sistema linearnih jednacina

x1+x2-x3+x4=0
2x1-3x2+5x3-0.5x4=20
4x2+5x3-1.5x4=11
x1+3x2+4x3 =7

A*X=B => X=A –1*B

>>A=]1 1 -1 1; 2 -3 5 -0.5 ; 0 4 5 -1.5; 1 3 4 0];


>>B=[ 0 20 11 7]’
>>A^(-1)*B

1.Naci izvod funkcije:


f(x)=ln((x-1)/(x+1))^(1/4)+3*ln((x^2+1)/(x^2+1))^(1/4)+1/2*arctag(x)
Nacrtati funkciju I njen prvi izvod za vrijednosti x od 2,8,347 tacaka.

X=linspace(2,8,347)
F=log(((x-1)./(x+1)).^(1/4))+3*log(((x.^2+1)./(x.^2- 1)).^91/4))+(1/2)*atan(x)

X=[x1 x2 x3 …xn]
F=[f1 f2 f3 ……fn]
F’=[f2-f1 f3-f2 f4-f3 fn-fn-1]
Df=diff(f)
Plot(x,f)
Dx=x (1:length(x)-1)
Plot(dx,df)

2 ZADATAK.Za m=15 i n=7 formirati:


a)polje brojeva S slucajno iyabrani cijeli brojevi sa osobinom –4<a(i,j)<10
b)odrediti koliko elemenata u polju brojeva S ima vrijednost vecu od 5
c)zamijeniti sve elemente polja brojeva S koji imaju vrijednost 6 sa
vrijednoscu 25
d)zamijeniti sve elemente polja brojeva S manje od 4 sa vrijednoscu 44
(S15x7)
a)
>>rand(15,7)
>>10* rand(15,7)
>>round(10* rand(15,7))

>>rand(15,7)
>>14* rand(15,7)
>>S= round(14* rand(15,7))-4

b) b=(S>5)
sum(sum(b))

c) c=(S==6)
>>25*(S==6)
>>(S~=6)
>>25*(S==6)+S.*(S~=6)
d) 44*(S<4)+S.*(S>=4)

3. zadatak Za m=10 I n=9 formirati:


a)polje brojeva S slucajno izabranih cijelih brojeva sa osobinom da su ti
elementi -13<a(I,j)<13

b)odrediti koliko elemenata u polju br.S ima vrijednost –5<a(I,j)<5

c)odrediti koliko elemenata u polju brojeva S ima vrijednost 10 ili 8

d)nisu jednaki 10 ili 8

e)sa osobinom –2<a(I,j)<7 da se zamijene sa 27

a) round(26*rand(10,9))-13
b) b=(S>-5)&(S<5)
sum(sum(b))
c) c=(S==8)|(S==10)
sum(sum(c))
d) d= ((S~=8)|(S~=10))
e ) 27*((S<-2)&(S<7))
27*((S<-2)&(S<7))+S.(~((S>-2)&(S<7)))

4. zadatak Zadati su polinomi:


P1(x)=5x^3+2x^2-3x+7
P2(x)=x^4+3X^3+9x-1
P3(x)=x^6+4x^4-3x+2
a)napisati komande kojima se polinomi unose u radni prostor matlaba

b)napisati komande kojima se izracunava vrijednost izraza:


W=p1(4)+p1(2)*p2(8)-p1(1)/p3(14)+p1(12)-p3(6)
c)napisati komande kojima se dati polinom graficki predstavalja za
vrijednost x od –2 do 2 u 725 tacaka.
d)polinom nacrtati u istom grafickom prozoru u horizontalnoj podeli

x1=[ 4 2 1 12]
r1=polyval(p1,x1)

x2=8
r2=polyval(p2,x2)

x3=[14 6]
r3=polyval(p3,x3)

w=r1(1)+r1(2)*r2 (1)-r1(3)/r3(1)+r1(4)-r3(2)
c) x=linspace(-2,2,725)
r1=polyval(p1,x)
r2=polyval(p2,x)
r3=polyval(p3,x)

d) subplot(3,1,1);plot(x,r1)
subplot(3,1,2);plot(x,r2)
subplot(3,1,3);plot(x,r3)

5. zadatak Za polinome p(x)=x7+3x6+2x4-12x3-3x2+7x+3


q(x)=x5-6x4-3x+2x3-8
a)Napisati komande kojima se dati polinomi unose u radni prostor i anci vrijednost polinoma za x=log(12)

b)Odrediti nule oba polinoma


d) odrediti rezultat koji se dobija izracunavanjem izraza
p(x)*q(x) =>R

p(x)-q(x) =>S

d)graficki predstaviti p i q u 2 posebna graficka prozora za


vrednost x od –10 do 10 u 859 tacaka
a) >> p=[1 3 0 2 -12 -3 7 3]
>> q=[1 -6 2 0 -3 8]
>> x=lpg10(12)
>> r1=polyval(p,x)
>> r2=polyval(q,x)

b) >> roots(p);
>> roots(q);

c) >> R=conv(p,q);
>> q=[0 0 q];
>> S=p-q;
>> [kol,ost]=deconv(R,S)
d) >> x=linspace(-10,10,859)
>> r1=polyval(p,x)
>> r2=polyval(q,x)
>> plot(x,r1)
>> plot(x,r2)
********************************************************
6. Dati su polinomi:
p1(x)=2-x+x4-3x5+x6
p2(x)=3+7x-x2+x4
p3(x)=(x-4)(x+6)(x-12)(x+21)(x-19)
a) Napisati komande kojima se odredjuju korjeni polinoma (p1+p2)*p3*p2
b) Napisati komande kojima se izracunavaju koeficijenti polinoma koji se
dobija kao rezultat izraza (p3+p1)/p2

>> p1=[1 -3 1 0 0 -1 2]
>> p2=[1 0 -1 7 3]
>> p3=poly( [4 -6 12 -21 19] )

a) R1=conv((p1+p2),p3)
Rez=conv(R1,p2)
b) p3=[0 p3]
Rez=deconv((p3+p1),p2)
***************************************************
7. Formirati string ’’matlab vjezbe“ i prevesti ga u ASCII kod.

>> a=’Matlab vjezbe’


>> b=abs(a) --> prevodi u ASCII kod
>> b=setstr(b) --> prevodi iz asciikoda u string

8. Koristeci naredbu eval izracunati vrijednost izraza sin(x)*x3 za


vrijednosti:
a) x=5;
b) x=[2 4 6 8 10]

a) >> x=5;
>> S=’sin(x)*x^3’
>> rez=eval(S)
>> S=’sin(x).*x.^3’

b) >> x=[2 4 6 8 10];


>> rez=eval(S);
>> S=’sin(x).*x.^3’
>> x=[2 4 6 8 10]
>> rez=eval(S);

ISPRAVAK II KOLOKVIJUMA

1. Naci:
r1 * r 2 * r 33
a) Vrijednost izraza D= u tacki x=log5(67).
r1 + r 2
Trazilo se da se unesu polinomi q1,q2,q3.
b) c=q1+q2 i naci nule (korjene) polinoma c;
c) da se nacrta polinom q3, gdje je -4<x<21 u 7018 tacaka

q1=input('unesi polinom q1= '); --> a)


q2=input('unesi polinom q2= ');
q3=input('unesi polinom q3= ');
x=log(67)/log(5);

r1=polyval(q1,x);
r2=polyval(q2,x);
r3=polyval(q3,x);

D=r1*r2*r3^3/(r1+r2)

if length(q1)>length(q2) --> b)
q2=[zeros(1,length(q1)-length(q2)) q2];
else
q1=[zeros(1,length(q2)-length(q1)) q1];
end
c=q1+q2;
korijeni=roots(c)

x=linspace(-4,21,7018); --> c)
y=polyval(q3,x);
plot(x,y)
-----------------------------------------------------------------------------------------------------------
---
2. Napisati skript fajl zad2.m koji ce za unesene prirodne brojeve R i T formirati matricu
G(RxT)
pri cemu je 4<(R,T)<27 i ciji elementi zadovoljavaju relaciju:
 54 + 6 r , r = t

 5t + r 3 , r = t + 1
G(r,t)= 
 log(r + t ), r > t + 1
6 7

 r − 34t , r < t

a) Formirati vektor vrsta Gk od neparnih vrsta matrice G;
b) Odrediti koliko elemenata u matrici G ima negativnu vrijednost;
c) Sabrati elemente svih parnih kolona matrice G.

R=input('unesite R= ');
if round(R)~=R | R<=4 | R>=27
error('greska ')
end
T=input('unesite T= ');
if round(T)~=T | T<=4 | T>=27
error('greska ')
end

for r=1:R
for t=1:T
if r==t
G(r,t)=54+r^(1/6);
elseif r==t+1
G(r,t)=5*t+r^3;
elseif r>t+1
G(r,t)=log10(r^6+t^7);
else
G(r,t)=r-34*t;
end
end
end
G

for k=1:2:R --> a)


B =G(k,:)
end

br_elemenata=sum(sum(g<0)) --> b)
moglo je i A=G<0;
br_elemenata=sum(sum(A))

B=A(:,2:2:T) --> c)
suma_parnih_kolona=sum(sum(B))
--------------------------------------------------------------------------------------------------------
3. Napisati funkcijski fajl zad3.m koji ce za zadate realne
brojeve a i b racunati vrijednost izraza

 sin(b) − cos(5 a ), zab ≥ 5


x= 
 tg (a 2 − b), zab < 5
ako se trazi 1 izlaz, ili vrijednost izraza x=e(a-b)+cos(ab) i
y=sin(a*b*e(a-b)) ako se trze 2 izlaza.
Ne dozvoliti unos matrica.

function [x,y]=zad3(a,b)
[a1,a2]=size(a);
[b1,b2]=size(b);

if imag(a)~=0 | imag(b)~=0 | a1~=1 | a2~=1 | b1~=1 | b2~=1


error('greska pri unosu')
end

if nargout==1
if b>=5
x=sin(b)-cos(a^(1/5));
else
x=tan(a^2-b);
end
end
if nargout ==2
x=exp(a-b)+cos(a^b);
y=sin(a*b*exp(a-b));
end
-----------------------------------------------------------------------------------------------------------
4. Napisati funkcijski faj zad4.m koj ce za zadati realan broj b gdje je 0<b<10
racunati sumu reda
n
( −1)
k
SR= ∑ b
3

n =1 ( 2 n −1)!
sve dok je poslednji sabrani element veci od 10-5 ili dok broj sabranih elemenata ne
predje 423.
Kao izlaze dati:
- sumu reda;
- vrijednost posljednjeg sabranog elementa i
- broj sabranih elemenata.

function [suma,n,clan]=zad4(b)
if imag(b)~=0 | b<=0 | b>=10
error('pogresan unos')
end

suma=0;
n=1;
while b^(n/3-1)/prod(1:2*n-1)>10^(-5) |n<423
suma=suma+b^(n/3-1)/prod(1:2*n-1);
n=n+1;
end
n=n-1;
clan=b^(n/3-1)/prod(1:2*n-1);

[maximum,vrsta]=max(max(A))
[maximum,kolona]=max(max(A’))

(nalazenje max elementa I njegove pozicije u


polju)

You might also like