MATLAB 给定一组二维坐标,拟合曲线并且取曲线上任意点的坐标方法,或者均分定义域,得到对应值方法

Matlab是一个很强大的数据处理软件,是人们进行数据分析的得力助手。一般我们做社会调研或科学研究时,会得到很多实验数据。当需要研究两个变量之间的关系时,经常要用到曲线拟合。曲线拟合不仅能给出拟合后的关系式,还能用图形直观的展现出变量之间的关系。 其实用matlab做曲线拟合很便捷,下面将以两个变量(y=f(x))为例详细介绍:

X = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29];
Y = [0, 5793, 8291, 9768, 10781, 11539, 12141, 12641, 13069, 13446, 13783, 14089, 14368, 14624, 14858, 15069, 15260,

15430, 15580, 15712, 15828, 15929, 16016, 16092, 16158, 16215, 16266, 16310, 16348, 16384 ];

通过matlab将离散二维坐标生成平滑曲线如下:

详细步骤如下:

1、在“命令行窗口”输入cftool命令,会弹Curve Fitting Tool窗口:

2、在Curve Fitting Tool窗口,中第一步:选择X变量 data和Y变量 data;第二部:选择拟合的曲线类型,一般是线性拟合,高斯曲线,平滑

曲线等,根据需要选择。

第三步:选择method, 选择完后会自动完成拟合,并且给出拟合函数表达式;

3、通过Curve Fitting Tool窗口上的“文件”下的Generate Code生成matlab代码如下:

%CREATEFIT(X,Y)
%  Create a fit.
%
%  Data for 'test' fit:
%      X Input : X
%      Y Output: Y
%  Output:
%      fitresult : a fit object representing the fit.
%      gof : structure with goodness-of fit info.
%
%  另请参阅 FIT, CFIT, SFIT.
%  由 MATLAB 于 17-Nov-2017 14:17:00 自动生成
%% Fit: 'test'.
[xData, yData] = prepareCurveData( X, Y );
% Set up fittype and options.
ft = 'linearinterp';
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, 'Normalize', 'on' );
%y = feval(fitresult,x);%
通过feval函数可以去任意x对应的y值

y = feval(fitresult,[0:0.1:29]);%将横坐标均等划分,得到Y对应的值

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

---------------------------------------------------------------------just over--------------------------------------------

希望对你有所帮助!


  • 13
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值