📄 18-曲线拟合和多项式拟合-3.m__.htm
字号:
<html><head><title>MATLAB.rar 18-曲线拟合和多项式拟合-3.m</title>
<LINK href="/inc/read_style.css" type=text/css rel=stylesheet></head>
<body>
<p><a href=http://www.pudn.com>www.pudn.com</a> > <a href="http://www.pudn.com/downloads111/sourcecode/graph/detail461284.html">MATLAB.rar</a> > 18-曲线拟合和多项式拟合-3.m</p><!-- saved from http://www.pudn.com -->
<script src="/inc/gg_read1.js"></script><BR>
<pre name="code" class="m">
% 最小二乘法多项式拟合
% ******** 螺旋副效率y与螺纹导程角x的关系 ********
% (1)-----选择拟合多项式拟合的阶数
x=[10 20 30 40 50 60 70];
y=[0.63 0.76 0.80 0.82 0.82 0.80 0.70];
n = 7; x1 = x(1); xn = x(n);
% n个数据可以拟合(n-1)阶多项式,高阶多项式多次求导,数值特性变差
% polytool()是交互式函数,在图形上方[Degree]框中输入阶数,右击左下角的[Export]输出图形
polytool(x,y,1)
% 观察多项式拟合的图形,选择置信区间最小的多项式阶数
% (2)-----计算多项式的各项系数和拟合值
m=input(' 输入多项式拟合的阶数 m = ');
[p,S]=polyfit(x,y,m);
disp ' 输出多项式的各项系数'
fprintf (1,' a = %3.16f \n',p)
disp ' 输出多项式的有关信息 S'
disp (S)
[yh,delta]=polyconf(p,x,S);
disp ' 观测数据 拟合数据'
disp ' x y yh'
for i = 1 : n
xy = [x(i) y(i) yh(i)];
disp (xy)
end
% (3)-----绘制观测数据离散点图和多项式曲线
plot(x,y,'r.')
title('\bf 实验数据离散点图 / 多项式曲线 \it y = a0+a1x+a2x^2+a3x^3+...')
grid
hold on;
xi=[x1:0.1:xn];
yi=polyval(p,xi);
plot(xi,yi,'k-')
% (4)-----拟合效果和精度检验
Q=sum((y-yh).^2);
SGM = sqrt(Q / (n - 2));
RR = sum((yh-mean(y)).^2)/sum((y-mean(y)).^2);
fprintf (1,' 剩余平方和 Q = %3.6f \n',Q)
fprintf (1,' 标准误差 Sigma = %3.6f \n',SGM)
fprintf (1,' 相关指数 RR = %3.6f \n',RR)
x0=input(' 输入插值点 x0 = ');
y0=polyval(p,x0);
fprintf (1,' 输出插值点拟合函数值 y0 = %3.4f \n',y0)
</pre>
<script src="/inc/gg_read2.js"></script><BR>
<script src="http://s117.cnzz.com/stat.php?id=1236358&web_id=1236358&show=pic" language="JavaScript" charset="gb2312"></script>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -