From joSe, 1 Month ago, written in Plain Text.
Embed
Hits: 203
1. % 1. a)
2. Fs=4000;
3. T=1/Fs;
4. L=1000;
5. t=(0:L-1)*T;
6.
7. y=0.7*sin(2*pi*300*t)+sin(2*pi*700*t);
8. subplot(211)
9. plot(t(1:200),y(1:200))
10. title('Sinusni signal');
11. xlabel('Vrijeme');
12. ylabel('Amplituda');
13.
14. NFFT=2^nextpow2(L);
15. Y=fft(y,NFFT)/L;
16. f=Fs/2*linspace(0,1,NFFT/2+1);
17. subplot(212)
18. plot(f,2*abs(Y(1:NFFT/2+1)),'r')
19. xlabel('Frekvencija');
20. ylabel('Funkcija y');
21.
22. %% b)
23. clear all
24. clc
25.
26. fs=44000;
27. Wp=[2*3000/fs];
28. Ws=[2*2900/fs];
29. Rp=1;
30. Rs=40;
31.
32. d=fdesign.highpass('Fst,Fp,Ast,Ap',Ws,Wp,Rs,Rp);
33. f=design(d,'cheby2');
34. info(f)
35. fvtool(f)
37. t=0:1/fs:1/fs*(length(Y)-1);
38. plot(t,Y)
39. xlabel('Vrijeme [s]')
40. ylabel('Amplituda')
41. hold on
42. izlaz=filter(f,Y);
43. plot(t,izlaz,'r-')
44. legend('Ulazni signal','Filtrirani signal')
45.
46.
47. figure
48. theta=0:pi/100:2*pi;
49. rho=sin(theta*3);
50. subplot(2,1,1),h=polar(theta,rho,'go');
51. pause
52. for i=1:60
53.     zdir=[0 0 1];
54.     center=[0 0 0];
55.     pause(2/60)
56.     rotate(h,zdir,6,center)
57. end
58. pause
59. [x,y]=meshgrid([-2:0.1:2]);
60. z=sin(x.^2+y.^2);
61. subplot(2,1,2),h=surf(x,y,z)
62. pause
63. axis tight
64. for i=1:100
65.     zdir=[0 0 -1];
66.     center=[0 0 0];
67.     rotate(h,zdir,7.2,center)
68.     pause(5/100)
69. end
70.
71.
73. I=im2double(s);
74. subplot(3,2,1),imshow(I), title('Original');
75.
76. H=fspecial('motion',30,60);
77. Motion=imfilter(I,H,'replicate');
78. subplot(3,2,2),imshow(Motion),title('Motion');
79.
80. H=fspecial('sobel');
81. Sobel=imfilter(I,H,'replicate');
82. subplot(3,2,3),imshow(Sobel),title('Sobel');
83.
84. H=fspecial('log',[30,100],0.2);
85. Log=imfilter(I,H,'replicate');
86. subplot(3,2,4),imshow(Log),title('Log');
87.
88. H=fspecial('disk',20);
89. Disk=imfilter(I,H,'replicate');
90. subplot(3,2,5),imshow(Disk),title('Disk');
91.
92. H=fspecial('unsharp');
93. Unsharp=imfilter(I,H,'replicate');
94. subplot(3,2,6),imshow(Unsharp),title('Unsharp');
95.
96.
97. clear all
98. close all
99.
100. a=3;
101. h=4;
102. P=a^2 + 2*a*h;
103. V=a^2*h./3;
104.
105. fprintf('Povrsina je:');
106. disp(P);
107. fprintf('Zapremina je:');
108. disp(V);
109.
110. x = [0 3 3 0];
111. y = [0 0 3 3];
112. z = [0 0 0 0];
113. patch(x,y,z,'y');
114. grid on;
115. axis([-2 5 -2 5]);
116. xlabel('x-osa');
117. ylabel('y-osa');
118. zlabel('z-osa');
119.
120. x = [0 3 1.5];
121. y = [0 0 1.5];
122. z = [0 0 4];
123. patch(x,y,z,'r');
124. grid on;
125. axis([-2 5 -2 5]);
126. xlabel('x-osa');
127. ylabel('y-osa');
128. zlabel('z-osa');
129.
130. x = [0 0 1.5]
131. y = [0 3 1.5];
132. z = [0 0 4];
133. patch(x,y,z,'g');
134. grid on;
135. axis([-2 5 -2 5]);
136. xlabel('x-osa');
137. ylabel('y-osa');
138. zlabel('z-osa');
139.
140. x = [0 3 1.5];
141. y = [3 3 1.5];
142. z = [0 0 4];
143. patch(x,y,z,'b');
144. grid on;
145. axis([-2 5 -2 5]);
146. xlabel('x-osa');
147. ylabel('y-osa');
148. zlabel('z-osa');
149.
150. x = [3 3 1.5];
151. y = [0 3 1.5];
152. z = [0 0 4];
153. patch(x,y,z,'m');
154. grid on;
155. axis([-2 5 -2 5]);
156. xlabel('x-osa');
157. ylabel('y-osa');
158. zlabel('z-osa');
159.
160.
161. clc;
162. clear;
163.
164. % Inicijalizacija varijabli
165. rijeci = {}; % Lista za spremanje unesenih riječi
166. samoglasnici = 'aeiou'; % Samoglasnici
167. konacnaRijec = ''; % Posljednja riječ koja zadovoljava uvjet
168. brojac = 0; % Brojač unesenih riječi
169.
170. while true
171.     % Unos riječi s tastature
172.     rijec = input('Unesite riječ: ', 's');
173.     rijeci{end + 1} = rijec;
174.     brojac = brojac + 1;
175.
176.     % Provjera da li riječ zadovoljava uvjet
177.     if startsWith(rijec, 'i') && endsWith(rijec, 'd')
178.         % Provjera da li riječ sadrži samo samoglasnike (osim prvog i posljednjeg slova)
179.         sredina = rijec(2:end-1);
180.         if all(ismember(sredina, samoglasnici))
181.             konacnaRijec = upper(rijec);
182.             rijeci{end} = konacnaRijec; % Zamjena originalne riječi sa riječi u velikim slovima
183.             break;
184.         end
185.     end
186. end
187.
188. % Pretvaranje svih riječi u niz s velikim samoglasnicima, osim zadnje riječi
189. for i = 1:length(rijeci) - 1
190.     rijec = rijeci{i};
191.     for j = 1:length(rijec)
192.         if ismember(rijec(j), samoglasnici)
193.             rijec(j) = upper(rijec(j));
194.         end
195.     end
196.     rijeci{i} = rijec;
197. end
198.
199. % Ispis rezultata
200. fprintf('Ukupan broj unesenih riječi: %d\n', brojac);
201. fprintf('Sve unijete riječi sa velikim samoglasnicima osim zadnje:\n');
202. disp(rijeci(1:end-1));
204.
205.
206. clear all
207. clc
208.
209. try
210.     % Unos rečenice s tastature
211.     recenica = input('Unesite rečenicu: ', 's');
212.
213.     % Zamjena zareza i tačaka s praznim mjestima
214.     recenica = regexprep(recenica, '[,\.]', '');
215.
216.     % Razdvajanje riječi i uklanjanje praznih mjesta
217.     rijeci = strsplit(recenica);
218.     rijeci = rijeci(~cellfun('isempty', rijeci));
219.
220.     if isempty(rijeci)
221.         error('Rečenica ne sadrži valjane riječi.');
222.     end
223.
224.     % Pronalaženje najduže riječi
225.     najduzaRijec = '';
226.     for i = 1:length(rijeci)
227.         if length(rijeci{i}) > length(najduzaRijec)
228.             najduzaRijec = rijeci{i};
229.         end
230.     end
231.
232.     % Okretanje najduže riječi
233.     okrenutaRijec = flip(najduzaRijec);
234.
235.     % Zamjena najduže riječi u rečenici s okrenutom riječju
236.     for i = 1:length(rijeci)
237.         if strcmp(rijeci{i}, najduzaRijec)
238.             rijeci{i} = okrenutaRijec;
239.         end
240.     end
241.
242.     % Ispis rezultata
243.     novaRecenica = strjoin(rijeci, ' ');
244.     fprintf('Originalna rečenica: %s\n', recenica);
245.     fprintf('Najduža riječ: %s\n', najduzaRijec);
246.     fprintf('Okrenuta riječ: %s\n', okrenutaRijec);
247.     fprintf('Nova rečenica: %s\n', novaRecenica);
248.
249. catch ME
251.     fprintf('Došlo je do greške: %s\n', ME.message);
252. end
253.
254.
255. % Unos teksta sa tastature
256. tekst = input('Unesite tekst: ', 's');
257.
258. % Pronalazak svih pojavljivanja sloga 'sni'
259. slog = 'sni';
262.
263. % Pronalazak svih pojavljivanja praznih mjesta
264. praznaMjesta = find(tekst == ' ');
265. brojPraznihMjesta = length(praznaMjesta);
266.
267. % Brojanje rečenica
268. recenice = regexp(tekst, '[.!?]', 'split');
269. brojRecenica = length(recenice) - 1;
270.
271. % Brojanje upitnih, uzvičnih i izjavnih rečenica
272. brojUpitnih = length(find(tekst == '?'));
273. brojUzvicnih = length(find(tekst == '!'));
274. brojIzjavnih = length(find(tekst == '.'));
275.
276. % Brojanje riječi u tekstu
277. rijeci = strsplit(tekst);
278. brojRijeci = length(rijeci);
279.
280. % Ispis rezultata
281. fprintf('Broj pojavljivanja sloga ''sni'': %d\n', brojSlogova);
282. fprintf('Indeksi pojavljivanja sloga ''sni'': ');
284.
285. fprintf('Broj praznih mjesta: %d\n', brojPraznihMjesta);
286. fprintf('Indeksi praznih mjesta: ');
287. disp(praznaMjesta);
288.
289. fprintf('Broj rečenica: %d\n', brojRecenica);
290. fprintf('Broj upitnih rečenica: %d\n', brojUpitnih);
291. fprintf('Broj uzvičnih rečenica: %d\n', brojUzvicnih);
292. fprintf('Broj izjavnih rečenica: %d\n', brojIzjavnih);
293. fprintf('Broj riječi u tekstu: %d\n', brojRijeci);
294.
295.
296. clc
297. clear all
298. close all
299.
301. ramp = 0:1/(length(zvuk)-1):1;
302. linearno_pojacanje = zvuk.*ramp';
303. inverzija = zvuk .* (1 - ramp');
304. t = 0:1/fs:1/fs*(length(zvuk)-1);
305. subplot(211)
306. plot(t,zvuk)
307. title('Ulazni zvucni signal');
308. axis([0 2 -1 1])
309. subplot(212)
310. plot(t,linearno_pojacanje)
311. hold on
312. plot(t, inverzija, 'g', 'LineWidth', 2);
313. plot(t, ramp, 'r', 'LineWidth', 2);
314. title('Linearno pojacanje i inverzija signala');
315. xlabel('Vrijeme (s)');
316. ylabel('Amplituda');
317. legend('Linearno pojacanje', 'Inverzija', 'Ramp', 'Location', 'best');
318. axis([0 2 -1 1]);
319.
320.
321.
322. function [ boja ] = komponenta( slika, RGB )
323. boja=slika;
324. vel_u_pikselima = size(slika);
325. sirina=vel_u_pikselima(1);
326. visina=vel_u_pikselima(2);
327. if RGB == 'R'
328. for i=1:1:sirina
329. for j=1:1:visina
330. boja(i,j,2)=0;
331. boja(i,j,3)=0;
332. end
333. end
334. end
335. if RGB == 'G'
336. for i=1:1:sirina
337. for j=1:1:visina
338. boja(i,j,1)=0;
339. boja(i,j,3)=0;
340. end
341. end
342. end
343. if RGB == 'B'
344. for i=1:1:sirina
345. for j=1:1:visina
346. boja(i,j,1)=0;
347. boja(i,j,2)=0;
348. end
349. end
350. end
352. crvena=komponenta(slika,'R');
353. zelena=komponenta(slika,'G');
354. plava=komponenta(slika,'B');
355.
356. figure(1); image(crvena);
357. figure(2); image(zelena);
358. figure(3); image(plava);
359.
360. imwrite(crvena,'Crvena.jpg');
361. imwrite(zelena,'Zelena.jpg');
362. imwrite(plava,'Plava.jpg');
363.
364.
365. t=0:pi/50:2*pi;
366. x=cos(t);
367. y=sin(t);
368. krug=patch(x,y,'y');
369. axis([-2 2 -2 2]);
370.
371. x1=[-0.225 0.225 0];
372. y1=[1.2 1.2 1.5];
373. trokut1=patch(x1,y1,'y');
374.
375. x2=[-0.225 0.225 0];
376. y2=[-1.2 -1.2 -1.5];
377. trokut2=patch(x2,y2,'y');
378.
379. x3=[1.2 1.2 1.5];
380. y3=[0.225 -0.225 0];
381. trokut3=patch(x3,y3,'y');
382.
383. x4=[-1.2 -1.2 -1.5];
384. y4=[0.225 -0.225 0];
385. trokut4=patch(x4,y4,'y');
386.
387. x5=[0.90 1 0.6];
388. y5=[0.65 1.1 1];
389. trokut5=patch(x5,y5,'y');
390.
391. x6=[0.90 1 0.6];
392. y6=[-0.65 -1.1 -1];
393. trokut6=patch(x6,y6,'y');
394.
395. x7=[-0.9 -1 -0.6];
396. y7=[0.65 1.1 1];
397. trokut7=patch(x7,y7,'y');
398.
399. x8=[-0.9 -1 -0.6];
400. y8=[-0.65 -1.1 -1];
401. trokut8=patch(x8,y8,'y');
402.
403. sunce=[krug trokut1 trokut2 trokut3 trokut4 trokut5 trokut6 trokut7 trokut8];
404.
405. for i=1:60
406.     rotate(sunce, [0 0 1], 30, [0 0 0]);
407.    pause(2/60);
408. end
409.
410.
411. x1 = 0;
412. y1 = -0.5:0.001:0.1;
413. x2 = 4;
414. y2 = -0.5:0.001:0;
415. y3 = 0;
416. x3 = 0:0.01:4;
417.
418. plot(x1*ones(size(y1)), y1, x2*ones(size(y2)), y2, x3, y3*ones(size(x3)), 'LineWidth', 4)
419. hold on
420.
421. t = (0:1/720:1)' * 2 * pi;
422. x = 0.1 + 0.1 * sin(t);
423. y = 0.1 + 0.1 * cos(t);
424. h = fill(x, y, 'b');
425. axis([-0.5 4.5 -0.5 2])
426.
427. xr = x;
428. yr = y;
429. a = 0; b = 0; c = 0;
430.
431. % Kretanje lopte s lijeva na desno i obrnuto
432. for i = 1:80
433.     xr = xr + (3.8 / 80);  % Pomicanje po x osi za 3.8 u 80 koraka
434.     a = a + (3.8 / 80);    % Pomicanje centra rotacije
435.     pause(3 / 160)         % Pauza od 3/160 sekundi između koraka
436.     set(h, 'xdata', xr, 'ydata', yr)
437.     rotate(h, [0 0 1], 10, [a b 0])  % Rotacija oko z osi
438. end
439.
440. for i = 1:80
441.     xr = xr - (3.8 / 80);  % Pomicanje u suprotnom smjeru za istu udaljenost
442.     a = a - (3.8 / 80);    % Pomicanje centra rotacije
443.     pause(3 / 160)         % Pauza između koraka
444.     set(h, 'xdata', xr, 'ydata', yr)
445.     rotate(h, [0 0 1], 10, [a b 0])  % Rotacija oko z osi
446. end
447.
448.
449. close all
450. clc
451. x1=[6 8 7 ]
452. y1=[3 3 2]
453. trougao=patch(x1,y1,'r')
454. x11=x1
455. y11=y1
456. axis([3 8 -1 3])
457. for i=1:30
458.     x11=x11-0.1
459.     y11=y11;
460.     set(trougao,'x',x11,'y',y11)
461.     pause(3/30)
462. end
463.
464. a=x11+1
465. b=y11-0.5
466. for i=1:30
467.     x11=x11+0.1
468.     y11=y11-0.1;
469.   set(trougao,'x',x11,'y',y11)
470.     pause(3/30)
471.
472. end
473.
474. for i=1:30
475.          rotate(trougao,[0 0 1],6,[7,-0.5,0])
476.          pause (0.1)
477. end
478.
479. x11=[6 8 7]
480. y11=[-1 -1 0]
481. for i=1:30
482.     x11=x11-0.1
483.     y11=y11;
484.     set(trougao,'x',x11,'y',y11)
485.     pause(2/30)
486. end
487. for i=1:30
488.     x11=x11+0.1
489.     y11=y11+0.1;
490.     set(trougao,'x',x11,'y',y11)
491.     pause(2/30)
492. end
493.
494. for i=1:30
495.       rotate(trougao,[0 0 1],6,[7,2.5,0])
496.       pause (1/30)
497. end
498.
499.
500. clc
501. clear all
502. close all
503. x=[0 10 10 0]
504. y=[0 0 0.8 0.8]
505. patch(x,y,'r')
506. hold on
507.
508. t=(1/12:1/6:1)'*2*pi
509. x1=sin(t)+1
510. y1=cos(t)+2
511. h=fill(x1,y1,'y');
512. axis([-2 12 -12 12])
513. grid on
514. x11=x1;
515. y22=y1;
516. cx=1;
517.
518. for k=1:5
519. for i=1:30
520. zdir=[0 0 1];
521. center=[cx 2 0]
522.
523.     set(h,'x',x11,'y',y22)
524.     rotate(h,zdir,i*30,center)
525.     cx=cx+0.27444;
526.
527.     x11=x11+0.27444;
528.     y22=y22;
529.
530.     pause(0.025)
531. end
532.
533. for j=1:30
534.     zdir=[0 0 1];
535.      cx=cx;
536.      center=[cx 2 0];
537.
538.     set(h,'x',x11,'y',y22)
539.     rotate(h,zdir,j*30,center)
540.       x11=x11-0.27444;
541.     y22=y22;
542.     cx=cx-0.27444;
543.     pause(0.025)
544. end
545. end
546.
547.
548.
549.
550.