Plot 10 times and take the average
Afficher commentaires plus anciens
Hello,
users = [10 20 30 40 50];
rates = [];
for i = 1 : length(users)
rates = [rates Function(users(i))];
end
figure(3)
plot(users,rates)
I have this code that calls another function 'Function' This function calculates the rates that i want to plot, but what i want to do is that for 10 users i want to plot the rates for 10 times and take the average and plot, the same goes with the 20, 30, 40 and 50 users. I want to plot every element in the array 'users' versus 'rates' which is calculated in another function 10 times and take the average of every 10 times and put the result of the 5 elements in a plot. Can anyone help?
Thank you :)
Réponses (1)
Jos (10584)
le 24 Mar 2016
users = [10 20 30 40 50];
N = numel(users) ;
rates = zeros(1,N) ; % pre_allocation
for i = 1 : N
tempV = MyFunction(users(i)) ; % assuming V is vector of 10 elements?
rates(i) = mean(tempV)
end
plot(users,rates,'bo')
4 commentaires
N.
le 24 Mar 2016
N.
le 24 Mar 2016
Jos (10584)
le 24 Mar 2016
Does MyFunction(x) return a single number or a vector of 10 numbers?
Jos (10584)
le 24 Mar 2016
You can create an inner loop:
for i = ...
tempV = zeros(1,10) ;
for k = 1:10
tempV(k) = MyFunction(users(i))
end
rates(i) = mean(tempV)
end
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!