How to customize the step of round function?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a matrix of an increasing array of numbers, and I want to round this to the steps given in another matrix.
if true
T=54.3115;
Az=(0:89)/T; %array of numbers which I want to be rounded
A = [0:5:45 55 65 80]; %matrix giving the integer to which the number from Az must be rounded to
for ii=1:length(A)-1,
k=max(find(Az-(A(ii)+A(ii+1))/2)<0);
Az(1:k)=A(ii);
end;
end
What is the error I'm doing here?
2 commentaires
Jan
le 14 Juin 2018
You forgot to mention, how the result differs from your expectations. This makes it harder to guess, what the "error" might be.
Réponse acceptée
Jan
le 14 Juin 2018
Do you want this:
T = 54.3115;
Az = (0:89)/T; %array of numbers which I want to be rounded
A = [0:5:45 55 65 80];
for k = 1:length(Az)
Az(k) = A(find(A > Az(k), 1));
end
See discretize also and maybe the 2nd output of histcounts to do this more efficiently.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!