qq_46151004 2023-09-20 11:54 采纳率: 1.8%
浏览 9
已结题

matlab m文件如何打印到matlab app.textarea

matlab m文件如何打印到matlab app.textarea
现状:
m文件中有打印函数disp,需要打印到matlab app 界面,m文件打印命令如下

img


matlab app 调用命令如下

img


matlab app 定义公共变量如下

img


报错结果如下

img


问题总结
就是m文件中的打印参数 logline(已定义为公共变量 global logline)没有传递到matlab app 所以不认识logline 参数。
请问各位
1.若按照此方法应该如何改进才能打印到matlab app.textarea中?
2.还有其他方法实现m文件参数打印到matlab app.textarea中吗?

  • 写回答

7条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-20 12:06
    关注

    引用 皆我百晓生 小程序回复内容作答:
    要将Matlab M文件中的打印信息显示到Matlab App的textarea中,可以使用App Designer的控件回调函数的方式来实现。具体步骤如下:

    1. 在App Designer中创建一个textarea控件,设置其Tag属性为"appTextArea"。

    2. 在M文件中的disp函数中,将要打印的信息保存到一个变量中,例如logline。

    3. 在M文件中添加以下代码,以将logline的值传递给Matlab App的textarea控件:

    % 在M文件中获取App实例
    app = matlab.apputil.getRunningAppInstance;
    
    % 将logline的值赋给App的textarea控件
    app.TextArea.Value = logline;
    
    1. 在Matlab App的控件回调函数中,调用M文件中的函数,并在函数返回后将打印的信息显示到textarea控件中,可以使用以下代码:
    % 获取M文件中的打印信息
    logline = myPrintFunction();
    
    % 将打印信息显示到textarea控件中
    app.appTextArea.Value = logline;
    

    这样,当点击Matlab App中的按钮等触发控件回调函数时,就会将M文件中的打印信息显示到Matlab App的textarea控件中。

    另外,如果想要在M文件中直接将打印信息显示到Matlab App的textarea控件中,可以将M文件中的logline变量声明为全局变量,并在Matlab App中通过app.logline的方式访问和显示。在Matlab App的代码中,添加以下代码:

    % 在Matlab App中声明logline为全局变量
    global logline;
    
    % 将打印信息显示到textarea控件中
    app.appTextArea.Value = logline;
    

    然后,就可以在M文件中使用disp打印logline变量的值,打印信息会显示在Matlab App的textarea控件中。

    希望对你有所帮助!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月23日
  • 创建了问题 9月20日

悬赏问题

  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 python的EOFError该怎么解决?
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 java linux下将docx文件转pdf
  • ¥15 maven无法下载依赖包
  • ¥15 关于pycharm, Callable[[str],bool]作为方法参数使用时, lambda 类型不提示问题
  • ¥15 layui数据重载无效
  • ¥15 寻找了解qq家园纵横四海的程序猿。
  • ¥15 optisystem
  • ¥15 VB.NET画图时的撤销编程