Matrix indexing problem, column-major

Trying to take an input vector or matrix and form new 2x2 matrix from the row,column index for each element of the input vector/matrix where the element is less than the product of the element's row and column, with output in column-major order. Example: Input [1 1;0 4;6 5] would output [2 1; 1 2;3 2].
My code:
function [A] = small_elements(X)
A = [];
[r,c] = size(X);
for xc = 1:c
for xr = 1:r
if X < (xr*xc)
A = [A;[xr;xc]];
end
end
end
end
I was formerly getting a lot of syntax errors. My output has consistently been the empty set. Trying to see why xr;xc is not entering into A.

 采纳的回答

if X(xr,xc) < (xr*xc) % <-- changed X to X(xr,xc)
A = [A;[xr,xc]]; % <-- changed [xr;xc] to [xr,xc]
end

1 个评论

Thanks James. I was having significant trouble figuring out the syntax for indexing into a matrix. You are a huge help.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by