我试图用matlab编写一些代码,它将操作向量中的每个元素,并返回一个向量。所以,基本上,如果我有一个向量x=1,2,3,4,5‘,我想执行2* x(i) * i,其中我是向量中的第一个元素。返回y=2 8 18 32 5 0‘;
现在我有密码:
N = length(x);
for i=1:N
y(i,:) = (i*2).*x(i,:);
end我刚接触过Matlab,所以我一直在做研究,尝试学习语法,这样我就可以逐个元素地乘法,但是这是很困难的。我无法通过这个1:numel(x)代替我的i。再次我是新的matlab,所以任何能帮助我学习的答案的解释都是非常感谢的。谢谢!
发布于 2013-10-16 03:56:34
以下是如何做到这一点:
y = x.*(1:numel(x))*2原因如下:我们通常希望对向量或矩阵中的每个元素进行操作。Matlab将允许您使用元素级的操作来完成此操作.例如,假设要将向量x中的每个条目乘以其在向量y中的相应条目。换句话说,x(1)*y(1)、x(2)*y(2)等,为了做到这一点,应该在乘法之前使用符号.。实际上,您可以在任何数学符号前面放置一个.来告诉Matlab,您希望对向量或矩阵的每个元素进行操作。
https://stackoverflow.com/questions/19394783
复制相似问题