我有一个函数,没有具体表达式,但是用plot,画出了他的图像,然后我要求他和y=2的时候的交点,并且显示交点坐标的x,y值,请问怎么做。 |
反插值! x=0:0.05:pi/2; y=sin(x)+1.5; y1=2; spline(y,x,y1) ans = 0.5236 pi/6 = 0.5236 |
maple1314168 发表于 2017-10-19 20:30 关键是,我现在不知道那个画出来的图像的函数表达式,他是一个表格里面数据取出来的,我plot(x,y)画出他的图,然后又画了y=2的直线,然后想问下,就是怎么求交点。 |
陈逍遥 发表于 2017-10-19 20:32 我的x,y有函数? 我只是生成 x、y离散点。 之后可以用答案来比较! |
maple1314168 发表于 2017-10-19 20:34 那我问下,我plot里的两个变量(x,y),是不是可以用a=x,b=y,y1=2这样再用spline去做? |
陈逍遥 发表于 2017-10-19 20:35 当然啦! 插值,本身就是用离散的点。 只不过,现在把y看作x,x看作y,有点反函数的意味。你就转不不过? 可以相互插值的。只是看看把谁当做已知的。 |
maple1314168 发表于 2017-10-19 20:37 可是我用了这个方法,是能算出结果,可是和正确的答案不对,我也不知道为什么。有联系方式吗 |
本帖最后由 maple1314168 于 2017-10-19 20:47 编辑 陈逍遥 发表于 2017-10-19 20:39 这只是一种方法。可能答案用的方法不一样。 拟合函数。。。。。。 如果 离散的点(x值)比较密集而且连续的话,插值的结果是比较好而且简单。matlab自带函数fzero也包含这种算法求根。 |
maple1314168 发表于 2017-10-19 20:45 可是fzero不是得知道原来的函数方程嘛?大神能讲下fzero怎么做吗。 |
陈逍遥 发表于 2017-10-19 21:00 跟我,刚才的sin(x)函数一样啊! 若果你知道某个区间有根的话,可以在fzero,函数输入区间。之后跟我上面的一样。只是把2改为0。当然,上面的函数没有根。 |
Powered by Discuz! X3.4
© 2001-2024