Natrag   Forum.hr > Informatička tehnologija > Za napredne korisnike > Programiranje

Programiranje Za programere i one koji to žele postati ...

Odgovor
 
Tematski alati Opcije prikaza
Old 25.01.2012., 11:56   #41
Quote:
nidzo1981 kaže: Pogledaj post
Pogledaj funkciju print.
Na primjer, za generiranje jpeg slike kvalitete 90% u trenutnom direktoriju:
Kod:
print(fig, '-djpeg90', 'slika.jpg')
Pri tome je fig handle za graf iz kojeg stvaraš sliku. Možeš ga dobiti prilikom otvaranja novog grafa na sljedeći način:
Kod:
fig = figure;
e, jos samo jedna stvar... ako ispisujem u petlji puno grafova. kako cu ga natirat da slike koje sprema nazove po brojevima?

konkretno, imam petlju koja ide 1:95, te za određene uvjete, nacrta graf (izađe ih oko 30).

ako stavim
Kod:
for i:1:95

    if blabla

        figure
        plot(blabla)
        print(fig, '-djpeg90', 'slika_i.jpg')

     end

end
onda opet spremi samo zadnju sliku i nazove je slika_i
crazyGauss is offline  
Odgovori s citatom
Old 26.01.2012., 08:07   #42
Quote:
kako cu ga natirat da slike koje sprema nazove po brojevima?
Unutar petlje moraš generirati string koji sadrži naziv slike. Postoji više načina, a jedan od njih je korištenjem funkcije sprintf():

Kod:
print(fig, '-djpeg90', sprintf('slika_%d.jpg', i))

Quote:
kako mogu plotat log-log ali ne sa bazom 10? f-ja loglog plota uvijek sa bazom 10, a ne mogu naci pod help da moze i neku drugu bazu...
Koliko je meni poznato, ne postoji gotova funkcija za prikaz grafa u logaritamskom mjerilu po nekoj drugoj bazi. Ovakvi zahtjevi mogu se riješiti na sljedeći način:
1. željena varijabla logaritmira se po traženoj bazi
2. u grafu se iscrtava logaritmirana vrijednost varijable
3. brišu se oznake na koordinatnim osima koje je Matlab automatski dodijelio prilikom iscrtavanja
4. ispisuju se nove oznake na koordinatnim osima

Primjer - crtanje grafa funkcije y=3^x u logaritamskom mjerilu po bazi 3:

1. Definiramo potrebne varijable:
Kod:
x=1:10;
y=3.^x;
2. Koristeći svojstvo da je log_b(a) = log(a) / log(b) iscrtavamo graf u logaritamskom mjerilu:
Kod:
plot(x, log(y)/log(3))
3. Brišemo oznake osi koje je postavio Matlab:
Kod:
set(gca, 'YTickLabel', [])
4. Dodajemo nove oznake osi:
Kod:
yt = get(gca, 'YTick');
xl = get(gca, 'XLim');
str = cellstr(num2str(yt(:), '3^{%0d }'));
text(xl(ones(size(yt))), yt, str, 'Interpreter', 'tex', 'HorizontalAlignment', 'right')

Zadnje uređivanje nidzo1981 : 26.01.2012. at 08:13.
nidzo1981 is offline  
Odgovori s citatom
Old 26.01.2012., 20:39   #43
Da ne otvaram novu temu, samo me zanima kad ide točka ispred množenja, dijeljenja itd.?
Nadam se da može neko u dvi rečenice objasnit..

Ne ide mi u glavu to nikako, jel ima pravilo neko?
Nekad je 3X, nekad 3*X, a nekad 3.*X...

BTW totalni sam početnik, gugl ne nalazi odgovor niti ga igdje mogu naći..
Darkbound is offline  
Odgovori s citatom
Old 03.02.2012., 00:10   #44
jel mi moze netko ovo rjesit

1. treba zadati 2 funkcije
2. nacrtat obje funkcije na istom grafu, dodati mrezu
3. naci presjecista tih funkcija (kao da ih se zbroji i preko fzero nadje)
4. naci povrsinu izmedju te 2 funkcije (kao da se izracuna povrsina
ispod jedne funkcije, povrsina ispod druge i onda se to oduzme)
S@ber is offline  
Odgovori s citatom
Old 04.02.2012., 21:34   #45
Quote:
Darkbound kaže: Pogledaj post
Da ne otvaram novu temu, samo me zanima kad ide točka ispred množenja, dijeljenja itd.?
Nadam se da može neko u dvi rečenice objasnit..

Ne ide mi u glavu to nikako, jel ima pravilo neko?
Nekad je 3X, nekad 3*X, a nekad 3.*X...

BTW totalni sam početnik, gugl ne nalazi odgovor niti ga igdje mogu naći..
tocka ti oznacava jeli operacija s matricama ili sa brojevima.
npr.
imas

1 2 3
4 5 6=a
7 8 9

i

20 21 22
23 24 25=b
26 27 28

dakle

1*20 ...
2*23 ... =a*b je umnozak matrica, a
3*26 ...

1*20 ...
4*23 ... =a.*b je umnozak odgovarajucih clanova
7*26 ...

kuzis?

isto tako a^2 je matrica na kvadrat, a a.^2 je kvadrat svakog clana matrice a.

naravno kod zbrajanja i mnozenja matrice skalarom ti je svejedno oce li bit
a.+b ili a+b, tj. 3*a ili 3.*a jer je to ionako to

glhf

edit:morao sam napisati naopako jer mi forum pobrka kad se stavi puno razmaka, pa se sve pomijesa. nadam se da je jasno

Zadnje uređivanje crazyGauss : 04.02.2012. at 21:40.
crazyGauss is offline  
Odgovori s citatom
Old 04.02.2012., 21:44   #46
Hvala kolega!
Darkbound is offline  
Odgovori s citatom
Old 17.09.2012., 14:37   #47
Znači radim sa Matlabom 6.5.
U polje A smješteno je cca. 64000 uzoraka govornog signala, a u polje B 64000 uzoraka white noise-a. Zadatak je kombinirati ta dva polja pomoću bitwise XOR-a kako bi nastao treći signal. E tu dolazimo do problema jer u ova dva polja se nalaze i negativne vrijednosti s kojima bitxor funkcija ne radi... koliko vidim u novijim verzijama matlaba to je riješeno dodavanjem novoga argumenta unutar bitxor funkcije, no ja ga u svojoj verziji matlaba nemam. Svaka ideja je dobrodošla...
__________________
Razbijte mi dobre i pametne

Zadnje uređivanje ZeroOne : 17.09.2012. at 14:57.
ZeroOne is offline  
Odgovori s citatom
Old 17.09.2012., 15:19   #48
XOR absolutnih vrijednosti?
Refulgent_Splendour is offline  
Odgovori s citatom
Old 17.09.2012., 18:12   #49
Quote:
Refulgent_Splendour kaže: Pogledaj post
XOR absolutnih vrijednosti?
Fora je u tome da ako uzmem apsolutne vrijednosti signala izgubiti ću informaciju pohranjenu u njemu tako da ta mogućnost otpada.
__________________
Razbijte mi dobre i pametne
ZeroOne is offline  
Odgovori s citatom
Old 18.09.2012., 10:36   #50
Quote:
ZeroOne kaže: Pogledaj post
Fora je u tome da ako uzmem apsolutne vrijednosti signala izgubiti ću informaciju pohranjenu u njemu tako da ta mogućnost otpada.
Mislio sam na to da apsolutne vrijednosti koristiš samo za vrijednost XOR-a, a sign te dobivene vrijednosti izračunaš iz signova samih početnih brojeva.

Tj, ako je input recimo 5 i -6, rezultat je sign(5)*sign(-6)*bitxor(abs(5), abs(-6)).
Refulgent_Splendour is offline  
Odgovori s citatom
Old 18.09.2012., 18:58   #51
Thumbs up

Quote:
Refulgent_Splendour kaže: Pogledaj post
Mislio sam na to da apsolutne vrijednosti koristiš samo za vrijednost XOR-a, a sign te dobivene vrijednosti izračunaš iz signova samih početnih brojeva.

Tj, ako je input recimo 5 i -6, rezultat je sign(5)*sign(-6)*bitxor(abs(5), abs(-6)).
Svaka čast majstore.
Za sign funkciju nisam ni znao da postoji...
Puno hvala!!!
__________________
Razbijte mi dobre i pametne
ZeroOne is offline  
Odgovori s citatom
Old 18.09.2012., 22:53   #52
Nema frke. To mi je usput i prvi Matlab program koji sam napisao u životu
Refulgent_Splendour is offline  
Odgovori s citatom
Old 22.10.2012., 18:39   #53
Da li ima netko iskustava sa trial verzijom najnovijeg matlaba (r2012b)? Zanima me da li program nakon isteka 30 dana još uvijek omogućava izračune,pokretanje npr. primjera ili prilikom pokretanja zahtijeva kupovinu i aktivaciju?
__________________
Razbijte mi dobre i pametne
ZeroOne is offline  
Odgovori s citatom
Old 25.10.2012., 20:54   #54
Pozdrav svima .
Eh nerado volim ljude gnjaviti s ovakvim stvarima al za frendicu je koja ovo uskoro treba predati, a ja nisam baš stručnjak za Matlab da bi joj mogao pomoči. Pa ako bi neka dobra duša pomogla u vezi ovoga imao/la bi moju veliku zahvalnost .

Zadatak 1.)

Izradite program za izračunavanje n!. Koristite postavku input za učitavanje n. Tiskajte n i n!. Rezultate prikažite po obrascu prikazanom u zadatku.
Zadano: n = 2; 4; 6
n = n! =

Rješenje treba sadržavati:
1. Zadatak
2. Prikaz toka računanja
3. Program u MATLAB-u
4. Numeričke (grafičke) rezultate

Zadatak 2.) Pronađi grešku

Izradite program za izračunavanje umnoška:
Pxxxiiiin

211sin
za prvih n prirodnih brojeva. Rezultate prikažite po obrascu prikazanom u zadatku.
1. Računanje n = P = 2. Računanje n = P =
Račun provedite tri puta za različite n, s jednim startanjem programa.

clc
clear all
for j=1:3
n(j)=input('Upisite vrijednost n za izracunavanje umnoska, n= ');
fprintf('\n')
p(j)=1;
for i=1:n(j)
x(i)=input('');
p(j)=p(j)*((x(i)^2)/(1+x(i)+sin(x(i))));
end
end
fprintf('\n')
fprintf('Rezultat umnoska:')
fprintf('\n')
for j=1:3
fprintf('\n')
fprintf('%g.Racunanje',n(j))
fprintf('\n')
fprintf('%g.Racunanje',p(j))
fprintf('\n')
end
Nick7 is offline  
Odgovori s citatom
Odgovor



Kreni na podforum




Sva vremena su GMT +2. Trenutno vrijeme je: 05:50.