查看: 3636|回复: 22|关注: 0

[已解决] 求助:用smoothing spline平滑曲线后,我想获取这条线上的点

[复制链接]

新手

9 麦片

财富积分


050


5

主题

38

帖子

0

最佳答案
我原本有四个坐标点,用smoothing spline拟合后,得到p参数,我用的是cftool插件直接导出的函数。
问题:

但是我plot图画出来,如图,发现拟合的红色曲线上有很多个坐标点,这些坐标点是通过什么产生的,我怎么获得这些坐标点呢?




谢谢各位大家查看帮忙解答我的疑问
QQ截图20171128203147.png

MATLAB 基础讨论
版块优秀回答者

入门

302 麦片

财富积分


50500


1

主题

434

帖子

54

最佳答案
  • 关注者: 5
发表于 2017-11-28 20:37:52 | 显示全部楼层
查查axes的xdata和ydata就是绘图的数据

新手

9 麦片

财富积分


050


5

主题

38

帖子

0

最佳答案
 楼主| 发表于 2017-11-28 20:44:34 | 显示全部楼层
lyhwinner 发表于 2017-11-28 20:37
查查axes的xdata和ydata就是绘图的数据

xdata和ydata只有四个点,可是从图中的红色曲线查看,有很多个坐标点,因为我把坐标点用圆圈表示出来的

MATLAB 基础讨论
版块优秀回答者

入门

302 麦片

财富积分


50500


1

主题

434

帖子

54

最佳答案
  • 关注者: 5
发表于 2017-11-28 20:48:17 | 显示全部楼层
慕阿拂 发表于 2017-11-28 20:44
xdata和ydata只有四个点,可是从图中的红色曲线查看,有很多个坐标点,因为我把坐标点用圆圈表示出来的 ...

你把代码贴出来 我看一下

MATLAB 基础讨论
版块优秀回答者

入门

302 麦片

财富积分


50500


1

主题

434

帖子

54

最佳答案
  • 关注者: 5
发表于 2017-11-28 20:52:09 | 显示全部楼层
慕阿拂 发表于 2017-11-28 20:44
xdata和ydata只有四个点,可是从图中的红色曲线查看,有很多个坐标点,因为我把坐标点用圆圈表示出来的 ...

你运行一下下面代码
a = plot(x,y);
查看a.XData  产看chartline的xdata

新手

9 麦片

财富积分


050


5

主题

38

帖子

0

最佳答案
 楼主| 发表于 2017-11-28 21:09:13 | 显示全部楼层
lyhwinner 发表于 2017-11-28 20:52
你运行一下下面代码
a = plot(x,y);
查看a.XData  产看chartline的xdata

%% Fit: 'untitled fit 1'.
x=[1396,1973,2297,2338]
y=[653,671,718,795]
[xData, yData] = prepareCurveData( x, y );

% Set up fittype and options.
ft = fittype( 'smoothingspline' );

% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft );

% Plot fit with data.
figure( 'Name', 'untitled fit 1' );
h = plot( fitresult,'o-r', xData, yData );
legend( h, 'y vs. x', 'untitled fit 1', 'Location', 'NorthEast' );
% Label axes
xlabel( 'x' );
ylabel( 'y' );
grid on

新手

9 麦片

财富积分


050


5

主题

38

帖子

0

最佳答案
 楼主| 发表于 2017-11-28 21:14:31 | 显示全部楼层
lyhwinner 发表于 2017-11-28 20:52
你运行一下下面代码
a = plot(x,y);
查看a.XData  产看chartline的xdata

抱歉,回复慢了,我用a=plot(x,y)得到的a=174.0044,x,y分别是四个值,画出的图是直线连接的,并不是图上红色曲线

MATLAB 基础讨论
版块优秀回答者

入门

302 麦片

财富积分


50500


1

主题

434

帖子

54

最佳答案
  • 关注者: 5
发表于 2017-11-28 21:21:00 | 显示全部楼层
慕阿拂 发表于 2017-11-28 21:09
%% Fit: 'untitled fit 1'.
x=[1396,1973,2297,2338]
y=[653,671,718,795]

结尾加一句x_new=h.XData就是曲线的x数据,y数据以此类推

新手

9 麦片

财富积分


050


5

主题

38

帖子

0

最佳答案
 楼主| 发表于 2017-11-28 21:27:05 | 显示全部楼层
lyhwinner 发表于 2017-11-28 21:21
结尾加一句x_new=h.XData就是曲线的x数据,y数据以此类推

尝试引用非结构体数组的字段。

出错 createFit (line 36)
x_new=h.xData

出错了

MATLAB 基础讨论
版块优秀回答者

入门

302 麦片

财富积分


50500


1

主题

434

帖子

54

最佳答案
  • 关注者: 5
发表于 2017-11-28 21:38:13 | 显示全部楼层
慕阿拂 发表于 2017-11-28 21:27
尝试引用非结构体数组的字段。

出错 createFit (line 36)

大写的X
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表