一、permute
permute(A,[3,2,1])使A的维号按照先第3维、再第2维,最后第1维的顺序排列
官方文档给了二维的例子,不过没有给3维的形象
permute(A,[2 1])
is the same as A.'.
For example:
A = [1 2; 3 4]; permute(A,[2 1])
ans =
1 3
2 4
对于三维的;
比如A =
A(:,:,1)=repmat(1,3,3);
A(:,:,2)=repmat(2,3,3);
A(:,:,3)=repmat(3,3,3);
disp(A);
A(:,:,1) =
1 1 1
1 1 1
1 1 1
A(:,:,2) =
2 2 2
2 2 2
2 2 2
A(:,:,3) =
3 3 3
3 3 3
3 3 3
At = permute(A,[3,2,1]);
disp(At);
At(:,:,1) =
1 1 1
2 2 2
3 3 3
At(:,:,2) =
1 1 1
2 2 2
3 3 3
At(:,:,3) =
1 1 1
2 2 2
3 3 3
permute(A,[3,2,1])
应该这样理解。按照order 数列的排序重新定义下标。例如order 是【 3 2 1】的话,A(1,2,3)这个元素就放到了A(3,2,1)的位置。所以左顶角是永远不变的,因为A(1,1,1)总是放在同一个位置, A(3,3,3)也一样l
例如第一个A(:,:,1),矩阵不写具体数字,写坐标左边矩阵,右边矩阵是每个坐标的数值
111 121 131 1 1 1
211 221 231 1 1 1
311 321 331 1 1 1
如果安装【3 2 1】 重新排列后的坐标
111 121 131 把A(:,;,1)的第一行变成1 1 1
112 122 132 把A(:,;,2)的第一行变成1 1 1
113 123 133 把A(:,;,3)的第一行变成1 1 1
二、msgbox()函数
h = msgbox(Message)
h = msgbox(Message,Title)
h = msgbox(Message,Title,Icon)
h =msgbox(Message,Title,'custom',IconData,IconCMap)
h = msgbox(...,CreateMode)
h = msgbox(Message) 创建一个对话框,根据figure窗体大小自动将Message换行。Message可以是一个字符串向量、字符串矩阵或者元胞数组。msgbox函数返回消息对话框的句柄h。
h = msgbox(Message,Title) 创建一个指定名称的消息对话框。
h = msgbox(Message,Title,Icon) 创建一个指定消息图标的消息对话框。Icon可以是'none'、'error'、'help'、'warn'或'custom'。默认值为'none'。
h =msgbox(Message,Title,'custom',IconData,IconCMap) 定义一个用户定义图标。IconData包含了定义图标的图形数据。IconCMap定义了图标图像使用的颜色索引表。
h = msgbox(...,CreateMode) 指定消息对话框是模式的还是非模式的。当然,您也可以选择是否为Mssage和Title使用解释器。
如果CreateMode是一个字符串,它只能取下表所列的这几个值:
如果CreateMode是一个结构体,它有'WindowStyle'和'Interpreter'两个字段。'WindowStyle'字段必须为上表所列取值中的一个。'Interpreter'必须为'tex'或者'none'。'Interpreter'的默认取值为'none'。
注:注意 一个模式的对话框防止用户在响应之前和其他的窗口进行交换。要暂停MATLAB程序执行,请使用uiwait函数。
如果您使用'CreateMode','modal'创建一个错误对话框(errordlg)、消息对话框(msgdlg)或者警告对话框(warndlg),若它和您之前用这几个函数创建的非模式对话框出现同名,您之前创建的非模式对话框将会在模式对话框创建之前删除。
要想了解更多的关于模式对话框(modal dialog boxes)信息,请参考MATLAB帮助文档下Figure Properties下的WindowStyle。
msgbox('错误,你不是人,请让人来操作!','提示信息','help','modal');