MATLAB中生成有限几何级数的常用方法

发布于 2024-11-14 18:34:54 字数 161 浏览 2 评论 0原文

假设我有一些数字 a,并且我想获取向量 [ 1 , a , a^2 , ... , a^N ]。我使用 [ 1 , cumprod( a * Ones( 1 , N - 1 ) ) ] 代码。最好的(并且可能是有效的)方法是什么?

Suppose I have some number a, and I want to get vector [ 1 , a , a^2 , ... , a^N ]. I use [ 1 , cumprod( a * ones( 1 , N - 1 ) ) ] code. What is the best (and propably efficient) way to do it?

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

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

发布评论

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

评论(2

树深时见影 2024-11-21 18:34:54

a.^[0:N] 怎么样?

What about a.^[0:N] ?

清音悠歌 2024-11-21 18:34:54

ThibThib 的答案是绝对正确的,但如果 a 发生在向量上,它就很难概括。因此,作为起点:

> a= 2
a =  2
> n= 3
n =  3
> a.^[0: n]
ans =
   1   2   4   8

现在您还可以利用内置函数 vander (尽管顺序不同,但如果需要的话很容易修复),以生成:

> vander(a, n+ 1)
ans =
   8   4   2   1

并且向量值为 a :

> a= [2; 3; 4];
> vander(a, n+ 1)
ans =
   8    4    2    1
  27    9    3    1
  64   16    4    1

ThibThib's answer is absolutely correct, but it doesn't generalize very easily if a happens to a vector. So as a starting point:

> a= 2
a =  2
> n= 3
n =  3
> a.^[0: n]
ans =
   1   2   4   8

Now you could also utilize the built-in function vander (although the order is different, but that's easily fixed if needed), to produce:

> vander(a, n+ 1)
ans =
   8   4   2   1

And with vector valued a:

> a= [2; 3; 4];
> vander(a, n+ 1)
ans =
   8    4    2    1
  27    9    3    1
  64   16    4    1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文