matlab中如何交换矩阵的行或者列

 我来答
很多游戏
高粉答主

2019-10-23 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:386935

向TA提问 私信TA
展开全部

1、如果是需要按列翻转的话,就输入下面的代码:

fliplr(A)。

2、如果是需要按交换首尾列的话,就输入下面的代码:

A(:,[1,end]) = fliplr(A(:,[1,end]))

3、如果是需要按行翻转的话,就输入下面的代码:

flipud(A)

4、然后就完成了。

四舍五不入6
高粉答主

2020-03-17 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2.1万
展开全部

用permute函数就可以

函数功能:在MATLAB、FreeMat中,该函数按指定的向量来重新排列一个数组。

语法格式:

B = permute(A,order)

按照向量order指定的顺序重排A的各维,B中元素和A中元素完全相同,但由于经过重新排列,在A、B访问同一个元素使用的下标就不一样了,order中的元素必须各不相同。

扩展资料:

应用举例:

给定任一矩阵A,表达式

permute(A,[2 1]) 和A.'相同的。

比如:

A = [1 2; 3 4]

A =

1 2

3 4

permute(A,[2 1])

ans =

1 3

2 4

下面的代码排列三维数组:

X = rand(12,13,14);

Y = permute(X,[2 3 1]);

size(Y)

ans =

13 14 12

参考资料来源:百度百科-permute

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宇逸ycl
推荐于2016-08-22 · TA获得超过4088个赞
知道大有可为答主
回答量:1589
采纳率:50%
帮助的人:1835万
展开全部
额,楼主是想做什么啊?
要是想求矩阵的转置,直接有命令就可以了啊,加一个 ' 就能转置了。
>> a=[1 2 3
4 5 6
7 8 9]
a'
ans =
1 4 7
2 5 8
3 6 9

若是只想转换某两行或列,找个中间量储存一下就行了啊,
调换第一列和第二列数据:
b=a(:,1);
a(:,1)=a(:,2);
a(:,2)=b;
a

a =
2 1 3
5 4 6
8 7 9
追问
这个速度怎么样~~最优吗?
追答
额 速度就不知道了,你想找速度最优的就得找经验丰富的高手了,一般来说内置函数的速度是最优的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b64de2d
2018-03-06 · 超过19用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:22.6万
展开全部
用permute函数就可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式