Code works in matlab command window, doesn't work in app designer code view

Hi all,
I have a Datamatrix A with size 393x171
from this I make a new matrix B with certain columns from matrix A.
B=A(:,2:5:68); size 393x14
and then from it only the maximum values in one column
B=max(B,[],2); size 393x1
If I write these codes in matlab command window, it works very well and no error.
If I write same codes in app designer code view, it doesn't work and give below errors.
B=A(:,2:5:68); --> Index in position 2 exceeds array bounds (must not exceed 1).
B=max(B,[],2); -->Error using max, Invalid data type. First argument must be numeric or logical.
Thank you in advance for your support.
Mustafa

6 comentarios

It seems to me that the problem isn't with these lines, but the fact that A doesn't have the expected size. You'll need to verify that (check size(A) before that first line) and then try to find out why it's happening. If you can produce a working example of the error, you can attach relevant files or code excerpts.
You are overwiting B. Could that be the issue?
While you debug, use a new variable
C=max(B,[],2);
@DGM: I have checked the size of Matrix A firtsly and then it has worked. Thank you for your solution.
@Abdul Basith Ashraf: I have already tried your suggestion, I have seen no impact.
Still exists below error message:
B=max(B,[],2); -->Error using max, Invalid data type. First argument must be numeric or logical.
Hi,
I also solved the second issue, in order to write before code
B=A(:,2:5:68);
B=struct2array(B);
B=max(B,[],2);
Thanks for your support
Mustafa
The readers cannot guess that "Datamatrix A with size 393x171" means a struct array.
Hi Jan,
you have right, sorry for that, but I didn't know first;-)
Thank you anyway.

Iniciar sesión para comentar.

Respuestas (0)

Productos

Versión

R2019b

Preguntada:

el 7 de Abr. de 2021

Comentada:

el 8 de Abr. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by