How to customize the step of round function?
5 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Jan
2018 年 6 月 14 日
You forgot to mention, how the result differs from your expectations. This makes it harder to guess, what the "error" might be.
採用された回答
Jan
2018 年 6 月 14 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!