Hadzikonjteiuharituye

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

1.

function [A,B,C] = z1(x)


if nargin ~= 1
error('Funkcija ima jedan ulazni argument')
end
if nargout ~= 3
error('Funkcija ima tri izlazna argumenta')
end
[m,n]=size(x);
if m~=1 || n<3
error('Pogreška: ulaz mora biti vektor-red sa...
najmanje 3 elementa')
end

A=zeros(n,3*n);
A(end:-1:1,n+1:2*n)=diag(x);
A(:,2*n+1:3*n)=diag(x);
A(:,[1,2*n+1,3*n])=[x' x' x'];
A(n,1:n)=x(end:-1:1);
A([1,n],n+1:2*n)=[x; x];

B=zeros(2*n-1,2*n-1);
for i=1:n
B(i:2*n-i, i:2*n-i)=x(n+1-i);
end

C1=zeros(n);
for i=1:n
C1(i,i:n)=x(1:n+1-i);
end
C2=C1'-diag(diag(C1));
C=fliplr(C1+C2);

2.

function z2(z)
if nargin ~= 1
error('Funkcija ima jedan ulazni argument')
end
if nargout ~= 0
error('Funkcija nema izlaznih argumenata')
end
if z ~=['a' 'b' 'c']
error('Pogrešan ulazni argument')
end

if z=='a'
x=[-pi:0.1:pi];
y=[-pi:0.1:pi];
[X,Y] = meshgrid(x,y);
Z=3*sin(X).*cos(Y);
surf(X,Y,Z);
shading interp
colormap(gray);
title('3D površina funkcije z=3sin(x)*cos(y)')
xlabel('x-osa'),ylabel('y-osa'),zlabel('z-osa'),
end

if z=='b'
syms x;
S=solve('x^2+y^2-4=0','-2*x+y-2=0')
y=dsolve('2*D2y-9*y=sin(8*x)','y(0)=1','Dy(0)=0','x');
subplot(2,1,1);
ezplot('x^2+y^2-4=0')
hold on
ezplot('-2*x+y-2=0')
plot(S.x,S.y,'rs ');
subplot(2,1,2);
ezplot(y),
axis tight
end

if z=='c'
P=[2 3 0 -6];
x=-4:0.1:4;
y=polyval(P,x);
y=y+rand(size(y));
p2=polyfit(x,y,2);
plot(x,y,'d')
hold on;
plot(x,polyval(p2,x),'r')
grid on;
title('Aproksimacija polinomom')
xlabel('x-osa'),ylabel('y-osa')
end
3.

function D = z3
if nargin ~= 0
error('Funkcija nema ulaznih argumenata')
end
if nargout ~= 1
error('Funkcija ima jedan izlazni argument')
end

n=input('Koliko tačaka želite upisati? ');


if n<1
error('Pogrešan unos')
end
n1=0; n2=0; n3=0; n4=0;
for i=1:n
disp(['Unos podataka ' int2str(i) '. tačke:'])
T(i).x=input('Unesite x koordinatu tačke: ');
T(i).y=input('Unesite y koordinatu tačke: ');

if (T(i).x>=0 & T(i).y>=0) n1=n1+1;


elseif (T(i).x<=0 & T(i).y>=0) n2=n2+1;
elseif (T(i).x<=0 & T(i).y<=0) n3=n3+1;
elseif (T(i).x>=0 & T(i).y<=0) n4=n4+1;
else disp('Pogrešan unos!'), break
end
end
disp('Broj tačaka u prvom kvadrantu: '), n1
disp('Broj tačaka u drugom kvadrantu: '), n2
disp('Broj tačaka u trećem kvadrantu: '), n3
disp('Broj tačaka u četvrtom kvadrantu: '), n4

tx=[0 T(1:n).x 0];


ty=[0 T(1:n).y 0];
plot(tx,ty,'bo','MarkerSize',10 ); hold on;
plot(tx,ty,'r');

D=0;
for i=1:length(tx)-1
D=D+sqrt((tx(i+1)-tx(i))^2 + (ty(i+1)-ty(i))^2);
end

You might also like