Discussione: Trovare il massimo...
View Single Post
Old 21-05-2005, 19:51   #6
Blackat
Senior Member
 
L'Avatar di Blackat
 
Iscritto dal: Oct 2004
Città: Acireale
Messaggi: 447
Quote:
Attualmente l'ho implementato in modo brutale, cioè con un ciclo for da 0 a 255 che mi calcola ogni volta il valore della funzione e che controlla se ho trovato un nuovo massimo.
Lombardp io ho capito che lui ha una funzione f, fa un ciclo da 0 a 255
e ogni volta calcola il valore di f applicato all'indice del ciclo.

Volevo rispondere a 71104 dicendo che dipende da che calcolo deve
fare la funzione f.

Ricorda che il motore di matlab lavora con gli array e le matrici e che
quindi i cicli for risultano molto lenti.

Per utilizzare le operazioni come moltiplicazione e divisione
tra matrici o array devi utilizzare il punto prima dell'operatore.
Se devi fare, ad esempio, la somma tra due array dovresti scrivere:

> [ 1 2 3 ] + [ 4 5 6 ]
[5 7 9]

> [1 2 3] .* [ 4 5 6 ]
[4 10 18]

le funzioni in matlab si definiscono come
function [r1,r2,...,rn] = f(p1,p2,...pn)
.....
.....

....

dove r1,r2, ..., rn sono i valori di ritorno e p1,p2,pn sono i
parametri in input.
La funzione deve essere salvata in un unico file che si chiama
con lo stesso nome della funzione e con estensione ".m" .

Esempio ( somma.m )

function r = somma(a,b)
r = a + b
__________________
Ho concluso acquisti e/o vendite con : SHIVA>>LuR<<, TheGaiden, ArvMau
Blackat è offline   Rispondi citando il messaggio o parte di esso