当前位置: 首页 > article >正文

MATLAB中inputdlg函数用法

目录

语法

说明

示例

用于收集用户输入的对话框

具有不同宽度的文本编辑字段

使用 TeX 解释器解释 prompt 值

将输入转换为数值


        inputdlg函数的功能是创建收集用户输入的对话框。

语法

answer = inputdlg(prompt)
answer = inputdlg(prompt,dlgtitle)
answer = inputdlg(prompt,dlgtitle,dims)
answer = inputdlg(prompt,dlgtitle,dims,definput)
answer = inputdlg(prompt,dlgtitle,dims,definput,opts)

说明

answer = inputdlg(prompt) 创建包含一个或多个文本编辑字段的模态对话框,并返回用户输入的值。返回值是字符向量元胞数组的元素。元胞数组的第一个元素对应于对话框顶部编辑字段中的响应。第二个元素对应于下一个编辑字段中的响应,依此类推。

answer = inputdlg(prompt,dlgtitle) 指定对话框的标题。

        当 dims 是标量值时,answer = inputdlg(prompt,dlgtitle,dims) 指定每个编辑字段的高度。当 dims 是数组时,每个数组元素中的第一个值设置编辑字段的高度。每个数组元素中的第二个值设置编辑字段的宽度。

answer = inputdlg(prompt,dlgtitle,dims,definput) 指定每个编辑字段的默认值。definput 输入参数包含的元素数量必须与 prompt 相同。

answer = inputdlg(prompt,dlgtitle,dims,definput,opts) 指定当 opts 设置为 'on' 时,对话框可在水平方向调整大小。当 opts 是结构体时,它指定对话框是否可在水平方向调整大小、是否为模态,以及是否解释 prompt 文本。

示例

用于收集用户输入的对话框

        创建一个对话框,其中包含两个文本编辑字段,用于收集用户输入的整数和颜色图名称。

prompt = {'Enter matrix size:','Enter colormap name:'};
dlgtitle = 'Input';
dims = [1 35];
definput = {'20','hsv'};
answer = inputdlg(prompt,dlgtitle,dims,definput)

如图所示:

具有不同宽度的文本编辑字段

        创建一个标题为 Customer 的输入对话框,其中包含三个不同宽度的编辑字段。

x = inputdlg({'Name','Telephone','Account'},...
              'Customer', [1 50; 1 12; 1 7]); 

如图所示:

使用 TeX 解释器解释 prompt 值

创建一个对话框,该对话框使用 options 结构体以 TeX 标记形式呈现提示。

通过指定以下内容来定义对话框选项:

  • 包含 \theta 字符序列的提示

  • 对话框标题

  • 默认输入值为 30

  • 编辑字段高度等于 1 个文本行,宽度等于 40 个字符单元

  • TeX 作为解释器

然后,通过指定这些选项来创建输入对话框。

prompt = {'Enter a value of \theta (in degrees)'};
dlgtitle = 'Theta Value';
dims = [1 40];
definput = {'30'};
opts.Interpreter = 'tex';
answer = inputdlg(prompt,dlgtitle,dims,definput,opts);

如图所示:

将输入转换为数值

        ​用户可在 inputdlg 文本编辑字段中输入标量或向量值。MATLAB® 将以字符向量元胞数组的形式存储这些输入。可以使用 str2num 将输入元胞数组的成员转换为数字。​

        创建一个要求用户输入数值数据的输入对话框。

answer = inputdlg('Enter space-separated numbers:',...
             'Sample', [1 50])

如图所示:

        假设用户输入 1 2 3 4 -5 6+7,然后点击确定。MATLAB 将以字符向量元胞数组的形式存储答案 - {'1 2 3 4 -5 6+7'}

        使用 str2num 将该元胞数组转换为数字。

user_val = str2num(answer{1})
user_val =

     1     2     3     4    -5    13

提示

  • ​即使模态输入对话框处于活动状态,MATLAB 程序也会继续执行。要阻止程序执行直到用户做出响应,可以使用 uiwait 函数。​

        用户可在输入对话框中输入标量或向量值。使用 str2num 将以空格和逗号分隔的值转换为行向量,将以分号分隔的值转换为列向量。例如,如果 answer{1} 包含 '1 2 3;4 -5 6+7i',则转换将生成:


http://www.kler.cn/a/418639.html

相关文章:

  • JAVAWeb之CSS学习
  • 基于树莓派的安保巡逻机器人--项目介绍
  • 【数据结构与算法】排序算法(上)——插入排序与选择排序
  • STL算法之set相关算法
  • 科技为翼 助残向新 高德地图无障碍导航规划突破1.5亿次
  • 【知识科普】github开源证书等级说明
  • 【开源免费】基于SpringBoot+Vue.JS服装生产管理系统(JAVA毕业设计)
  • Java中的请求重发机制:详细解读与实现
  • nginx 代理 web service 提供 soap + xml 服务
  • 【H2O2|全栈】Node.js(2)
  • Solon (Spring 的替代方案)永久商用免费
  • Android 图形系统之五:Gralloc
  • 第十三章 使用 DHCP 动态管理主机地址
  • Spring集成Mybatis的实现
  • 基于rpcapd与wireshark的远程实时抓包的方法
  • 【CSS in Depth 2 精译_900】附录B:CSS 预处理器简介
  • IAR Embedded Workbench for Arm 使用技巧
  • 【深度学习】【RKNN】【C++】应用程序编程接口化处理详细教程
  • 计算机网络——数据链路层Mac帧详解
  • 良好的并发编程习惯之封闭(Confinement)
  • 缓存的进化历程说说
  • 映射vim键位,基本功能键位表(未更完)
  • 虚拟机docker记录
  • leetcode_2341. 数组能形成多少数对
  • Python 3 教程第22篇(数据结构)
  • 【Python运维】容器管理新手入门:使用Python的docker-py库实现Docker容器管理与监控