multiplying a matrix
显示 更早的评论
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 个评论
Chandra Kurniawan
2012-1-10
3^2+5^2+7^2 = 83, right?
5^2+6^2+0^2 = 61, right?
FIR
2012-1-10
FIR
2012-1-10
Chandra Kurniawan
2012-1-10
what size of q?
FIR
2012-1-10
Andrei Bobrov
2012-1-10
sum(q(:,1:20).^2)
Walter Roberson
2012-1-10
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
2012-1-10
andrei, notice that both i and r also occur in the exponent.
Chandra Kurniawan
2012-1-10
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
2012-1-10
so?
i1 = 1:2;
r = 1:20;
out = sum(q.^(2*i1.'*r))
FIR
2012-1-10
Chandra Kurniawan
2012-1-10
Okay. Glad to help you.
Walter Roberson
2012-1-10
andrei, you cannot raise a matrix to a vector. You can raise a matrix to a scalar or a scalar to a matrix.
FIR
2012-1-10
Andrei Bobrov
2012-1-10
i1 = 1:2;
r = 1:20;
out = sum(q.^2.*(i1.'*r))
采纳的回答
更多回答(1 个)
Andrei Bobrov
2012-1-10
B = sum(A.^2,2);
类别
在 帮助中心 和 File Exchange 中查找有关 Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!