如何运用MATLAB求曲线某点纵坐标对应的横坐标?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何运用MATLAB求曲线某点纵坐标对应的横坐标?相关的知识,希望对你有一定的参考价值。
如标题。
1、在图形界面窗口中,工具栏上的【Data Cursor】工具,然后再在需要查看坐标值的数据点上单击左键即可。
2、也可以选择【tools】菜单栏下面的【Data Cursor】选项,具体情况如图:
3、最终效果如下图:
参考技术A在MATLAB中,已知曲线某点横坐标x0来求纵坐标y0的问题,可以通过插值函数interp1()来很好地解决。但是反过来如何解决呢?我想到了下面的办法来最大程度地得到横坐标的精确值x0。
1、首先通过MATLAB曲线图观察出纵坐标y0与曲线s=s(x,y)的交点p,判断出交点p在横坐标轴上的范围[a,b];
2、通过在区间[a,b]上灵活应用插值函数interp1,可以得到包含纵坐标y0在内的一系列值;
3、通过函数find(y>y0,1,'first')求得第一个比y0大的y的索引,通过find(y<y0,1,'last')求得第一个比y0小的y的索引;
4、通过以上索引可相应求得横坐标上的值a0和b0,而精确值x0便位于a0和b0之间;
5、可以取x0= mean([a0,b0]),便可求得纵坐标所对应的横坐标,而且精度随插值步长的减小而提高。
以上方法简单实用,通过使用该法,很容易地解决了前面所提出的问题,效果可用一张图表示如下:
本回答被提问者采纳 参考技术B 在matlab中有一个interp1()函数,可以帮助解决问题,具体情况如下:MATLAB中的插值函数为interp1,其调用格式为: yi= interp1(x,y,xi,'method')
其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量, 'method'表示采用的插值方法,MATLAB提供的插值方法有几种: 'method'是最邻近插值, 'linear'线性插值; 'spline'三次样条插值; 'cubic'立方插值.缺省时表示线性插值
注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。
例如:在一天24小时内,从零点开始每间隔2小时测得的环境温度数据分别为
12,9,9,1,0,18 ,24,28,27,25,20,18,15,13,
推测中午12点(即13点)时的温度.
x=0:2:24;
y=[12 9 9 10 18 24 28 27 25 20 18 15 13];
a=13;
y1=interp1(x,y,a,'spline')
结果为: 27.8725
若要得到一天24小时的温度曲线,则:
xi=0:1/3600:24;
yi=interp1(x,y,xi, 'spline');
plot(x,y,'o' ,xi,yi)
matlab中plot函数用法
参考技术A1、plot(y)
当y为向量时,是以y的分量为纵坐标,以元素序号为横坐标,用直线依次连接数据点,绘制曲线。若y为实矩阵,则按列绘制每列对应的曲线。
2、plot(x,y)
若y和x为同维向量,则以x为横坐标,y为纵坐标绘制连线图。若x是向量,y是行数或列数与x长度相等的矩阵,则绘制多条不同色彩的连线图,x被作为这些曲线的共同横坐标。若x和y为同型矩阵,则以x,y对应元素分别绘制曲线,曲线条数等于矩阵列数。
3、plot(x1,y1,x2,y2,……)
在此格式中,每对x,y必须符合plot(x,y)中的要求,不同对之间没有影响,命令将对每一对x,y绘制曲线。
以上三种格式中的x,y都可以是表达式。plot是绘制一维曲线的基本函数,但在使用此函数之前,须先定义曲线上每一点的x以及y坐标。
扩展资料:
MATLAB相关函数功能简介:
MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。
功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
参考资料来源:百度百科-MATLAB
参考资料来源:百度百科-plot
以上是关于如何运用MATLAB求曲线某点纵坐标对应的横坐标?的主要内容,如果未能解决你的问题,请参考以下文章
在OpenCV打开的图像上,已知图像上的某点坐标,如何获取该点像素值
matlab中,利用 plot做出了二维图像,并且知道图像上某点的纵坐标,怎么求出其横坐标??