How to add a value to a row vector x number of times in a loop to get an array of iterations

1 view (last 30 days)
Hi,
I am trying to add a value to a row vector a set number of times but keep the first iteration and move it to the next row, I've been trying to use a for loop but I cannot get it to work correctly. Here is an example,
%
A = [-100 -200 -150 -50]
B = [10 20 15 5]
I want the resulting array C to look like
%
C = [-100 -200 -150 -50
-90 -180 -135 -45
-80 -160 -120 -40]
I've been trying to use the following code
%
for i = 1:4
for j = 1:3
C(i,j) = A(i,j) - B(i,j);
end
end
If anyone has any advice that'd be great.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 13 Apr 2016
A = [-100 -200 -150 -50]
B = [10 20 15 5]
r=bsxfun(@times,B,(0:2)')
out=bsxfun(@plus,r,A)

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!