要找到某一个x值时的y值, 首先得需要知道x和y的函数关系, 即y = f(x).
函数关系的确立一般可通过插值或者拟合得到, 分别举个插值和拟合的例子:
(1) 插值的例子: 比如用样条插值
>> x=[1,2,3,4,5];x=4.5时, y=9.5.
(2) 拟合的例子: 比如用polyfit来拟合, 用polyval来计算
>> x=[1,2,3,4,5];x=4.5时, y=9.5
追问谢谢,那我现在像把这个4.5加到x轴上,不改变之前的坐标,有没有法子!
追答有一个笨办法, 不是最好的, 但可行
>> x=[1,2,3,4,5];还是要谢谢你!辛苦了~~只能采纳一个
谢谢,那我现在像把这个z值加到x轴上,不改变之前的坐标,有没有法子!
谢谢,学习了,那我现在像把这个中值对应的x坐标加到x轴上,不改变之前的坐标,有没有法子!
追答接着上面的程序:
>> set(gca,'xtick',[1:4])
>> plot([xmed,xmed],ylim,':')
>> ym=ylim;
>> h=text(xmed,ym(1),num2str(xmed));
>> set(h,'HorizontalAlignment','center','VerticalAlignment','top')
试了下,你这可行,就是有点看不懂~~
追答>> x=1:0.1:4;
>> y=x.^3+x.^2;
>> ymed=median(y);%利用取中值函数得到y的中值
>> xmed=x(find(y==ymed))%利用find函数找到y中值对应的地址,然后找到这个地址对应的x
>> plot(x,y) %绘制图形曲线
>> hold on %保持图像
>> plot(xmed,ymed,'o') %绘制标记点
>> text(xmed,ymed,'\leftarrow{this is the median}') %在标记点旁边添加说明
>> set(gca,'xtick',[1:4]) %更改坐标轴刻度(由于这个原始刻度已有,所以给去掉,其他时候可以不用)
>> plot([xmed,xmed],ylim,':')%绘制标记点的x坐标虚线
>> ym=ylim; %得到y坐标轴刻度的最大最小值
>> h=text(xmed,ym(1),num2str(xmed)); %在x轴上添加文本注释框
>> set(h,'HorizontalAlignment','center','VerticalAlignment','top') %挪动文本框到合适的位置