%% naredba input i naredba za crtanje mnogokuta a=input('unesi stranicu a:'); b=input('unesi stranicu b:'); %PATCH(X,Y,C) adds the "patch" or filled 2-D polygon defined by % vectors X and Y to the current axes patch([0; a; 0],[0; 0; b],'g') %AXIS([XMIN XMAX YMIN YMAX]) axis([0 5 0 5]) %% rad sa stringovima s=num2str(pi)% pretvara broj u string s+1 % s nije broj! sprintf('pi= %s',s) n=str2num(s)% pretvara string u broj n+1 % n je sad broj % strcat spaja stringove (horizontalno) % strccat spaja stringove (vertikalno) % blanks(n) is a string of n blanks. s1='Dobar' s2='_' s3='dan!' s4=strcat(s1,s2,s3) s5=strvcat(s1,s3) %% DZ napravi program koji uneseni string ispise naopako i provjerava radi li se o palindromu %% definiranje funkcija % primjer funkcije, bez komentirata spremiti u file volumen_valjka.m % function [volumen]=volumen_valjka(r,v) % % % volumen=r^2*pi*v; % end [volumen]=volumen_valjka(3,4) %DZ za zadane vektore od n elemenata s podacima o radijusima i visinama, %koristeci funkciju, napraviti matlab program koji racuna ukupni volumen (i %ukupno oplosje) %% grafika % ezplot Easy-to-use function plotter ezplot('sin(x)') % text dodavanje teksta t1=sprintf('f(x)=sin(x)') text(3,1,t1) x=-1:0.01:4*pi; y=sin(x)+cos(3*x); plot(x,y)%plot x-y plot xlim([-2,15])% xlim Set x-axis limits ylim([-2,3])% xlim Set y-axis limits axis([-1 14 -3 3]) % set x and y axis % fplot Function plotter hold on % grafovi se crtaju na isti graf, vidi: hold off fplot(@(x) 2*sin(x)+cos(x),[0, 4*pi],'r') legend('sin(x)+cos(3*x)','2*sin(x)+cos(x)')% legenda %% grafika % ezplot Easy-to-use function plotter ezplot('sin(x)') % text dodavanje teksta t1=sprintf('f(x)=sin(x)') text(3,1,t1) x=-1:0.01:4*pi; y=sin(x)+cos(3*x); plot(x,y)%plot x-y plot xlim([-2,15])% xlim Set x-axis limits ylim([-2,3])% xlim Set y-axis limits axis([-1 14 -3 3]) % set x and y axis % fplot Function plotter hold on % grafovi se crtaju na isti graf, vidi: hold off fplot(@(x) 2*sin(x)+cos(x),[0, 4*pi],'r') legend('sin(x)+cos(3*x)','2*sin(x)+cos(x)')% legenda hold off % semilogy Plot with logarithmically scaled y-axis semilogy(x,exp(x.^2)) grid on % grid Grid lines xlabel('x os')% xlabel Label x-axis, tu rade neke latex naredbe npr. x_1 ylabel('vrijednosti funkcije')% ylabel Label y-axis title('crtanje funkcije exp(x^2)') % title Title graph % subplot %omogucava crtanje vise slika subplot(2,1,1) ezplot('sin(x)') subplot(2,1,2) ezplot('cos(x)') %% handle grafika, ime je dobila po drzalu (engl. drzalo), pointer na graficki objekt % get() funkcija koja trazi svojstvo objekta % set() funkcija koja postavlja svojstvo objekta, neka svojstva se mogu % samo citati % svaki tip objekta ima svoju naredbu za stvaranje, %npr. figure () stvara objekt slike % text () stvara tekstualni objekt % plot () stvara istodobno vise objekata (prozor, sliku, osi ...) % naredbom findobj dobiju se handle brojevi, drzala pojedinih objekata close all x=1:0.2:10; plot(x,sin(x),'.-') h=findobj % naredbe plot je stvorila 4 objekta % ako nas zanima o kojim se objektima radi koristiti semo naredbu get() get(h,'type') %root - prozor %figure - slika %axes - osi %line - linija % to je stvoreno koristenjem naredbe plot %vracena_vrijednost=get(handle,'Ime svojstva'); %dohvacanje svojstva %set(handle, 'Ime svojstva', 'Nova_vrijednost svojstva') %set(h(4))% ispisuje sva svojstva za cetvrti handle iz proslog primjera %Sget(h(4)) set(h(4),'Marker')%ispisuje sve vrijednosti nekog svojstva get(h(4),'Marker')%ispisuje trenutnu vrijednost % probati set(h(4),'MarkerSize') set(h(4),'Marker','s','MarkerSize',12)%upisivanje svojstava, 's'-jer je dovoljno prvo slovo set(h(4),'LineWidth',2) set(h(4),'YData',x.*sin(x)) grid on set(h(3),'GridLineStyle','-') set(h(3),'Units','normalized') set(h(3), 'YLim',[-15, 15], 'Position',[0.1 0.2 0.5 0.5]) set(h(2),'Name', 'Primjer 1','Units','normalized', 'Position',[0.1,0.1,0.8, 0.8]) %% graficki objekti i njihova svojstva clear clc figure(1) x=1:0.2:10; plot(x,sin(x),'.-') h2=gcf % objekt slike (eng. figure) h3=get(gcf,'CurrentAxes') %objekt osi %h3=gca %alternativa za prethodni red %get(h3) set(h3,'YColor','r')%ili set(gca,'XColor','g') %mozemo mijenjati svojstva %set(h3,'YLabel','vrijednost funkcije') t1=text(4,0,'sin(x)') %set(t1, 'Editing','on') dopusta mijenjanje teksta set(t1,'FontAngle','italic') close all figure(2) %DZ nacrtajte pravilan osmerokut mnogokut, ako se broj vrhova unosi %trokute od kojih se sastoji mnogokut obojajte raznim bojama (izmjenjujte 5 odabranih boja) nn=input('unesi broj vrhova:') t=0:2*pi/nn:2*pi; m=patch(sin(t), cos(t),'g') axis square set(m,'Marker', 'o') % pogledajmo sta je sad generirano h2=findobj get(h2,'type') set(h2(4),'MarkerSize',12) h3=findobj('Marker','o') set(h3,'Marker','x') text(0,0,'mnogout') hf=findobj('FontSize',10) %DZ promjenite sve textove velicine fonta 10 na 14 %delete(gcf)% brisanje grafickih objekata %clf -brisanje %% prikaz funkcije dviju varijabli x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y);%konstruira mrezu tocaka Z=X.*exp(-X.^2-Y.^2); surf(X,Y,Z) mesh(X,Y,Z) contour(X,Y,Z) surfc(X,Y,Z) shading interp % jos neke dodatne opcije f=gcf set(f,'Color','blue') %set(f) set(f,'Name','Slika 1') set(f,'ToolBar','none') c=colorbar %get(c) set(c,'XColor','white','YColor','red') set(c,'FontSize',10) set(gca,'FontSize',14) set(gca,'Color','g') set(gca,'XColor','white') set(f,'Position',[300 300 500 400]) shading interp %% eval i feval funkcija='cos(x)'; funkcija2=input('unesi funkciju: ','s') x=0:0.1:2*pi; y=eval(funkcija) plot(x,y) hold on str=strcat(funkcija, '+2*',funkcija2) y2=eval(str) title(str) plot(x,y2) F=@exp %FUNHANDLE = @F_NAME returns a handle to the named function, F_NAME e=feval(F,1) y2=feval(@(z)sin(z),pi) %DZ: nacrtajte na sliku i funkciju dvije varijable koja se nalazi u datoteci s imenom f1...