gpt4 book ai didi

arrays - 阻止 Matlab 将 1xn 矩阵视为列向量

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:05 25 4
gpt4 key购买 nike

我现在对 MATLAB 感到非常沮丧。让我来说明这个问题。我将在这里使用非正式符号。

我有一个名为 B 的字符串列单元格向量.现在,假设 B = {'A';'B';'C';'D'} .

我想要一个矩阵G ,即 m×n,我想替换 G 中的数字与 B 的各个元素... 例如,假设 G[4 3; 2 1]

假设我有一个变量 n这表示有多少行 G我要外卖。

当我做 B(G(1:2,:)) ,我得到了我想要的['D' 'C'; 'B' 'A']

但是,如果我这样做 B(G(1:1,:))我得到 ['D';'C']当我真正想要得到的是['D' 'C']

我正在使用 1:n ,我希望它对 n = 1 具有相同的行为正如它对 n = 2 所做的那样和 n = 3 .基本上,G实际上是一个n ×1500 矩阵,我想取顶部 n行并将其用作 B 的索引.

我可以使用一个 if 语句来转置结果 if n = 1但这似乎没有必要。真的没有办法让它停止将我的 1×n 矩阵视为列向量吗?

最佳答案

根据 this post by Loren Shure :

Indexing with one array C = A(B) produces output the size of B unless both A and B are vectors.

When both A and B are vectors, the number of elements in C is the number of elements in B and with orientation of A.

您属于第二种情况,因此您会看到这种行为。

关于arrays - 阻止 Matlab 将 1xn 矩阵视为列向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26936603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com