Multiplication of vectors in for loops

4 vues (au cours des 30 derniers jours)
Jade T
Jade T le 15 Fév 2023
Modifié(e) : Voss le 1 Mar 2023
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

Réponse acceptée

Voss
Voss le 15 Fév 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);
-100.0000 -99.3458 -99.2931 -100.0000 -99.8789 -99.8691 -100.0000 -99.8605 -99.8493 -100.0000 -99.3679 -99.3170 -100.0000 -99.9411 -99.9364 -100.0000 -99.2905 -99.2334 -100.0000 -99.9297 -99.9240 -100.0000 -99.3072 -99.2513 -100.0000 -99.3274 -99.2732
  2 commentaires
Jade T
Jade T le 15 Fév 2023
Excellent, I actually can understand what you did here, and you caught that the center needed to be specified outside the loop. Much appreciated
Voss
Voss le 15 Fév 2023
Modifié(e) : Voss le 1 Mar 2023
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 15 Fév 2023
Modifié(e) : Sulaymon Eshkabilov le 15 Fév 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
Tdims = 3×3
-97.5000 -96.0000 -97.5000 -90.3397 -98.1340 -96.4019 -90.0000 -90.0000 -91.0000

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by