matlab中x end 1,matlab里x=x([],[],:ed:x=x([end-hs1+1:end,1:end-hs1],[end-hs2+

问题描述:

matlab里x=x([],[],:ed:x=x([end-hs1+1:end,1:end-hs1],[end-hs2+1:end,1:end-hs2],:)

1个回答

分类:

综合

2014-11-17

问题解答:

我来补答

x=x([],[],:)这个说明矩阵x为m*n*k维的矩阵,即x由k个m*n维的矩阵组成,式中的hs1,hs2应该是变量或常量,end表示矩阵的最后一列或最后一行的序号.

x=x([end-hs1+1:end,1:end-hs1],[end-hs2+1:end,1:end-hs2],:) %将x中所有k个矩阵,将end-hs1+1到end行,end-hs2+1到end列的元素放在矩阵的左上角;end-hs1+1到end行,1到end-hs2列的元素放在右上角;1到end-hs1行,end-hs2+1到end列的元素放在左下角;1到end-hs1行,1到end-hs2列的元素放在右下角;

其实就是,以 后hs1行 和 后hs2列 为分界线,把x分成四个小矩阵,

例如:x=[A B

C D];

然后将A,D位置互换,B,C位置互换,即得到

x=x[D C

B A];

>>hs1=2;hs2=3;x=rand(6) %以后2行和后3列为分界线把矩阵分成4部分

x =

0.3046 0.1509 0.4966 0.3420 0.8385 0.6946

0.1897 0.6979 0.8998 0.2897 0.5681 0.6213

0.1934 0.3784 0.8216 0.3412 0.3704 0.7948

0.6822 0.8600 0.6449 0.5341 0.7027 0.9568

0.3028 0.8537 0.8180 0.7271 0.5466 0.5226

0.5417 0.5936 0.6602 0.3093 0.4449 0.8801

>> c=x([end-hs1+1:end,1:end-hs1],[end-hs2+1:end,1:end-hs2])

c =

0.7271 0.5466 0.5226 0.3028 0.8537 0.8180

0.3093 0.4449 0.8801 0.5417 0.5936 0.6602

0.3420 0.8385 0.6946 0.3046 0.1509 0.4966

0.2897 0.5681 0.6213 0.1897 0.6979 0.8998

0.3412 0.3704 0.7948 0.1934 0.3784 0.8216

0.5341 0.7027 0.9568 0.6822 0.8600 0.6449

展开全文阅读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值