matlab如何使输出结果更美观(symdisp函数——pretty函数升级版)

article/2025/9/12 7:09:57

matlab中有些计算结果比较长,直接查看有些困难,下面介绍pretty和symdisp函数优化输出结果,使结果更为直观。


演示示例1

有一个计算结果如下:

>> f1f1 =y^5 + (- w - y0)*y^4 + 1800*y^3 + (1498200*w - 1800*y0)*y^2 + (3600*w*y0 + 810000)*y - 1350810000*w - 810000*y0
1. 使用pretty函数美化输出
>> pretty(f1)5               4         3                          2
y  + (- w - y0) y  + 1800 y  + (1498200 w - 1800 y0) y  + (3600 w y0 + 810000) y - 1350810000 w - 810000 y0

该函数可使输出更接近数学格式。

2. 使用symdisp函数美化输出
symdisp(f1);

在这里插入图片描述


演示示例2

有一个计算结果如下:

>> F(3)ans =(y^2*((w - (2*w*y^2)/(y^2 + 900))/(y - y0) + 1))/60 - (25015*(w - (2*w*y^2)/(y^2 + 900)))/(y - y0) - (60*w*y)/(y^2 + 900) + 15
1. 使用pretty函数美化输出
>> pretty(F(3))/           2      \|      2 w y       || w - --------     |   /           2  \|      2           |   |      2 w y   |2 |     y  + 900     |   | w - -------- | 25015
y  | ------------ + 1 |   |      2       |\    y - y0        /   \     y  + 900 /          60 w y
----------------------- - ---------------------- - -------- + 1560                     y - y0            2y  + 900

该函数可使输出更接近数学格式。

2. 使用symdisp函数美化输出
symdisp(F(3));

在这里插入图片描述


演示示例3

有一个计算结果如下:

>> nn =[ -(2*x*(2*r^2 - 4*x^2 + 4*y*(w - y) - 1800))/(4*x^2 + 4*y^2 + 3600), -(2*y*(2*r^2 - 4*x^2 + 4*y*(w - y) - 1800))/(4*x^2 + 4*y^2 + 3600), (60*(2*r^2 - 4*x^2 + 4*y*(w - y) - 1800))/(4*x^2 + 4*y^2 + 3600)]
1. 使用pretty函数美化输出
>> pretty(n)
/         x #1 2                y #1 2               60 #1       \
| - ------------------, - ------------------, ------------------ |
|      2      2              2      2            2      2        |
\   4 x  + 4 y  + 3600    4 x  + 4 y  + 3600  4 x  + 4 y  + 3600 /where2      2#1 == 2 r  - 4 x  + 4 y (w - y) - 1800

该函数可使输出更接近数学格式。

2. 使用symdisp函数美化输出
symdisp(n);

在这里插入图片描述


总结

经过以上实验,发现symdisp函数可将输出结果转化为更易读的格式,且效果较好

附录:symdisp函数源码

function h=symdisp(s)
%//SYMDISP Display a symbolic expression in human readable form.
%// symdisplay(S) displays the symbolic expression S in a small figure window,
%// using standard mathematical notation.
%// 
%// Examples:
%//   syms x t positive
%//   f=taylor(cos(x));
%//   symdisp(f)
%//   f=int(exp(-t)*t^(x-1),t,0,inf);
%//   symdisp(f)
%//
%// Required toolbox: Symbolic Math
%//
%// See also SYMBOLIC PRETTY.
if ~isa(s,'sym')s=sym(s);%error('输入参数必须是sym类型,请使用 sym() 将你的结果转化为sym类型.')
end
S=['$',latex(s),'$'];
S=strrep(S,'&','& \quad');
S=strrep(S,'{\it','\mathrm{');
h=msgbox(S,'字符的数学展示形式');
h1=get(h,'children');
h2=h1(1);
h3=get(h2,'children');
if isempty(h3)h2=h1(2); h3=get(h2,'children');
end
set(h3,'visible','off')
set(h3,'interpreter','latex')
set(h3,'string',S)
set(h3,'fontsize',20)
w=get(h3,'extent');
W=get(h,'position');
W(3)=max(w(3)+10,125);
W(4)=w(4)+40;
set(h,'position',W)
h4=h1(2);
if ~strcmp(get(h4,'tag'),'OKButton'), h4=h1(1); end
o=get(h4,'position');
o(1)=(W(3)-o(3))/2;
set(h4,'position',o)
set(h3,'visible','on')
set(h,'color','w');

此函数源文件可前往下面网址下载:

symdisp.m下载通道


http://chatgpt.dhexx.cn/article/r4wRmkXe.shtml

相关文章

Matlab中textscan函数用法

目录 语法 说明 示例 读取浮点数 读取不同类型的数据 删除字面文本 跳过每行的其余部分 指定分隔符和空值转换 指定要视为空或注释的文本 将重复的分隔符视为一个分隔符 指定重复的转换设定符并收集数值数据 读取或跳过引用文本和数值字段 读取外语日期 读取非默…

【MATLAB学习笔记01】【快速入门】初识MATLAB的界面和编辑脚本的基础知识

打开MATLAB后,建议各位新手,先随便按下各个按键,熟悉下总体的页面布局,并且对各个按键的功能有点印象,这样可以更容易上手。 主要功能区(下图用红色方框圈出来的位置): 命令行窗口…

零基础入门Matlab(一篇两个小时就能学完的入门博客)

目录 零基础入门matlab前言1.界面认识2.变量命名3.数据类型4.元胞数组和结构体5.矩阵操作6.程序结构7.基本绘图操作7.1.二维平面绘图7.2.三维立体绘图 8.图形的保存与导出9.补充 零基础入门matlab 前言 这篇文章很适合MATLAB的入门学习,这也是我在入门时学习的笔记…

MATLAB中text函数使用

目录 语法 说明 示例 向数据点添加文本说明 向多个数据点添加文本 显示多行文本 指定文本大小和颜色 修改现有文本 text函数的功能是向数据点添加文本说明。 语法 text(x,y,txt) text(x,y,z,txt) text(___,Name,Value) text(ax,___) t text(___) 说明 text(x,y,…

matlab中实现文字和数字和混输出excel

做一个小程序时,需要数据和文字混合输出到,直接构建这样的矩阵在matlab中行不通 于是有了下列的代码: %输出excel表格 excel_outpathF:\Work\paper_work\parallel_simulation\code\excel\test.xlsx;%输出路径 %构建表头 rtnxlswrite(excel_…

使用layui 查询列表分页不能重置问题

使用layui的table.render({})函数可以快速的帮自己建立一个表格 但是我发现自己的表格在使用搜索按钮后,无法定位到搜索当前数据的第一页,这里可以使用监听搜索在执行重载中,将当前页curr重置为1即可

Java代码重置kafka0.10.1.0版本的偏移量offset

如果使用的自动提交偏移量的模式,偏移量会给到kafka或者zk进行管理,其中kafka的偏移量重置给了重新消费kafka内未过期的数据提供了机会,当消费者出错,比如消费了数据,但是中途处理失败,导致数据丢失&#x…

Java重置Mysql主键自增长值

MySql 主键自增重置器(统一处理多个表) resetAutoincrement 是一款基于 Java 开发的程序,其功能为重置 mysql 数据库表的主键自增的值为最近的一个。 介绍 开发背景主要是工作中,测试同学在清理数据的时候,使用的是 D…

java重置按钮功能函数_Bootstrap按钮功能之查询按钮和重置按钮

Bootstrap按钮功能之查询按钮和重置按钮 1、问题背景 一般情况下,查询列表有查询条件、查询按钮和重置按钮,输入查询条件,点击查询按钮查询列表等数据;点击重置按钮会将查询条件恢复到原始状态 2、实现源码Bootstrap-查询按钮和重…

Java窗口重置

1、找到java界面中的Windows 2、右击进去按图下步骤进入 3、确定重置窗口

2021年美赛成绩公布与美赛查询!美赛官网已更新

我在浏览美赛官网查询美赛成绩时 美赛官网显示,2021年竞赛成绩将于4月23日公布 The MCM/ICM contest results will be available April 23, 2021 美赛成绩查询方式 ① 进入comap官网→Advisor Login→查看成绩 ② 直接查看并下载证书 示例:http://www.comap-ma…

2023美赛赛题思路分析

占个位置吧,开始在本帖实时更新赛题思路代码,文章末尾即可获取! 2023美赛赛题初步分析 A题:受干旱破坏的植物群落 A题是一个植物群落的环境问题,涉及到预测、评估分析,该题难度较大,我们可以考…

2023年美赛F题

关键点 1.绿色GDP(GGDP)是否比传统GDP更好好的衡量标准? 2.如果GGDP成为经济健康的主要量标准,可能会对环境产生什么影响? 3建立一个简单的模型,估计GGDP取代GDP作为经济健康的主要衡量标准,对减缓气候变化产生的影响。 4.GGDP取代GDP可能会…

【经验分享】美赛报名以及注册方法-以2023年美赛为例

首先点击COMAP的官网链接: https://www.comap.com/ 然后选择Contests目录下的MCM/ICM 选择 Learn More and Register 然后选择 Click here to register for the 2023 MCM/ICM contest 注册分为两个步骤:顾问(指导教师)注册和填…

2021年美赛准备大全

2021年美赛准备大全 目录 1、2021美赛比赛网址及其介绍 2、2020年美赛摘要页说明 3、美赛常用词语与语句 4、美赛翻译注意事项 5、美赛论文写作一些建议 5.1 团队方面准备 5.2 摘要表部分 5.3 评委关注点 6、组队要求 7、软件与一些建模网址参考 (1&…

2021美赛什么时候出成绩?

目录 0引言1、官网公告以及经验分析1.1官网1.2 以往时间节点 2、查询方式总结更新(2021年4月12日) 0引言 2021年2月9号上午美赛结束,后天才知道提交系统早上的时候卡了一会。现在估计该提交的提交状态都已经更新了。提交成功的人关心的是&am…

【数学建模】2018年数学建模国赛C题 问题一代码

文章目录 问题一代码导入包及数据数据探索与预处理 会员统计分析分析会员的年龄构成、男女比例等基本信息分析会员的总订单占比,总消费金额占比等消费情况分别以季度和天为单位,分析不同时间段会员的消费时间偏好会员与非会员统计分析 问题一代码 本文从…

美赛真题和优秀论文(2019-2021)

无偿提供2019-2021年美赛真题、数据、O奖论文 部分示例: 资源地址:MCM ICM (gitee.com) 如有资源丢失情况,可后台私信获取 一次参赛,受益终身

2020年美赛A题总结

2020年美赛A题总结 更新 最近很多朋友都想看一看论文,我平时不怎么上csdn,可能无法及时发给大家,故上传了论文资源。 祝大家美赛顺利! https://download.csdn.net/download/hroukie/14727940 ————分割线———— 更新下&am…