失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【数学建模】拟合算法+Matlab实现

【数学建模】拟合算法+Matlab实现

时间:2023-05-09 22:42:09

相关推荐

【数学建模】拟合算法+Matlab实现

学习内容:

提示:这里可以添加要学的内容

例如:

1、 了解拟合算法基本内容

2、 使用Matlab实现拟合算法


学习时间:

.12.09


学习产出:

1.matlab实现拟合算法的几个小例子

clear;clc;load data1.mat;plot(x,y,"o");% 给x和y轴加上标签xlabel("x的值");ylabel("y的值");n = size(x,1);k = (n*sum(x.*y)-sum(y).*sum(x))/(n*sum(x.*x)-sum(x).*sum(x));b = (sum(x.*x).*sum(y)-sum(x).*sum(x.*y))/(n*sum(x.*x)-sum(x).*sum(x));hold on;% 继续在之前的图形上来画图形grid on;% 显示网格线% % 画出y=kx+b的函数图像 plot(x,y)% % 传统的画法:模拟生成x和y的序列,比如要画出[0,5]上的图形% xx = 2.5: 0.1 :7 % 间隔设置的越小画出来的图形越准确% yy = k * xx + b % k和b都是已知值% plot(xx,yy,'-')% 匿名函数的基本用法。% handle = @(arglist) anonymous_function% 其中handle为调用匿名函数时使用的名字。% arglist为匿名函数的输入参数,可以是一个,也可以是多个,用逗号分隔。% anonymous_function为匿名函数的表达式。%匿名函数画回归曲线% fplot函数可用于画出匿名一元函数的图形。% fplot(f,xinterval) 将匿名函数f在指定区间xinterval绘图。xinterval = [xmin xmax] 表示定义域的范围f = @(x) k*x+b;fplot(f,[2.5,7],"r-"); legend("样本数据","拟合函数曲线","Location","SouthEast");%如何评价拟合的好坏?y_hat = k*x+b; % y的拟合值SSR = sum((y_hat-mean(y)).^2) % 回归平方和 mean(y)求y每列的平均值(这里y只有一列)SSE = sum((y_hat-y).^2) % 误差平方和SST = sum((y-mean(y)).^2) % 总体平方和SST-SSE-SSR % 5.6843e-14 = 5.6843*10^-14 matlab浮点数计算的一个误差R_2 = SSR / SST %拟合优度%调用Matlab-CurveFitting自动生成的代码createFit(x,y);

拟合后:

注意:

拟合算法和插值算法的不同之处在于,拟合算法不要求曲线一定要经过给定的点,拟合算法是尽可能的寻找一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小化损失函数)。

如果觉得《【数学建模】拟合算法+Matlab实现》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。