multiplying a matrix
Ältere Kommentare anzeigen
i have a matrix
A=[3 5 7
5 6 0
5 9 4]
i want to square each element and add along row wise and display
for ex
3^2+5^2+7^2
ans is 89
so i need as
89
71
122
pleas guide
15 Kommentare
Chandra Kurniawan
am 10 Jan. 2012
3^2+5^2+7^2 = 83, right?
5^2+6^2+0^2 = 61, right?
FIR
am 10 Jan. 2012
FIR
am 10 Jan. 2012
Chandra Kurniawan
am 10 Jan. 2012
what size of q?
FIR
am 10 Jan. 2012
Andrei Bobrov
am 10 Jan. 2012
sum(q(:,1:20).^2)
Walter Roberson
am 10 Jan. 2012
You require summing terms that are individually q^2ir . You cannot raise a matrix (e.g., q is 2 x 99) to a vector power (e.g., r is 1:20)
Walter Roberson
am 10 Jan. 2012
andrei, notice that both i and r also occur in the exponent.
Chandra Kurniawan
am 10 Jan. 2012
q = rand(2,20);
r = 1 : 20;
n = 2;
for i = 1 : n
rsl{i} = q(i,:).^2 .* i .* r;
end
Is this, right?
Andrei Bobrov
am 10 Jan. 2012
so?
i1 = 1:2;
r = 1:20;
out = sum(q.^(2*i1.'*r))
FIR
am 10 Jan. 2012
Chandra Kurniawan
am 10 Jan. 2012
Okay. Glad to help you.
Walter Roberson
am 10 Jan. 2012
andrei, you cannot raise a matrix to a vector. You can raise a matrix to a scalar or a scalar to a matrix.
FIR
am 10 Jan. 2012
Andrei Bobrov
am 10 Jan. 2012
i1 = 1:2;
r = 1:20;
out = sum(q.^2.*(i1.'*r))
Akzeptierte Antwort
Weitere Antworten (1)
Andrei Bobrov
am 10 Jan. 2012
B = sum(A.^2,2);
Kategorien
Mehr zu Programming finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!