首先申明本人是土木专业的,因为有需要要用到 matlab 中的拟合用途,今天好好学习了一些关于 matlab 多变量拟合的东西,从网上下载了一些程序,也运行了一下,就举一些实例,附上源程序吧,主要是两个自变量和三个自变量,一个因变量的拟合
让自己也更清楚,以后用起来也方便
原理就是给出一个自变量和因变量的矩阵,然后给出一个自己认为的带有未知数的拟合方程,然后付一组初始值,根据 matlab 返回的初始值和误差在附一组初始值,知道最后的相关系数较大,也就是误差较小时,就能拟合的比较好,写出拟合后的方程了
广义线性回归拟合和源码(两个自变量,一个因变量,非线性拟合) 【例】这里有这样一组数据,涉及三个变量:p,t 和 z,要拟合出 z = f(p,t) 的关系式(非线性的)
2 t 60 9
73875 20
5987 120 13
5725 29
6325 50
93875 180 18
97875 36
59875 80
13875 240 2075125 38
22125 90
925 300 22
055 44
58 104
7725 为了使得回归分析的结果更加直观,我调用 regstats 函数,编写了一个更为实用的函数:reglm,代码如下(代码中有调用方法和例子)
首先写一个 M 文件: function stats = reglm(y,X,model,varnames) % 多重线性回归分析或广义线性回归分析 % % reglm(y,X),产生线性回归分析的方差分析表和参数估计结果,并以表格形式显示在屏幕上
参 % 数 X 是自变量观测值矩阵,它是 n 行 p 列的矩阵
y 是因变量观测值向量,它是 n 行1 列的列向量
% % stats = reglm(y,X),还返回一个包括了回归分析的所有诊断统计量的