Problem with double use of a for loop?
显示 更早的评论
I have a problem aith a code. I have 2 matrices , A and B. Matrix A has 3x3 dimensions, while matrix B has 1x3 dimensions. I would like to minus (remove with "-"), the (1,1) number of B from each one number (each line) of the 1st column of A matrix.
After that, I I would like to minus (remove with "-"), the (1,2) number of B from each one number (each line) of the 2nd column of A matrix.
Last, I would like to minus (remove with "-"), the (1,3) number of B from each one number (each line) of the 3rd column of A matrix.
I tried these commands:
ndata=size(A,1)
[rows columns] = size(B);
for jj=1:size(A,1);
for zz=(columns);
MINUS(jj)=(A(:,jj))- B(1,zz);
end
end
but no use. Could you please help me?
5 个评论
Stephen23
2022-11-13
M = A-B % why do you need to use nested loops?
Ivan Mich
2022-11-13
"Because I want to have a result of 3x3 matrix and I think that loop is neccessary for my purpose"
It works for me without loops, using arrays of the sizes that you gave in your question:
A = randi(9,3,3)
B = randi(9,1,3)
C = A-B
It is unclear what you expect to gain using nested FOR loops.
Steven Lord
2022-11-14
One potential reason to use a for loop would be if the poster is using an older release of MATLAB, one that predates the introduction of implicit expansion. Another is if this is a homework assignment and the professor or teacher that assigned the work forbade the students from using implicit expansion.
Stephen23
2022-11-14
"One potential reason to use a for loop would be if the poster is using an older release of MATLAB, one that predates the introduction of implicit expansion"
回答(1 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!