从相同的指定值形成向量

发布于 2024-08-31 21:21:05 字数 122 浏览 4 评论 0原文

由于多次运行 for 循环,我有一堆值都被分配了相同的变量,例如:

d = 3.44434
d = 2.4444
d = 2.7777

如何将它们全部放入向量中?

I've got a bunch of values that are all assigned the same variable due to running through a for loop several times, so for example:

d = 3.44434
d = 2.4444
d = 2.7777

How do I put them all into a vector?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

依 靠 2024-09-07 21:21:05

如果您事先知道值的数量,则可以通过预分配来加快速度(如果有多个元素)。

代码

num_elements = 10;
vector = zeros(num_elements,1);
for i = 1:num_elements
   vector(i) = SomeFunction();
end

如果您在运行循环之前知道元素的数量,

则代码

vector = [];
some_condition = true;
while some_condition == true
   vector(end+1) = SomeFunction();
   some_condition = SomeConditionFunction();
end

If you know the number of values beforehand, you can speed things up (if there are several elements) by preallocating.

Code

num_elements = 10;
vector = zeros(num_elements,1);
for i = 1:num_elements
   vector(i) = SomeFunction();
end

If you don't know the number of elements before running the loop,

Code

vector = [];
some_condition = true;
while some_condition == true
   vector(end+1) = SomeFunction();
   some_condition = SomeConditionFunction();
end
天邊彩虹 2024-09-07 21:21:05

如果您需要循环进行操作,请使用 Jacob 的 回答。否则,如果您正在执行相对简单的操作,则可以进行矢量化。例如:

x=1:10; % input vector
rootofx=sqrt(x); % output vector

如果要执行逐元素操作,./.* 和 .^ 运算符非常有用。

If you need a loop for your operations, use Jacob's answer. Otherwise, if you're doing a relatively simple operation, you may be able to vectorize. For example:

x=1:10; % input vector
rootofx=sqrt(x); % output vector

The ./ .* and .^ operators are useful if you want to perform element-wise operations.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文