Array Cascade Addition calculation

7 Ansichten (letzte 30 Tage)
Andrew Tubbs
Andrew Tubbs am 22 Jan. 2021
Kommentiert: Steven Lord am 23 Jan. 2021
I have several arrays and what I need to do is create a loop that calculates the values of the adition of each value of an array with each value of another array as show below:
Array:
A = [A1 A2 A3] B = [B1 B2 B3] C = [C1 C2 C3]
Needed Values:
D = A1+B1+C1 E = A1+B1+C2 F = A1+B1+C3 G = A1+B2+C1 H = A1+B2+C2 I = A1+B2+C3 .... and so on
On a side note, what is the MATLAB notation for a specific value of an array such as A(1) = A1

Akzeptierte Antwort

James Tursa
James Tursa am 22 Jan. 2021
Bearbeitet: James Tursa am 22 Jan. 2021
One way using implicit array expansion:
D = A(:) + reshape(B,1,[]) + reshape(C,1,1,[]);
Your results are the elements of D.
I'm not sure what you are asking about A(1) vs A1. A(1) is the MATLAB notation for the 1st element of variable A. A1 would be the name of a different variable ... it has no relationship to variable A.
  2 Kommentare
Andrew Tubbs
Andrew Tubbs am 23 Jan. 2021
What I get with this is jumbles of information, where only the first value is correct. To be more specific each value of each array is an 11 value array itself and I need a loop that automatically that spits out the summation array.
Steven Lord
Steven Lord am 23 Jan. 2021
A = [1 2 4];
B = [8 16 32];
C = [64 128 256];
D = reshape(A, 3, 1) + reshape(B, 1, 3) + reshape(C, 1, 1, 3)
D =
D(:,:,1) = 73 81 97 74 82 98 76 84 100 D(:,:,2) = 137 145 161 138 146 162 140 148 164 D(:,:,3) = 265 273 289 266 274 290 268 276 292
[A(2)+B(3)+C(1), D(2, 3, 1)]
ans = 1×2
98 98

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by