Pages: [1]   Go Down
Print
Author Topic: ricorsione in matlab  (Read 1363 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
rox
Forumista
***
Offline Offline

Posts: 633


« on: 07-11-2009, 11:03:36 »

Salve ragazzi,come da topic mi chiedevo se fosse possibile effettuare la ricorsione in matlab.Io ho provato a fare la funzione log*(in cui la base del logaritmo è 2)ma mi segnala un errore.Posto di seguito il codice.
Code:
function [x]=log2star(n,c)
if (n==2)
    x=c;
end
return log2star(floor(log2(n)),++c);
end
vi ringrazio per le eventuali risposte.
Logged

Una macchina è in grado di lavorare come cinquanta uomini comuni, ma nessuna macchina può svolgere il lavoro di un uomo straordinario.
maucel89
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 168


Non fare tu quello che può fare una macchina!!


« Reply #1 on: 07-11-2009, 17:00:55 »

No perche devi sempre assegnare valori ad x!
guarda ti faccio l'esempio della funzione potenza:
Code:
%Calcolare la potenza di un numero
function p= potenza(b, e)
if e==0
    p=1;
else
    p=b*potenza(b,e-1);
end
Spero di esserti stato d'aiuto! 
« Last Edit: 07-11-2009, 17:08:55 by maucel89 » Logged

maucel89
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 168


Non fare tu quello che può fare una macchina!!


« Reply #2 on: 07-11-2009, 17:07:04 »

Ad esempio per la tua funzione sarebbe stato:
Code:
function [x]=log2star(n,c)
if (n==2)
    x=c;
else
    x=log2star(floor(log2(n)),++c);
end
Logged

rox
Forumista
***
Offline Offline

Posts: 633


« Reply #3 on: 07-11-2009, 19:04:24 »

maucel per riguarda la funzione potenza funziona,ma la funzione log* non funziona!!
Logged

Una macchina è in grado di lavorare come cinquanta uomini comuni, ma nessuna macchina può svolgere il lavoro di un uomo straordinario.
Pages: [1]   Go Up
Print
Jump to: