Implemetare su matlab

michele.nicolo2003
Salve ragazzi...mi sapreste dire come si implementa su matlab una funzione di questo tipo?

S1 (A,B)= 1/N Sommatoria i=1 a n di min μA - μB / max μA - μB

è urgente grazie

Risposte
apatriarca
Non sono sicuro di aver capito la formula che hai scritto. Questo forum permette di inserire formule usando latex, sarebbe utile se riscrivessi la formula usando questa funzionalità. La formula è la seguente?
\[ S_1(A, B) = \frac{1}{N} \sum_{i=1}^{n} \frac{ \min (\mu_A - \mu_B) }{ \max (\mu_A - \mu_B) } \]
Se è questa ho alcune domande:
1. Cosa sono \(A\) e \(B\)? Matrici? Cosa sono \(\mu_A\) e \(\mu_B\)? In che modo questi valori cambiano con il variare di \(n\)?

michele.nicolo2003
si la formula è quella...guarda se non sbaglio sono set fuzzy....ed n dovrebbe essere il numero degli elementi contenuti in questi set fuzzy A e B

michele.nicolo2003
μA e μB mi dice che sono i valori di appartenenza degli elementi nei set fuzzy A e B...non è la mia materia quindi spero sia questo il senso....
μA= μA(xi) e μB= μB(xi)

michele.nicolo2003
niente nessuno mi aiuta?

apatriarca
Il problema è che non mi è molto chiara la formula e quindi mi viene difficile convertirla in matlab. Per esempio, su cosa stai calcolando il massimo e minimo. Se dentro il tuo array hai \( \mu_A(x_i) - \mu_B(x_i) \) come sembra, allora stai calcolando il minimo di un singolo valore reale.. Non ne capisco il senso..

michele.nicolo2003
ti mando in privato tutto il documento da dove ci sono le formule da implementare su matlab e vediamo se ne capisci di più tu...

apatriarca
Sono convinto che nella formula sull'articolo il meno fosse un refuso e che la formula reale dovrebbe essere:
\[ S_1(A, B) = \frac{1}{N} \sum_{i=1}^{n} \frac{ \min (\mu_A, \mu_B) }{ \max (\mu_A, \mu_B) }. \]
La formula pubblicata non ha in effetti molto senso come ho spiegato nel mio precedente intervento e guardando le altre formule dell'articolo direi che questa versione abbia più senso.
Venendo ora all'implementazione. Non c'è differenza tra l'insieme fuzzy e i valori di appartenenza. Sono infatti entrambe rappresentati da vettori n-dimensionali di valori in [0,1]. Dati quindi questi due vettori A e B, puoi calcolare S_1 come segue:
S1 = mean( min(A, B) ./ max(A, B)  );

michele.nicolo2003
saresti cosi gentile di mandarmi l'implementazione delle altre formule? anche sulla mia mail è lo stesso...grazie tante...

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.