close all clear all clc load('dati_es4') who % soluzione #1 - uso funzione esterna mediapesata for i = 1:size(X,1) % estraggo una riga x = X(i,:); % calcolo la media pesata y(i) = mediapesata(x,w); end disp('sol 1) il vettore delle medie pesate è:') disp(y) % soluzione #2 - uso funzione inline mediapesata mediapesata2 = @(x,w) sum(x.*w)/sum(w); for i = 1:size(X,1) % calcolo la media pesata sulla riga i-esima y(i) = mediapesata2(X(i,:),w); end disp('sol 2) il vettore delle medie pesate è:') disp(y) % soluzione #3 - sfrutto il calcolo matriciale (efficientissimo!) y = (X*w')/sum(w); disp('sol 3) il vettore delle medie pesate è:') disp(y)