Can anyone please tell me how to reduce this size?
You already use vectorized assignment. Carry that further and get rid of the for loop.
The functions sum() and prod() can reduce row-wise to bring out NaN values. Thus, this express produces logicals for whether each row is in or out...
~isnan(prod(A,2))
Test | Status | Code Input and Output |
---|---|---|
1 | Pass |
%%
A = [ 1 5 8
-3 NaN 14
0 6 NaN ];
B_correct = [ 1 5 8 ];
assert(isequal(remove_nan_rows(A),B_correct))
|
2 | Pass |
%%
A = 1:10;
B_correct = A;
assert(isequal(remove_nan_rows(A),B_correct))
|
3 | Pass |
%%
A = [ 1 5 8
-3 NaN 14
0 6 6];
B_correct = [1 5 8; 0 6 6];
assert(isequal(remove_nan_rows(A),B_correct))
|
4 | Pass |
%%
A = [ 1 3 6 NaN 3 NaN]';
B_correct = [1 3 6 3]';
assert(isequal(remove_nan_rows(A),B_correct))
|
5 | Pass |
%%
A = [ 1 3 6 NaN;
3 4 2 1];
B_correct = [3 4 2 1];
assert(isequal(remove_nan_rows(A),B_correct))
|
Remove the polynomials that have positive real elements of their roots.
448 Solvers
14994 Solvers
Back to basics 13 - Input variables
203 Solvers
277 Solvers
296 Solvers