数学建模第四讲 | 您所在的位置:网站首页 › matlab里面的mean函数 › 数学建模第四讲 |
目录
一.适用情况 二.最小二乘法 (1)意义和原理 (2)matlab求解 三.拟合优度 (1)概念: 线性函数的介绍: (2)matlab计算拟合优度 mean()函数用来求解平均值 四.matlab知识点 (1)匿名函数: (2)fplot函数: (3)MATLAB曲线拟合工具箱 ①打开 ②界面功能 ③拟合的方法: ④保存拟合图像方法: ⑤利用拟合工具箱生成拟合代码: (4)生成随机数 一.适用情况就是求所设参数取值为多少时,拟合曲线和样本点最近(简而言之,就是下面这个图中的这些竖杠杠之和最小) (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计算拟合优度基本用法: 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 实验室设备网 版权所有 |