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 个评论

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.

请先登录,再进行评论。

回答(0 个)

类别

产品

版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by