我有3个向量,我想将它们的每一个与它的转置相乘,例如我有A1 = [ - 1 1 -1 1],我想找到At1 = A1'* A1。但是,我有几个向量,将添加3个以上的向量。所以,我构建了一个for循环为我做这个,但它不起作用,我不知道为什么。以下是我的代码:
A(1)=[-1 1 -1 1];
A(2)=[1 1 1 -1];
A(3)=[-1 -1 -1 1];
for i=1:3
At(i)=A(i)'*A(i)
i=i+1
end
At=At1+At2+At3
有人可以帮忙吗?
答案 0 :(得分:1)
你可以达到你想要的效果:
A(1,:)=[-1 1 -1 1];
A(2,:)=[1 1 1 -1];
A(3,:)=[-1 -1 -1 1];
At = trace(A * A'); %sum of the A(i,:)*A(i,:)'
PS。不要在循环中执行i = i + 1,它会自动为您完成。