最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

最小二乘法曲线拟合的Matlab程序

IT圈 admin 21浏览 0评论

2024年11月1日发(作者:巧曲)

方便大家使用的最小二乘法曲线拟合的Matlab程序

非常方便用户使用,直接按提示操作即可;这里我演示一个例子:(红色部分为用

户输入部分,其余为程序运行的结果,结果图为,)

请以向量的形式输入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.0001

a = -0.2008

a = 0.7022

a = 0.0000

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

>>

结果:

一些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”

E=sort(B,'ascend');

a=0;

b=0;

c=0;

d=0;

for j=1:1:tt

Localization=find(A==E(j)); % 序列“A”中找到其独立状态“E”的位置

for i=1:1:length(Localization)

if Localization(i)+1>t

break; % 范围限定

elseif A(Localization(i)+1)== E(1)

a=a+1;

elseif A(Localization(i)+1)== E(2)

b=b+1;

elseif A(Localization(i)+1)== E(3)

c=c+1;

% 依此类推,取决于独立状态“E”的个数

else

d=d+1;

end

end

T(j,1:tt)=[a,b,c,d]; % “T”为占位矩阵

end

TT=T;

for u=2:1:tt

TT(u,:)= T(u,:)- T(u-1,:);

end

TT; % 至此,得到转移频数矩阵

Y=sum(TT,2);

for uu=1:1:tt

TR(uu,:)= TT(uu,:)./Y(uu,1);

end

TR % 最终得到马尔科夫转移频率/概率矩阵

% 观测序列马尔科夫性质的检验:

N=numel(TT);

uuu=1;

Col=sum(TT,2); % 对列求和

Row=sum(TT,1); % 对行求和

Total=sum(Row); % 频数总和

for i=1:1:tt

for j=1:1:tt

xx(uuu,1)=sum((TT(i,j)-(Row(i)*Col(j))./Total).^2./( (Row(i)*Col(j)).

/Total));

uuu=uuu+1; % 计算统计量x2

end

end

xx=sum(xx)

2024年11月1日发(作者:巧曲)

方便大家使用的最小二乘法曲线拟合的Matlab程序

非常方便用户使用,直接按提示操作即可;这里我演示一个例子:(红色部分为用

户输入部分,其余为程序运行的结果,结果图为,)

请以向量的形式输入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.0001

a = -0.2008

a = 0.7022

a = 0.0000

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

>>

结果:

一些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”

E=sort(B,'ascend');

a=0;

b=0;

c=0;

d=0;

for j=1:1:tt

Localization=find(A==E(j)); % 序列“A”中找到其独立状态“E”的位置

for i=1:1:length(Localization)

if Localization(i)+1>t

break; % 范围限定

elseif A(Localization(i)+1)== E(1)

a=a+1;

elseif A(Localization(i)+1)== E(2)

b=b+1;

elseif A(Localization(i)+1)== E(3)

c=c+1;

% 依此类推,取决于独立状态“E”的个数

else

d=d+1;

end

end

T(j,1:tt)=[a,b,c,d]; % “T”为占位矩阵

end

TT=T;

for u=2:1:tt

TT(u,:)= T(u,:)- T(u-1,:);

end

TT; % 至此,得到转移频数矩阵

Y=sum(TT,2);

for uu=1:1:tt

TR(uu,:)= TT(uu,:)./Y(uu,1);

end

TR % 最终得到马尔科夫转移频率/概率矩阵

% 观测序列马尔科夫性质的检验:

N=numel(TT);

uuu=1;

Col=sum(TT,2); % 对列求和

Row=sum(TT,1); % 对行求和

Total=sum(Row); % 频数总和

for i=1:1:tt

for j=1:1:tt

xx(uuu,1)=sum((TT(i,j)-(Row(i)*Col(j))./Total).^2./( (Row(i)*Col(j)).

/Total));

uuu=uuu+1; % 计算统计量x2

end

end

xx=sum(xx)

发布评论

评论列表 (0)

  1. 暂无评论