matlab如何使输出结果更美观(symdisp函数 您所在的位置:网站首页 如何自然变好看 matlab如何使输出结果更美观(symdisp函数

matlab如何使输出结果更美观(symdisp函数

2024-07-01 11:07| 来源: 网络整理| 查看: 265

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

演示示例1

有一个计算结果如下:

>> f1 f1 = 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 ----------------------- - ---------------------- - -------- + 15 60 y - y0 2 y + 900

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

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

在这里插入图片描述

演示示例3

有一个计算结果如下:

>> n n = [ -(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 / where 2 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下载通道



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有