半对数坐标&matlab实现(代码片段)

踏乡墨客 踏乡墨客     2022-11-28     743

关键词:

文章目录

一、坐标系介绍

1.1 算数坐标系(笛卡尔坐标系)

算术坐标系统是普通的笛卡儿坐标,即横纵轴的刻度都是是等距的。

  • 举例:如果每1cm的长度都代表1,则刻度按照顺序0,1,2,3,4……,那么在普通的坐标系中,若y=x,则y=x对应的曲线为一条直线。

1.2 对数坐标系

对数坐标系统:坐标轴是按照相等的指数增加变化表示的.举例来说:如果每1cm代表10的1次方增加,则坐标轴刻度的表示依次为1,10,100,1000,10000……

  • 对数坐标轴分为半对数和双对数坐标轴。
  • 半对数坐标系一个轴是分度均匀的普通坐标轴,另一个轴是分度不均匀的对数坐标轴。
    在对数坐标轴上,某点与原点的实际距离为该点对应数的对数值,但是在该点标出的值是真数(比如y轴是对数坐标轴,1000在坐标轴上画出来与原点的实际距离是3,因为log10(1000)==3,但该点标出的值是103;在对数坐标轴上与原点实际距离为0,1,2的点分别为100,101,102)。
  • 双对数坐标:是指两个坐标轴都是对数坐标,假如对应于x、y轴,则两轴等刻度情况下,其值以相应底数成次方增长.(注意:在各自坐标轴上的是真数(在坐标轴上标的是真数),不是求对数后的值;因为是对坐标轴进行对数变换,不是对数据点变换。)
    比如x1和y1均为1000(真数),则坐标轴标的是1000,又求对数后均为3,因此x1和y1在坐标轴上的位置与原点的实际距离是3)
    举例来说:如果每1cm代表10的1次方增加,则坐标轴刻度依次为1,10,100,1000,10000……

1.3 两者的区别

算数坐标系统较对数坐标系统,他们区别体现于等刻度值增长方式不同,一个均匀增长,一个对数增长.

二、基于matlab的实例分析

在Matlab中,semilogx、semilogy函数可分别将x、y坐标轴变换为对数坐标轴。(注:是对坐标轴的改变

2.1 举例

下面以对y轴进行对数坐标轴变换为例(半对数坐标轴)

  • 首先画出普通坐标系下y=10x对应的曲线(plot命令)
  • 然后画出半对数坐标轴(y为对数坐标轴)下y=10x对应的曲线(semilogy命令)

代码:

 x = 0:0.1:10;
 y = 10.^x;
 
 subplot(2,1,1)
 plot(x,y)
 grid on %打开网格线
 
 subplot(2,1,2)
 semilogy(x, y)

2.2 分析与证明

  • 第一个图为普通坐标系下y=10x对应的曲线,是一个以指数增长的曲线
  • 第二个图是y轴变换为对数坐标轴后得到的新曲线。仔细观察该图的y轴发现10,100(102),1000,10000之间的距离是一样的,但是在一般的笛卡尔坐标系中这是不可能。在对数坐标系中,y轴变成了log10y(即新的坐标轴y’),那么相当于把10,100,1000,10000转化成了1,2,3,4,这样就可以理解了。
  • 证明:对y=10x的两边取对数得lgy=lg(10x),即y‘ = lgy = x。这里的y’为变换得到的对数坐标轴,y为原来坐标轴上的数。可以发现,因为y’ = x,所以在对数坐标轴下的曲线为一条直线;但是y’轴上的数还是原来的数(真数,即100,101,102,103…),不是对数值。
  • 整个过程可以理解为:将y轴变换为对数坐标轴y’,原来y轴上的数据点(100,101,102,103…)没变,其实是坐标轴上的刻度变了,数据点(100,101,102,103…)在对数坐标轴y’上的刻度为0,1,2,3…,所以在半对数坐标系下y’与x对应的曲线为直线。

loglog()函数(代码片段)

数据:xd=[1,2,3]yd=[0.6,0.2,0.2] matlab中双对数函数:命令:loglog(xd,yd,‘blacko-‘,‘MarkerFaceColor‘,[1,0,0]);gridon;axis([10^010^210^-510^0]); 解释:loglog:用于画双对数坐标,对数坐标可以清楚地看到较小值的变化blacko-:其中black表示黑... 查看详情

如何设置matlab坐标轴比例

采用半对数坐标系就可以了,程序如下:X=[0.2,0.3,0.5,0.6,0.7,1.1,5.2,9.1,15,20,30,50,100];Y=[0.8,1.2,3.6,3.7,4.0,5.2,5.5,5.2,5.3,5.2,5.6,5.1,5.8];semilogx(X,Y)类似功能的函数有semilogy,以及对数坐标loglog参考技术A问:如何设置坐标轴的步长?答:set(gca,'xti... 查看详情

坐标&接龙型动态规划-20181026(代码片段)

109. Triangle此题还可以用DFS,记忆化搜索去做,二刷实现1publicclassSolution2/**3*@paramtriangle:alistoflistsofintegers4*@return:Aninteger,minimumpathsum5*/6publicintminimumTotal(int[][]triangle)7//writeyourcodeher 查看详情

gps转换百度地图坐标&websocket(stomp)实现动态打点(代码片段)

序       这会已经下班乐,本来觉得这个好像没有什么新东西。最后决定还是趁现在下班写写是因为要让大家看看单技术组合使用的意义。这里就是在上次springBoot+thymeleaf+layui后端极速做前后端开发的基础上增加内... 查看详情

matlab|一行代码实现截断坐标轴(代码片段)

说是一行代码截断,实际上是你们可以用一行代码简单调用工具函数进行截断,但这个工具函数实际上有接近两百行hiahiahia,制作不易求个赞。0封面效果注:以下绘图是做出添加次刻度线,轴线加粗等一系列... 查看详情

matlab|一行代码实现截断坐标轴(代码片段)

说是一行代码截断,实际上是你们可以用一行代码简单调用工具函数进行截断,但这个工具函数实际上有接近两百行hiahiahia,制作不易求个赞。0封面效果注:以下绘图是做出添加次刻度线,轴线加粗等一系列... 查看详情

使用 Qwt 绘制半对数图

】使用Qwt绘制半对数图【英文标题】:PlottingasemilogchartwithQwt【发布时间】:2014-11-1400:32:46【问题描述】:我想使用Qwt绘制一个半对数图。我不了解Qwt,但我正在寻找一些示例来指导我的代码。问题是目前我找不到人。你能帮我... 查看详情

ifcpolygonalboundedhalfspace(代码片段)

...由多边形边界进行边界。半空间的底面通过其相对于对象坐标系的法线定位(如在超类型IfcHalfSpaceSolid中定义的),其多边形(带或不带弧段)边界在由位置属性建立的位置坐标系的XY平面中定义,减法体将垂直于位置坐标系的XY... 查看详情

二位平面坐标的离散化(代码片段)

...的角度还是有所不同。思想理解起来其实道理很简单,如坐标(3,2000),(10005,31),(10006,5)离散至新图,先看x坐标,3个点有3,10005,10006,离散后即1,3,4;3-> 查看详情

matlab作图(极坐标和对数图像)

...era,r,‘r-.‘);  %用红色虚点线显示 3、使用loglog()画对数图像绘制y=exp(-10*x^2)的图像x=[0:0.01:20];y=exp(-10*x.^2);loglog(x,y);  查看详情

depthpeeling实现半透明(代码片段)

最近忙着找实习做毕设出差,好久没有记东西,现在记录一下带学弟写的一个用depth-peeling实现的半透明。----------------------------------------------------------------------------------------------------------------------------------------------1.把 查看详情

pcl:计算指定点到点云的最远一点坐标(代码片段)

文章目录1函数原型2实现代码3输出结果1函数原型pcl::getMaxDistance(constpcl::PointCloud<PointT>&cloud,constEigen::Vector4f&pivot_pt,Eigen::Vector4f&max_pt)2实现代码关键代码:pcl::getMaxDistance(*cloud,pivot_ 查看详情

小样本利器1.半监督一致性正则temporalensemble&meanteacher代码实现

这个系列我们用现实中经常碰到的小样本问题来串联半监督,文本对抗,文本增强等模型优化方案。小样本的核心在于如何在有限的标注样本上,最大化模型的泛化能力,让模型对unseen的样本拥有很好的预测效果。半监督通过利... 查看详情

python绘制误码率对比折线图,纵坐标是10次幂,即求对数(代码片段)

...精度,纵坐标是误码率,且单位是10次幂,即对数显示,横坐标是信噪比,可视化程序如下importnumpyasnpimportmatplotlib.pyplotaspltdefdraw_ber_line_graph(ber_list,labels,img_name):"""Drawsalinegraphofthebiterrorrate(BER)ofthreediffe... 查看详情

python绘制误码率对比折线图,纵坐标是10次幂,即求对数(代码片段)

...精度,纵坐标是误码率,且单位是10次幂,即对数显示,横坐标是信噪比,可视化程序如下importnumpyasnpimportmatplotlib.pyplotaspltdefdraw_ber_line_graph(ber_list,labels,img_name):"""Drawsalinegraphofthebiterrorrate(BER)ofthreediffe... 查看详情

在吗?我想请教您一个问题,matlab生成的图像纵坐标的值从上到下依次是10^0,10^(-1),10^-2……10^-7,

这是怎么生成的呢这个属于对数坐标;Matlab里面使用不同的函数生成不同的坐标系:[1]plot函数生成的是常用的等距坐标系;[2]semilogx函数生成的坐标系,x轴是对数坐标,y轴是等距坐标;[3]semilogy函数生成的坐标系,x轴是等距坐... 查看详情

css实现父元素半透明,子元素不透明(代码片段)

CSS实现父元素半透明,子元素不透明CSS实现父元素半透明,子元素不透明。很久以来大家都习惯使用opacity:0.5在新式浏览器里实现半透明,而对IE较旧的版本使用filter:Alpha(opacity=0.5)的滤镜来实现半透明。但是这样实... 查看详情

css实现父元素半透明,子元素不透明(代码片段)

CSS实现父元素半透明,子元素不透明CSS实现父元素半透明,子元素不透明。很久以来大家都习惯使用opacity:0.5在新式浏览器里实现半透明,而对IE较旧的版本使用filter:Alpha(opacity=0.5)的滤镜来实现半透明。但是这样实... 查看详情