Matlab GUI之permute()函数与msdbox()函数

时间:2022-07-03 04:16:38

一、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');

                                                            Matlab GUI之permute()函数与msdbox()函数