How to customize the step of round function?

5 ビュー (過去 30 日間)
Amit Singh
Amit Singh 2018 年 6 月 14 日
コメント済み: Amit Singh 2018 年 6 月 15 日
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
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.
Amit Singh
Amit Singh 2018 年 6 月 15 日
I eventually figured it out. I only realized it later I failed to describe the true nature of my problem.

サインインしてコメントする。

採用された回答

Jan
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 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by