array counting in not happening

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

Risposte (2)

Jan
Jan il 29 Giu 2021
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 il 29 Giu 2021
Modificato: DGM il 29 Giu 2021
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.

Categorie

Richiesto:

il 29 Giu 2021

Commentato:

il 29 Giu 2021

Community Treasure Hunt

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

Start Hunting!

Translated by