版本:R2020b
题目
一种合金在某种添加剂的不同浓度下进行实验,得到如下数据:
已知函数
y
y
y 与
x
x
x 的关系适合模型:
y
=
a
+
b
x
+
c
x
2
y=a+bx+cx^2
y=a+bx+cx2,试用最小二乘法确定系数
a
,
b
,
c
a,b,c
a,b,c,并求出拟合曲线。
代码
Fitting.m
Tx = [10.0, 15.0, 20.0, 25.0, 30.0];
Ty = [27.0, 26.8, 26.5, 26.3, 26.1];
% cftool("Fitting_Result.sfit");
createFit( Tx, Ty );
首先是使用的 cftool 工具,使其自动生成代码 creareFit.m
。
createFit.m
function [fitresult, gof] = createFit(Tx, Ty)
%% Fit: 'Fitting'.
[xData, yData] = prepareCurveData( Tx, Ty );
% Set up fittype and options.
ft = fittype( 'poly2' );
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft );
% Plot fit with data.
figure( 'Name', 'Fitting' );
h = plot( fitresult, xData, yData, 'x' );
legend( h, 'Ty vs. Tx', 'Fitting', 'Location', 'NorthEast', 'Interpreter', 'none' );
title( 'Fitting Result for Exercise 2.2' );
% Label axes
xlabel( 'Tx', 'Interpreter', 'none' );
ylabel( 'Ty', 'Interpreter', 'none' );
grid on
效果
Mathematica 版本
ALL RIGHTS RESERVED © 2021 Teddy van Jerry
欢迎转载,转载请注明出处。
See also
Teddy van Jerry 的 个人主页
Teddy van Jerry 的 CSDN 导航页
Teddy van Jerry 的 GitHub 主页