Array multiplication returning single value
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Greetings,
I want AResult to be a 1x7 array but it keeps returning me a 1x1 value. I split the calculations on different variables (A1,A2,A3 Temp) so I can see it more cleary. I even tried the math on a calculator and the result was what I expected, an 7x1 array.
What am I missing?
Thanks!
EDIT: Well I am dumb, I read the equation wrong so the result was bound to be wrong. I identified my mistake and it was easy to fix.
XData = xlsread('MCP.xlsx');
X1 = XData(:,4)
X2 = XData(:,5)
X3 = XData(:,6)
X4 = XData(:,7)
X5 = XData(:,8)
X6 = XData(:,9)
Perq = XData(:,10) %Every X and the Perq variable are 209x9 arrays
Specs = [X1, X2, X3, X4, X5, X6];
Specs(:,7) = ones(length(XData),1) %Irrelevant but I add a column of 1s at the end of Specs
A1Temp = transpose(Specs'*Perq)
A2Temp = Specs'
A3Temp = A1Temp * A2Temp
AResult = A3Temp * Perq
Risposte (2)
Torsten
il 10 Apr 2022
Specs ~ n x 7
A1Temp ~ 1 x 7
A2Temp ~ 7 x n
A3Temp ~ 1 x n
AResult ~ 1 x 1
2 Commenti
Torsten
il 10 Apr 2022
Modificato: Torsten
il 10 Apr 2022
I can now arbitrarily manipulate your arrays for that you get a 7x1 result, but I think it should also make sense in the context.
Don't think about how you get AResult as 7x1 - think about what AResult represents in connection to the other arrays.
Bruno Luong
il 10 Apr 2022
"What am I missing?"
Use elementwise multiplication ".*" and not matrix multiplication "*" (remove the double quote).
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrices and Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!