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)。”