old_mat = [1,2,3; 4,5,6];
new_mat = old_mat'(2:end, :);
new_mat = (old_mat')(2:end, :);
Run Code Online (Sandbox Code Playgroud)
我想转置并提取一个矩阵但我没有尝试这些尝试.
是否可以排成一行?
括号( )
通常应该[1]是Matlab表达式中的最后一个.这就是为什么表达式a(1)(1)
会给出错误:
错误:() - 索引必须出现在索引表达式的最后.
你的例子给出了错误
错误:不平衡或意外的括号或括号.
你应该像rahnema1建议的那样,提取列并进行转置,而不是试图转置和提取行.
new_mat = old_mat(:, 2:end).'
Run Code Online (Sandbox Code Playgroud)
注意,我使用的.'
是简写transpose
,不是'
简写,ctranspose
除非特别要求,否则应该避免!
[1]规则总是有例外!以下是您可以立即放置物品的示例)
.
T.('var')(1)
和T.var(1)
等效. S(1).var
.通常,如果您尝试在)
简单矩阵运算的结束旁边添加代码,则可能存在语法错误.