MATLAB-换位并提取直线中的矩阵

MATLAB-换位并提取直线中的矩阵,matlab,Matlab,我想转置并提取矩阵,但这些尝试都失败了 可以一行完成吗?括号()通常应该是[1]Matlab表达式中的最后一项。这就是为什么像a(1)(1)这样的表达式会给出错误: 错误:()-索引必须在索引表达式中最后出现 你的例子给出了错误 错误:不平衡或意外的括号或括号 正如rahnema1所建议的,您应该提取列并转置,而不是尝试转置和提取行 old_mat = [1,2,3; 4,5,6]; new_mat = old_mat'(2:end, :); new_mat = (old_mat')(2:en

我想转置并提取矩阵,但这些尝试都失败了

可以一行完成吗?

括号
()
通常应该是[1]Matlab表达式中的最后一项。这就是为什么像
a(1)(1)
这样的表达式会给出错误:

错误:()-索引必须在索引表达式中最后出现

你的例子给出了错误

错误:不平衡或意外的括号或括号

正如rahnema1所建议的,您应该提取列并转置,而不是尝试转置和提取行

old_mat = [1,2,3; 4,5,6];

new_mat = old_mat'(2:end, :);
new_mat = (old_mat')(2:end, :);
注意,我使用了
这是缩写,而不是
这是缩写,除非特别要求,否则应该避免使用


[1] 规则总是有例外的!下面是一些示例,您可以在
之后立即放置内容

  • 通过字符串引用表列或结构字段,其中
    T.('var')(1)
    T.var(1)
    是等效的
  • 使用点运算符,这也是使用结构的一个特性,如
    S(1).var
但是,一般来说,如果您试图为简单的矩阵运算在结束符
旁边添加代码,则可能存在语法错误。

括号
()
通常应该[1]是Matlab表达式中的最后一项。这就是为什么像
a(1)(1)
这样的表达式会给出错误:

错误:()-索引必须在索引表达式中最后出现

你的例子给出了错误

错误:不平衡或意外的括号或括号

正如rahnema1所建议的,您应该提取列并转置,而不是尝试转置和提取行

old_mat = [1,2,3; 4,5,6];

new_mat = old_mat'(2:end, :);
new_mat = (old_mat')(2:end, :);
注意,我使用了
这是缩写,而不是
这是缩写,除非特别要求,否则应该避免使用


[1] 规则总是有例外的!下面是一些示例,您可以在
之后立即放置内容

  • 通过字符串引用表列或结构字段,其中
    T.('var')(1)
    T.var(1)
    是等效的
  • 使用点运算符,这也是使用结构的一个特性,如
    S(1).var

不过,一般来说,如果您试图为简单的矩阵运算在结束符
旁边添加代码,则可能存在语法错误。

您可以先提取代码,然后转置它
old_mat(:,2:end)。
您可以先提取,然后转置它<代码>旧材料(:,2:end)。”