如何对多个数组相乘并求和
比如有一数组X=1:1:10又有一函数A(i), i=1:1:n
我想求 A(1)*X+A(2)*X+....+A(n)*X, 当n很大时,应该用什么函数编程计算呢
用sum(A(i).*X)总是错误
求高手指点一下
[ 本帖最后由 eight 于 2008-1-22 20:31 编辑 ]
回复 楼主 的帖子
sum(A(i).*X)是不是应该sum(A(i).*X(i)) 原帖由 sigma665 于 2008-1-20 16:52 发表 http://www.chinavib.com/forum/images/common/back.gif
sum(A(i).*X)
是不是应该sum(A(i).*X(i))
但是A(i)和X(i)的维数不相同啊,没法点乘
回复 3楼 的帖子
点不要 点不要,仍有错误的我知道了,用一个循环语句就行了
s=0;
for i=1:n
s=s+A(i)*X;
end
s
回复 5楼 的帖子
你要的s也是一个向量? 转置就行了,如下:X=1:10%%1*10向量
A=rand(1,100) %%产生1*100的一个随机向量
y=sum(sum( A'*X )) %%对矩阵所有元素求和
%%%%求解结果:
y =
2.4515e+003
尽量避免循环运算
[ 本帖最后由 allenfieldin 于 2009-9-26 09:22 编辑 ] *的两个矩阵要求和线性代数里要求一样;.*需要两个矩阵大小相同
sogooda同志是这样说的,呵呵
页:
[1]