首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在没有for循环的情况下,使用matlab操作向量中的每个元素

在没有for循环的情况下,使用matlab操作向量中的每个元素
EN

Stack Overflow用户
提问于 2013-10-16 03:35:27
回答 1查看 215关注 0票数 0

我试图用matlab编写一些代码,它将操作向量中的每个元素,并返回一个向量。所以,基本上,如果我有一个向量x=1,2,3,4,5‘,我想执行2* x(i) * i,其中我是向量中的第一个元素。返回y=2 8 18 32 5 0‘;

现在我有密码:

代码语言:javascript
运行
复制
N = length(x);
for i=1:N
    y(i,:) = (i*2).*x(i,:);
end

我刚接触过Matlab,所以我一直在做研究,尝试学习语法,这样我就可以逐个元素地乘法,但是这是很困难的。我无法通过这个1:numel(x)代替我的i。再次我是新的matlab,所以任何能帮助我学习的答案的解释都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-16 03:56:34

以下是如何做到这一点:

代码语言:javascript
运行
复制
y = x.*(1:numel(x))*2

原因如下:我们通常希望对向量或矩阵中的每个元素进行操作。Matlab将允许您使用元素级的操作来完成此操作.例如,假设要将向量x中的每个条目乘以其在向量y中的相应条目。换句话说,x(1)*y(1)x(2)*y(2)等,为了做到这一点,应该在乘法之前使用符号.。实际上,您可以在任何数学符号前面放置一个.来告诉Matlab,您希望对向量或矩阵的每个元素进行操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19394783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档