Download - MATLAB [Zadaci Sa Rjesenjima

Transcript

1. Napisati u MATLAB-u naredbu kojom se dobijaju vrijednosti sljedeđih izraza:b) b= 50 * π/4 +2,654×107×10-13 –log3987b=50*pi/4+2.654e7*1e-13-log(987)/log(3) ilib=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/3f=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 +2z=4+i;n=4a=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 h2 2 5 5 5 5 55 -90 -90 0.....02 2 5 5 5 55 5 -80 -80 0.....02 2 5 5 55 5 5 -70 -70 0.....02 2 5 55 5 5 5 -60 -60 3.....35 5 0 0 0 0 3 -50 -50 3.....35 5 0 0 0 0 3 -40 -40 3.....35 5 0 0 0 0 3 -30 -30 3.....35 5 0 0 0 0 3 -20 -20 3.....35 5 0 0 0 0 3 -10 -10 3.....35 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 y2=y12 u istom intervalu kao I grafiky3=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 grafikux3=linspace(-4,pi,195); subplot(3,1,1),gridy3=-x3./(2*x3+5*x3.^2); -||- ,grid off

-||- ,grid onda 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 squarei da biramo boju: axis equalplot(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=6n=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) ∫2

korjen iz 21razlomacka goge cos(x5) dolje x3 pored raxlomacke dxa=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 matricumean --> sredina, srednja vrijednostmedian --> srednjak (to nije srednja vrijednost); srednji elementsum --> 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 AP=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.01ako 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:-21b=[-90 -80 -70 -60.....0] b= -90:10:0c=[-2 -4 -6 -8 -10....-88] c= -2:-2:-88d=[-22 -21 -20 -19 -18 -17 ....21] d=-22:1:21

STEM(X) ->DA SPOJIMO SAMO TACKE NA GRAFIKUSTAIRS(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>5000error(‘prekid,broj interacija je presao zadatu vrijednost’)

endn=n+1;endSrn

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=0k=1while a^(k+1)/prod([1:k])>0.0002 & k<=1500Sr=Sr+ a^(k+1)/prod([1:k])k=k+1endSrk

>>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’);endfor i=1:Nfor j=1:Nif i==j

A(i,j)=4+i;end

if i>jA(i,j)=i-2*i^2end

if j>iA(i,j)=3*i^(1/2)-j;end

endendA

b) for k=2:2:Neval([‘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 PP=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 Rifor 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<0A(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 endend

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)<22) Naci broj elemenata matrice A koji su manji od –53) 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))-102) 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 p2b) Nalazi korjen datih polinomac) Odredjuje koeficijnte novog polinoma q=p1*p2d) 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’)endP=conv(p1,p2)Q=n*p1if length(P)>length( Q)

Q=[ zeros(1,length(P)-length(Q))Q]else

P= zeros(1,length(Q)-length(P))P]enddisp(‘Koeficijenti polinoma c su’)c=P+Qx=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’)endk=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’)endx=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 )-2xb=cos2(x) / ex

- zadata dva realna broja x i y izracunati:a=x2 +√yb=x3-yx

-onemoguciti unosenje matrica

function[a,b]=zad74(x,y)if nargin==1

if length(x)~=1error(‘Unijete su matrice’)

endif x<=2 | image(x)~=0

error(‘Niste unijeli relani broj veci od 2’)enda=log(x^3+x^(2/5))/log(6)-2*x;b=(cos(x))^2-exp(x);end

if nargin==2if length(x)~=1 |length(y)~=1

error(‘Unijete su matrice’)end

if image(x)~=0 |image(y)~=0error(‘Niste unijeli relane brojeve’)

enda=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!

xb= ∑ 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~=1error(‘ x nije prirodan broj’)

enda=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)~=0error(‘Niste unijeli relane brojeve’)

enda=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==1if image(x)~=0

errror(‘Broj nije realan’)end a=sin(x); b=1; for k=1:10

b=b*(x-k); endendif 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’)endk=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); endend

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 _- Za zadati kompleksan broj z racuna sve vrijednosti izraza w=3\/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=∑ a k + 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 ')

endsuma=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;

OSTALO8.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 koda’);if k==1b=input(‘Unesi karakter:’ , ‘s’);disp(‘ASCIIkod je:’);abs(b)

elsec=input(‘Unesi ASCII kod:’);disp(‘Karakteri su:’)setstr(c)

end

8.ZADATAK Naci sva rjesenja sistema linearnih jednacina

x1+x2-x3+x4=02x1-3x2+5x3-0.5x4=20

4x2+5x3-1.5x4=11x1+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)<10b)odrediti koliko elemenata u polju brojeva S ima vrijednost vecu od 5c)zamijeniti sve elemente polja brojeva S koji imaju vrijednost 6 sa vrijednoscu 25d)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))-13b) 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+7P2(x)=x^4+3X^3+9x-1P3(x)=x^6+4x^4-3x+2a)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=8r2=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+3q(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 polinomad) 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 tacakaa) >> 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*p2b) 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:

a) Vrijednost izraza D= u tacki x=log5(67).

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];endc=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:

G(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 ')endT=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 endendG

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

x= 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 endif 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

SR=

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)