如何在 Matlab 中创建矩阵句柄/指针数组?

发布于 2024-11-07 17:16:51 字数 259 浏览 0 评论 0原文

我有一堆不同大小的相关矩阵,并且希望能够增量访问它们。有没有一种简单的方法可以在 Matlab 中创建指向这些矩阵的句柄或指针向量?或者这不是我应该做的事情?

例如,这里我想分配给以 i 索引的向量,它将作为不同大小的矩阵的句柄。

rows = [1:6];
columns = [10:2:20];
for i=1:6
    vector_of_pointers(i) = ones(rows(i),columns(i));
end

I have a bunch of related matrices of different sizes, and would like to be able to incrementally access them. Is there an easy way to create a vector of handles or pointers to these matrices in Matlab? Or is this not the way I am supposed to do it?

For example, here I want to assign to the vector indexed with i, which will be a handle to the matrices of different size.

rows = [1:6];
columns = [10:2:20];
for i=1:6
    vector_of_pointers(i) = ones(rows(i),columns(i));
end

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

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

发布评论

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

评论(1

叫嚣ゝ 2024-11-14 17:16:51

在 Matlab 中,并没有真正的指针。

相反,您可以将数组收集在元胞数组中,如下所示

rows = [1:6];
columns = [10:2:20];
for i=1:6
    arrayOfArrays{i} = ones(rows(i),columns(i));
end

要访问数组 #3,您可以编写 arrayOfArrays{3},如果您只需要第二行,则可以编写 arrayOfArrays{3}(2,:)

您还可以使用 ARRAYFUN 创建数组

arrayOfArrays = arrayfun(@(u,v)ones(u,v),rows,columns,'uniformOutput',false)

In Matlab, there aren't really pointers.

Instead, you can collect the arrays in a cell array, like so

rows = [1:6];
columns = [10:2:20];
for i=1:6
    arrayOfArrays{i} = ones(rows(i),columns(i));
end

To access, say, array #3, you write arrayOfArrays{3}, and if you want its second row only, you write arrayOfArrays{3}(2,:).

You can also create your array using ARRAYFUN

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