Multiplication of vectors in for loops
7 views (last 30 days)
Show older comments
Hi all,
I am wondering how to make this for loop work. Each radius value results in a vector product containing 3 numbers. I wanted those three numbers to occupy each row ( so that each row is a new vector from each radius multiplication ).
radius = [3,3] % contains 9 different values
Tdims= zeros(9,3)
for i = 1: length(radius)
for j= radius
Tdims(j,i)= sin (anglesRad) .* radius (j) + ycenter - 100 % each vector product is its own row
end
end
0 Comments
Accepted Answer
Voss
on 15 Feb 2023
Possibly this:
radius = rand(3,3); % contains 9 different values
ycenter = 0;
anglesRad = [0 1 2]; % I guess this is a 1-by-3 vector based on your description
nr = numel(radius);
na = numel(anglesRad);
Tdims = zeros(nr,na);
for i = 1:nr
Tdims(i,:) = sin(anglesRad) .* radius(i) + ycenter - 100; % each vector product is its own row
end
disp(Tdims);
2 Comments
More Answers (1)
Sulaymon Eshkabilov
on 15 Feb 2023
Edited: Sulaymon Eshkabilov
on 15 Feb 2023
If understood your question correctly, this is how you can get it done:
radius = randi(10, 3, 3); % contains 9 different values
ycenter = 1;
anglesRad = deg2rad([30, 60 90]);
Tdims= zeros(size(radius));
for ii = 1:size(radius,1)
for jj= 1:size(radius,2)
Tdims(ii,jj)= sin(anglesRad(ii))* radius (ii,jj) + ycenter - 100; % each vector product is its own row
end
end
Tdims
0 Comments
See Also
Categories
Find more on Matrix Indexing 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!