前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >带你玩转matlab单位换算

带你玩转matlab单位换算

作者头像
巴山学长
发布2023-03-17 12:59:08
1.6K0
发布2023-03-17 12:59:08
举报
文章被收录于专栏:巴山学长巴山学长
相信不少小伙伴接触过figure这个函数,figure中有个属性就是units,有pixels、normalized、inches、centimeters、points等几种可选情况,不少小伙伴使用它的时候可能没有注意而直接使用了系统的默认设置。

这个单位对定义界面尺寸、字体、位置等都有极大影响,尤其在GUI、APP开发中。下面就一起来看看这几个单位之间的换算关系吧。

1 inches = 2.54 centimeters

1 inches = 4.62 normalized

1 inches = 72.0 points

1 inches = 96.0 pixels

以上的换算关系来源于matlab GUIDE,由这几个关系式就可完成它们之间的相互转换。为了方便大家使用,小编专门将它们之间的相互转换整理成函数 —— unitsTrans,使用unitsTrans可以轻松完成以上的各种转换。

函数调用格式及参数说明:

调用格式:out = unitsTrans(ori,type,num)

ori为需要转换的数据;type为转换类型,字符串型数据;num为输出数据小数点后的有效数字位数,num可以为空,默认为2;out为转换后的数据。

所有可用type类型说明如下:

为了方便type类型书写,将五个单位分别进行缩写处理,inches缩写为incentimeters缩写为cenormalized缩写为nopoints缩写为popixels缩写为pi。若要将inches转换成pointstype则写成 'in2po',意为"inches to points"。

所有可用type:

inches到其他:in2in, in2ce, in2no, in2po, in2pi

centimeters到其他:ce2ce, ce2in, ce2no, ce2po, ce2pi

normalized到其他:no2no, no2in, no2ce, no2po, no2pi

points到其他:po2po, po2in, po2ce, po2no, po2pi

pixels到其他:pi2pi, pi2in, pi2ce, pi2no, pi2po

使用示例

代码语言:javascript
复制
% 示例1:
out = unitsTrans(0.12,'no2po')
% 示例2:
out = unitsTrans(12,'pi2ce',4)

小伙伴们可以根据上面的关系式自己编写相关转换程序。

参考资料:

[1] https://ww2.mathworks.cn/help/matlab/ref/figure.html

如需转载,请在公众号中回复“转载”获取授权,未经授权擅自搬运抄袭的,必将追究其责任!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巴山学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档