在 MATLAB GUI 中显示分析结果

2024-02-19

我的问题是这样的:我有一个 MATLAB GUI,我希望运行它时得到的分析结果显示在我的 GUI 而不是命令窗口中。我尝试使用列表框来显示结果,因为会自动为列表框创建滑块,但它不起作用。如何显示数据,也许使用静态文本框?


首先,您必须确保禁止命令窗口的任何输出。您可以通过确保以分号 http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/f0-41244.html#f0-45379,避免使用DISP http://www.mathworks.com/access/helpdesk/help/techdoc/ref/disp.html函数来显示数据,并避免使用FPRINTF http://www.mathworks.com/access/helpdesk/help/techdoc/ref/fprintf.html将数据发送到标准输出(即命令窗口)的函数。

其次,确定您想要显示哪种“结果”。如果它是数值向量或矩阵,您可能需要使用UITABLE http://www.mathworks.com/access/helpdesk/help/techdoc/ref/uitable.html对象而不是静态文本框(如建议的阿齐姆对你其他问题的回答 https://stackoverflow.com/questions/957215/how-can-i-use-a-listbox-in-matlab/957944#957944,并假设您拥有较新版本的 MATLAB 之一)。如果它只是几个数值、字符或字符串,那么我建议使用静态文本框。例如:

hList = uicontrol('Style','text','Position',[100 100 200 200]);
set(hList,'String',{'Line 1'; 'Line 2'});  % Displays 2 lines, one string each
vec = rand(3,1);  % Column array of 3 random values
set(hList,'String',num2str(vec));  % Displays 3 lines, one number per line

使用此选项,您可能最终会做很多事情字符串操作 http://www.mathworks.com/access/helpdesk/help/techdoc/ref/strings.html.

NOTE:对于静态文本框,如果您在其中放入的文本多于它们能够显示的文本,它们将简单地截断文本。它们不会自动创建滑块来查看整段文本。您要么必须使静态文本框更大,要么调整“字体大小”属性 http://www.mathworks.com/access/helpdesk/help/techdoc/ref/uicontrol_props.html#bqxoilz将静态文本框的值设置为较小的值,或者(更复杂的选项)创建您自己的滑块来调整文本框中显示的内容。


编辑:更复杂的选项......

如果有人感兴趣,我想我会包含一些示例代码,用于制作带有滑块的静态文本框,该滑块控制文本框中显示的内容。有很多不同的方法可以做到这一点,从我能想到的最简单的实现(下面给出)到使用的更复杂的版本嵌套函数 http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/f4-39683.html and 花哨的 OOP 东西 http://www.mathworks.com/products/matlab/object_oriented_programming.html.

首先,您必须将以下两个函数保存为 m 文件:

回调_scrolltext.m

function callback_scrolltext(source,event,hText)
  textString = get(hText,'UserData');
  nLines = numel(textString);
  lineIndex = nLines-round(get(source,'Value'));
  set(hText,'String',textString(lineIndex:nLines));
end

update_scrolltext.m

function update_scrolltext(newText,hText,hSlider)
  newText = textwrap(hText,newText);
  set(hText,'String',newText,'UserData',newText);
  nRows = numel(newText);
  if (nRows < 2),
    sliderEnable = 'off';
  else
    sliderEnable = 'on';
  end
  nRows = max(nRows-1,1);
  set(hSlider,'Enable',sliderEnable,'Max',nRows,...
      'SliderStep',[1 3]./nRows,'Value',nRows);
end

其次,使用以下代码创建 GUI 对象。您可以将“位置”属性设置为您想要的任何内容,也可以使用图形或面板对象的任何句柄来代替hParent:

hParent = figure;
hText = uicontrol('Style','text',...
                  'Parent',hParent,...
                  'Units','pixels',...
                  'Position',[100 100 100 40]);
hSlider = uicontrol('Style','slider',...
                    'Parent',hParent,...
                    'Units','pixels',...
                    'Position',[200 100 10 40],...
                    'Enable','off',...
                    'Callback',{@callback_scrolltext,hText});

最后,每次想要更改文本框的文本时,调用更新滚动文本与您想要显示的文本(包含在元胞数组中,就像输入的字符串一样)TEXTWRAP http://www.mathworks.com/access/helpdesk/help/techdoc/ref/textwrap.html是)以及文本框和滑块的手柄。以下是一些可以尝试的示例:

update_scrolltext({'hello'},hText,hSlider);
update_scrolltext({'hello'; 'there'; 'silly'; 'world'},hText,hSlider);

根据您的需要修改代码并享受吧! =)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MATLAB GUI 中显示分析结果 的相关文章

  • Java - SwingWorker - 我们可以从其他 SwingWorker 调用一个 SwingWorker 而不是 EDT

    我有一个SwingWorker如下 public class MainWorker extends SwingWorker Void MyObject 我调用了上面的Swing Worker来自东部夏令时间 MainWorker mainW
  • 在 MATLAB 中将数据拟合到 B 样条

    我正在尝试估计矩阵形式的时间序列数据中的缺失值 列代表时间点 即现在 我想将矩阵的每一行拟合到 B 样条曲线 并用它来估计缺失值 我可以使用 MATLAB 将数据拟合到普通样条曲线 但我完全陷入尝试找出如何拟合数据以创建 B 样条曲线的困境
  • BlackBerry - 带居中位图的 ButtonField

    我有一个从 ButtonField 扩展的类 class BitmapButtonField extends ButtonField private Bitmap bitmap private int buttonWidth private
  • 将单元格转换为双精度

    gt gt C 1 2 CF 2 C 1 2 CF 2 gt gt whos C Name Size Bytes Class Attributes C 2x2 478 cell 我怎样才能转换C into double以便 gt gt C
  • 您知道 PAC 设计模式的任何示例吗?

    任何人都可以指出正在使用的任何网站或网络应用程序表现 抽象 控制 http www dossier andreas net software architecture pac html设计模式而不是MVC 像这样的桌面应用程序很容易找到 例
  • Matlab 编辑器不使用 emacs 快捷方式

    Is there some way I can make the matlab integrated editor not use emacs shortcut but use more normal shortcuts such that
  • 白色像素簇提取

    我正在研究指纹毛孔提取项目 并陷入毛孔 白色像素簇 提取的最后阶段 我有两个输出图像 我们可以从中获取毛孔 但不知道该怎么做 这两个图像的尺寸不同 image1 的尺寸为 240 320 image2 的尺寸为 230 310 这是我的图像
  • 使用 JScrollPane 和 JLayeredPane 进行 Swing GUI 设计

    我想要一个如下图所示的 GUI 设置 The JLayeredPane应始终具有相同的大小 但是JPanel和JScrollPane可以改变尺寸 我需要JScrollPane能够显示JLayedPane通过单击箭头 如果JPanel and
  • 整数的十进制表示形式中的分隔数字

    例如 我想将用户输入作为整数输入 45697 并将前两位数字存储在数组 向量或其他内容中 例如 4 5 6 9 7 这样我就可以使用一些函数调用来检查前两个值 4 5 并对它们进行计算 问题 我不知道如何存储恢复前两个值 有没有简单的函数调
  • MATLAB:比较两个不同长度的数组

    我有两个长度不同的数组 由于采样率不同 需要比较 我想对较大的数组进行下采样以匹配较小的数组的长度 但是该因子不是整数而是小数 举个例子 a 1 1 375 1 75 2 125 2 5 2 875 3 25 b 1 2 3 有什么方法可以
  • 傅里叶变换定理 matlab

    我目前正在尝试理解二维傅里叶位移定理 根据我到目前为止所了解到的情况 图像空间中的平移会导致相位差异 但不会导致频率空间中的幅度差异 我试图用一个小例子来演示这一点 但它只适用于行的移位 而不适用于列的移位 这是一个小演示 我只在这里显示幅
  • Qt GUI 编程设计

    我正在尝试创建一个 GUI 应用程序 主窗口 一个QMainWindow 包含 9 个固定大小的标签以及主窗口的大小 我尝试在没有 Qt GUI Designer 的情况下以编程方式制作它 该项目构建时没有错误 但我看不到主窗口上显示的任何
  • 在 GTK+ (gtkD) 中处理按键

    我正在玩gtkD http www dsource org projects gtkd GTK 的 D 绑定 我有一个window对象 实例gtk MainWindow 我想处理它的按键 How 如何处理特殊键 例如箭头键 pgup pgd
  • 创建圆形图像 PIL Tkinter

    Currently I have a zoom feature in my application that works very well however I d like the actual zoom box to be a circ
  • 为什么matlab的mldivide比dgels好这么多?

    Solve Ax b 真正的双 A是超定的 Mx2 其中 M gt gt 2 b是MX1 我运行了大量的数据mldivide 并且结果非常好 我用 MKL 写了一个 mex 例程LAPACKE dgels但它远没有那么好 结果有大量噪音 并
  • 在 Matlab 中显示有理数

    我有两个整数 m n 它们一起形成 m n 形式的有理数 现在我只想以这种理性的形式在 Matlab 中显示它们 我可以通过这样做来做到这一点 char sym m n 所以 如果 例如m 1 n 2 Matlab将显示1 2 然而 如果m
  • 将国际象棋引擎连接到用 Javascript 制作的现有 GUI

    我编写了自己的用于下棋和教授国际象棋的 GUI GUI 是使用 HTML 编写的 用于外观 使用 JavaScript 来实现各个部件的行为 目前该程序不遵循任何国际象棋规则 正确遵循国际象棋规则取决于用户 这允许自由地设置非法位置或多次移
  • R Shiny UI 子选项复选框?

    我有一个基本的 RShiny 应用程序 它有一个反应式复选框 它根据复选框中选择的数据 df 列 绘制时间序列数据 我当前的代码生成一个带有复选框输入的 UI 如下所示 Load R packages library shiny libra
  • Winforms 风格/UI 外观和感觉提示

    从多年的 asp net 开发回到 winforms 应用程序 寻找有关如何 设计 winforms 的建议和技巧 类似于我在 asp net 中使用 CSS 母版页的方式 我对如何在一处更新某些类型的控件的字体 颜色感兴趣 如何保持布局的
  • 检查图像中是否有太薄的区域

    我正在尝试验证雕刻机的黑白图像 更多的是剪贴画图像 不是照片 我需要考虑的主要事情之一是区域的大小 或线条的宽度 因为机器无法处理太细的线条 所以我需要找到比给定阈值更细的区域 以此图为例 竖琴的琴弦可能太细而无法雕刻 我正在阅读有关 Ma

随机推荐

  • AppendTargetFrameworkToOutputPath 在 .targets 文件中失败

    我正在尝试集中许多项目的一些构建配置 而 MSBuild 解决方案是使用 targets files https learn microsoft com en us visualstudio msbuild msbuild dot targ
  • 在 django 中通过拖放对项目进行排序

    在我的 django 项目中 我在模板中显示了书籍列表 Book型号有position我用来对书籍进行排序的字段 我试图通过拖放列表项对该列表进行排序 但我的下一个代码不能很好地工作 我用jQuery 用户界面 它在前端工作 但当用户拖放列
  • 将文本区域保存到文件

    是否可以将文本区域保存到文件中 FileWriter fw new FileWriter file1 getAbsoluteFile true BufferedWriter bw new BufferedWriter fw bw write
  • 来自一组键的 PHP 数组

    发现这篇文章对我有帮助 拆分字符串以形成多维数组键 https stackoverflow com questions 10519108 split a string to form multidimensional array keys
  • 给定一个字符串,找到元音和辅音数量相同的最长子串?

    给定一个字符串 找到元音和辅音数量相同的最长子串 澄清 我不确定我们是否可以生成一个新字符串 或者子字符串必须是原始字符串的一部分 到目前为止我有这个 代码片段 Scanner scanner new Scanner System in S
  • R 的丰富 Ctags

    是否有任何使用记录ctags http ctags sourceforge net 与 R 这有用吗 实施起来会不会很困难 具体来说 我刚刚开始使用 Vim 如果能够在一个文件中编写 R 函数 在另一个文件 例如 Rnw 文件 测试文件或其
  • 为什么 PayPal 的 IPN 模拟器不能使用 https 地址?

    在 PayPal 的 IPN 模拟器中 如果我输入 https URL 则会收到一条错误消息 很抱歉 我们无法发送 IPN 但是 在 http URL 上它工作正常 我该如何解决这个错误 这可能是因为您的 SSL 证书是自签名的或被 Pay
  • Java Calendar.DAY_OF_WEEK 给出了错误的日期

    下面的代码有什么问题 对于一年中的任何日期 它给出的日期都是错误的 import java util Scanner import java util Calendar public class Solution public static
  • 请求在 chrome 中偶尔会停滞很长时间

    Ajax 请求有时会在 Chrome 中长时间停滞 我终于成功地复制了它并保存了所有必要的相关数据 如果有人可以帮助我的话 可以在这里发布 The timeline from Chrome Dev Tool shows the reques
  • JavaScript ArrayBuffer 切片在 Safari 9.1.2 中明显损坏

    Safari 9 1 2 10601 7 7 中的基本 JavaScript 功能似乎被破坏 也许我只是做错了什么 正在寻求有关如何度过这一切的建议 有问题的函数是ArrayBuffer prototype slice https deve
  • llvm/clang 编译错误,内存耗尽

    我正在尝试在我的 ubuntu 14 04 虚拟机 具有 2GB 内存 上构建最新的 llvm clang 代码 我所做的是正常的配置 制作过程 这两个命令没有任何参数 最后 我有以下错误 llvm 4 链接 Debug Asserts 可
  • 如何使用 laravel 5.1 使用更新记录的 user_id 填充 modded_by ?

    使用 Laravel 5 1 时 我尝试创建一个观察者 它将自动更新以下 3 列 created by 当创建的记录 不再更新 时填充 Modified by 每次修改记录时填充新值 purged by 软删除记录时填充一个值 我知道 El
  • 尽管有 SecurityConfig,Spring Security 仍会阻止 POST 请求

    我正在开发一个基于 Spring Boot 的 REST API spring boot starter web 我使用Spring Security spring security core e spring security confi
  • 调试 MFC:“mfc100.dll”找不到或打开 pdb

    我正在尝试在调试时进入 MFC 源代码 但是 Visual Studio 显然在加载适当的符号时遇到问题 C WINDOWS symbols dll mfc100 i386 pdb PDB 与图像不匹配 我检查了其他问题 通常建议启用 符号
  • Rust 如何保证内存安全并防止段错误?

    我一直在寻找一种可以学习的语言 并且我发现 Rust 变得非常流行 Rust 有两件事给我留下了深刻的印象 内存安全和防止段错误 Rust 是如何实现这一点的呢 例如 Rust 和 Java 之间的哪些差异使得 Rust 具有安全功能 Ru
  • 如何将小型 ORC 文件组合或合并为较大的 ORC 文件?

    SO 和网络上的大多数问题 答案都讨论使用 Hive 将一堆小 ORC 文件合并为一个较大的文件 但是 我的 ORC 文件是按天分隔的日志文件 我需要将它们分开 我只想每天 汇总 ORC 文件 HDFS 中的目录 我最有可能需要用 Java
  • 指针和指针变量有什么区别?

    我知道这是非常基本的 但对我来说有点困惑 我读了 a pointer无非是一个address and a 指针变量只是一个变量 可以存储一个地址 当我们存储变量的地址时i在指针变量中p 我们说p 指着 i int i p i p指着i 为了
  • C++:打印双精度的十六进制表示

    有没有一种简单的方法来操作 std cout 以便它以十六进制表示形式打印双精度数 换句话说 相当于 printf PRIx64 reinterpret cast
  • .Net IP 地址 IPv4

    我有以下代码 Dim ipAdd As IPAddress Dns GetHostEntry strHostname AddressList 0 Dim strIP As String ipAdd ToString 当我转换为字符串而不是像
  • 在 MATLAB GUI 中显示分析结果

    我的问题是这样的 我有一个 MATLAB GUI 我希望运行它时得到的分析结果显示在我的 GUI 而不是命令窗口中 我尝试使用列表框来显示结果 因为会自动为列表框创建滑块 但它不起作用 如何显示数据 也许使用静态文本框 首先 您必须确保禁止