最小二乘法曲线拟合的Matlab程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方便大家使用的最小二乘法曲线拟合的Matlab程序
非常方便用户使用,直接按提示操作即可;这里我演示一个例子:(红色部分为用户输入部分,其余为程序运行的结果,结果图为Untitled.fig,Untitled2.fig) 请以向量的形式输入x,y.
x=[1,2,3,4]
y=[3,4,5,6]
通过下面的交互式图形,你可以事先估计一下你要拟合的多项式的阶数,方便下面的计算.
polytool()是交互式函数,在图形上方[Degree]框中输入阶数,右击左下角的[Export]输出图形
回车打开polytool交互式界面
回车继续进行拟合
输入多项式拟合的阶数m = 4
Warning: Polynomial is not unique; degree >= number of data points. > In polyfit at 72
In zxecf at 64
输出多项式的各项系数
a = 0.0200000000000001
a = -0.2000000000000008
a = 0.7000000000000022
a = 0.0000000000000000
a = 2.4799999999999973
输出多项式的有关信息 S
R: [4x5 double]
df: 0
normr: 2.3915e-015
Warning: Zero degrees of freedom implies infinite error bounds.
> In polyval at 104
In polyconf at 92
In zxecf at 69
观测数据拟合数据
x y yh
1.0000 3.0000 3.0000
2.0000 4.0000 4.0000
3 5 5
4.0000 6.0000 6.0000
剩余平方和 Q = 0.000000
标准误差 Sigma = 0.000000
相关指数 RR = 1.000000
请输入你所需要拟合的数据点,若没有请按回车键结束程序.
输入插值点x0 = 3
输出插值点拟合函数值 y0 = 5.0000
>>
结果:untitled.fig
untitled2.fig
一些matlab优化算法代码的分享
代码的目录如下:
欢迎讨论
1.约束优化问题:
minRosen(Rosen梯度法求解约束多维函数的极值)(算法还有bug) minPF(外点罚函数法解线性等式约束)
minGeneralPF(外点罚函数法解一般等式约束)
minNF(内点罚函数法)
minMixFun(混合罚函数法)
minJSMixFun(混合罚函数加速法)
minFactor(乘子法)
minconPS(坐标轮换法)(算法还有bug)
minconSimpSearch(复合形法)
2.非线性最小二乘优化问题
minMGN(修正G-N法)
3.线性规划:
CmpSimpleMthd(完整单纯形法)
4.整数规划(含0-1规划)
DividePlane(割平面法)
ZeroOneprog(枚举法)
5.二次规划
QuadLagR(拉格朗日法)
ActivedeSet(起作用集法)
6.辅助函数(在一些函数中会调用)
minNT(牛顿法求多元函数的极值)
Funval(求目标函数的值)
minMNT(修正的牛顿法求多元函数极值)
minHJ(黄金分割法求一维函数的极值)
7.高级优化算法
1)粒子群优化算法(求解无约束优化问题)
1>PSO(基本粒子群算法)
2>YSPSO(待压缩因子的粒子群算法)
3>LinWPSO(线性递减权重粒子群优化算法)
4>SAPSO(自适应权重粒子群优化算法)
5>RandWSPO(随机权重粒子群优化算法)
6>LnCPSO(同步变化的学习因子)
7>AsyLnCPSO(异步变化的学习因子)(算法还有bug)
8>SecPSO(用二阶粒子群优化算法求解无约束优化问题)
9>SecVibratPSO(用二阶振荡粒子群优化算法求解五约束优化问题)
10>CLSPSO(用混沌群粒子优化算法求解无约束优化问题)
11>SelPSO(基于选择的粒子群优化算法)
12>BreedPSO(基于交叉遗传的粒子群优化算法)
13>SimuAPSO(基于模拟退火的粒子群优化算法)
2)遗传算法
1>myGA(基本遗传算法解决一维约束规划问题)
2>SBOGA(顺序选择遗传算法求解一维无约束优化问题)
3>NormFitGA(动态线性标定适应值的遗传算法求解一维无约束优化问题)
4>GMGA(大变异遗传算法求解一维无约束优化问题)
5>AdapGA(自适应遗传算法求解一维无约束优化问题)
6>DblGEGA(双切点遗传算法求解一维无约束优化问题)
7>MMAdapGA(多变异位自适应遗传算法求解一维无约束优化问题)
自己编写的马尔科夫链程序
A 代表一组数据序列一维数组本程序的操作对象也是如此
t=length(A); % 计算序列“A”的总状态数
B=unique(A); % 序列“A”的独立状态数顺序,“E”