matlab里x=x([],[],:)什么意思啊? ed:x=x([end-hs1+1:end,1:end-hs1],[end-hs2+1:end,1:end-hs2],:)

如题所述

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
温馨提示:内容为网友见解,仅供参考
无其他回答

...ed:x=x([end-hs1+1:end,1:end-hs1],[end-hs2+1:end,1:end-hs2...
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到en...

Matlab中如何点击按钮刷新参数并显示于图形窗口?
按钮上的回调函数最前面用clf清楚上一步的图象,然后x=x+10; y=y=2.*x.^2;plot(x,y);

相似回答