数学建模第四讲 您所在的位置:网站首页 matlab里面的mean函数 数学建模第四讲

数学建模第四讲

2024-07-18 06:17| 来源: 网络整理| 查看: 265

目录

 

一.适用情况

二.最小二乘法

(1)意义和原理

(2)matlab求解

三.拟合优度

(1)概念:

线性函数的介绍:

(2)matlab计算拟合优度

mean()函数用来求解平均值

四.matlab知识点

(1)匿名函数:

(2)fplot函数:

(3)MATLAB曲线拟合工具箱

①打开

②界面功能

③拟合的方法:

④保存拟合图像方法:

⑤利用拟合工具箱生成拟合代码:

(4)生成随机数

一.适用情况

二.最小二乘法 (1)意义和原理

就是求所设参数取值为多少时,拟合曲线和样本点最近(简而言之,就是下面这个图中的这些竖杠杠之和最小)

(yi为原始数据)

补充:最小二乘法用差的平方和的原因:

1次方要加绝对值(算距离),不好计算奇次方误差互抵比2大的偶次方,如果出现极端数据,会对结果产生较大的影响 (2)matlab求解

(证明过程见课件,此处略)

clear;clc load data1 plot(x,y,'o') % 给x和y轴加上标签 xlabel('x的值') ylabel('y的值') n = size(x,1); k = (n*sum(x.*y)-sum(x)*sum(y))/(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 % 显示网格线 %way1: xx = 2.5: 0.1 :7 % 间隔设置的越小画出来的图形越准确 yy = k * xx + b % k和b都是已知值 plot(xx,yy,'-') %way2(匿名函数): f=@(x) k*x+b; fplot(f,[2.5,7]);%x的范围为2.5~7 legend('样本数据','拟合函数','location','SouthEast')

(匿名函数的讲解在后面)

三.拟合优度 (1)概念:

用来评价拟合的好坏

(证明过程见课件)

注意:拟合函数次数越大,SSE越小,但是会出现龙格现象,因此要在准确和函数简洁之间要有取舍。

R^2只能用于线性函数的原因是由于SST=SSE+SSR的证明过程要用到求导。

线性函数的介绍:

这里所说的线性是指对参数为线性。

判断是否为线性函数:

注:此图中的二次,指数,三次函数均为线性函数。

(2)matlab计算拟合优度

y_hat = k*x+b; % y的拟合值 SSR = sum((y_hat-mean(y)).^2) % 回归平方和 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 mean()函数用来求解平均值 四.matlab知识点 (1)匿名函数:

基本用法:

handle = @(arglist) anonymous_function % 其中handle为调用匿名函数时使用的名字。 % arglist为匿名函数的输入参数,可以是一个,也可以是多个,用逗号分隔。 % anonymous_function为匿名函数的表达式。

 例如:  

z=@(x,y) x^2+y^2; z(1,2) % % ans = 5 (2)fplot函数:

作用:  fplot函数可用于画出匿名一元函数的图形。

语法:  

fplot(f,xinterval) %将匿名函数f在指定区间xinterval绘图。xinterval = [xmin xmax] 表示定义域的范围 (3)MATLAB曲线拟合工具箱 ①打开

②界面功能

置信区间表示有95%的可能落在该区间内。

 center and scale:

 

③拟合的方法:

④保存拟合图像方法:

文件->print to figure->导出设置->导出

⑤利用拟合工具箱生成拟合代码:

文件->generate code 生成一个函数(为了美观,最好在结尾加上end)

把红框部分复制到主代码中,即可运行

注意:将自动生成的代码中的注释改成中文,或自己的理解

(4)生成随机数 % (1)randi : 产生均匀分布的随机整数(i = int) %产生一个1至10之间的随机整数矩阵,大小为2x5; s1 = randi(10,2,5) %产生一个-5至5之间的随机整数矩阵,大小为1x10; s2 = randi([-5,5],1,10) % (2) rand: 产生0至1之间均匀分布的随机数 %产生一个0至1之间的随机矩阵,大小为1x5; s3 = rand(1,5) %产生一个a至b之间的随机矩阵,大小为1x5; % a + (b-a) * rand(1,5); 如:a,b = 2,5 s4= 2 + (5-2) * rand(1,5) % (3)normrnd:产生正态分布的随机数 %产生一个均值为0,标准差(方差开根号)为2的正态分布的随机矩阵,大小为3x4; s5 = normrnd(0,2,3,4) % (4)roundn—任意位置四舍五入 % 0个位 1十位 2百位 -1小数点后一位 a = 3.1415 roundn(a,-2) % ans = 3.1400 roundn(a,2) % ans = 0 a =31415 roundn(a,2) % ans = 31400 roundn(5.5,0) %6 roundn(5.5,1) %10

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有