如何让我的矩阵数组变成这样?

发布于 2024-10-16 22:36:05 字数 249 浏览 2 评论 0原文

我有一个像这样的矩阵:

A = 1 2 3

      4 5 6

      7 8 9

我的问题是如何使我的矩阵像这样:

A11 = 1

A12 = 2

A13 = 3

A21 = 4

A22 = 5

A23 = 6

A31 = 7

A32 = 8

A33 = 9

因为我必须将 A21 与 A22 相乘,即 4x5=20。

I have a matrix like this:

A = 1 2 3

      4 5 6

      7 8 9

My question is how I want to make my matrix to be like this:

A11 = 1

A12 = 2

A13 = 3

A21 = 4

A22 = 5

A23 = 6

A31 = 7

A32 = 8

A33 = 9

Because i have to multiply A21 with A22 which is 4x5=20.

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

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

发布评论

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

评论(2

冷情 2024-10-23 22:36:05

你的问题我不清楚。

要创建矩阵,请使用“,”(或不使用任何内容)来分隔列,“;”来分隔行。

A = [1 2 3 ; 4 5 6 ; 7 8 9];

要访问矩阵,您可以使用一维索引和二维索引。
例如,A21 是 A(2, 1) 以及 A(0*3+2)

Your question is not clear to me.

To create the matrix, use ',' (or nothing) to delimit columns, ';' to delimit rows.

A = [1 2 3 ; 4 5 6 ; 7 8 9];

To access the matrix, you can use a 1-dimensional index as well as a 2-dimensional index.
E.g. A21 is A(2, 1) as well as A(0*3+2).

╄→承喏 2024-10-23 22:36:05

如果您实际上需要“A11”、“A12”等变量,您可以执行以下操作:

A = [1 2 3; 4 5 6; 7 8 9];

for i = 1:size(A,1)
    for j = 1:size(A,2)             
        eval(sprintf('A%d%d = %f;',i,j,A(i,j)));            
    end 
end


A21 * A22 
# will result in 20

也许不是最好的方法,但它会为您创建变量。

If you actually need variables such as 'A11', 'A12' etc. you could do as follows:

A = [1 2 3; 4 5 6; 7 8 9];

for i = 1:size(A,1)
    for j = 1:size(A,2)             
        eval(sprintf('A%d%d = %f;',i,j,A(i,j)));            
    end 
end


A21 * A22 
# will result in 20

Maybe not the best way, but it will create the variables for you.

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