numbers_to_extract_normal=[278,199,241,235,35,77,82,164,239,170];
numbers_to_extract_diagnosed = [139,137,136,135,133,140,141,116,157,188];
normal = 0;
diagnosed =0 ;
digits_normal = numel(num2str(numbers_to_extract_normal(i)));
Error: Array indices must be positive integers or logical values.
please help me

回答 (2 件)

Jan
Jan 2021 年 6 月 29 日

1 投票

The variable i is not defined. If you omit it, num2str() replies a cell array and numel does not work directly. With cellfun():
digits_normal = cellfun('length', num2str(numbers_to_extract_normal));
Converting the numbers to char vectors only to count the number of digits is not efficient. Smarter:
digits_normal = floor(log10(numbers_to_extract_normal)) + 1;
DGM
DGM 2021 年 6 月 29 日
編集済み: DGM 2021 年 6 月 29 日

0 投票

Your index i isn't valid because it's a complex number.
i = sqrt(-1);
This is a good example of why you shouldn't be using i or j as iterators or indices.
This should also be a lesson in actually defining your variables before you use them.

カテゴリ

ヘルプ センター および File ExchangeData Types についてさらに検索

タグ

質問済み:

2021 年 6 月 29 日

コメント済み:

2021 年 6 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by