matlab 图像 算法 详解
来源:互联网 发布:mac用itunes制作铃声 编辑:程序博客网 时间:2024/04/29 01:30
Matlab 高级算法程序代码汇总
一、灰色预测模型matlab程序
% renkou1=renkou(:,1);%年末常住人口数 % renkou2=renkou(:,2);%户籍人口 % renkou3=renkou(:,3);%非户籍人口 % shjian=1979:2010; %以上数据自己给 x0=renkou2'; n=length(x0);
lamda=x0(1:n-1)./x0(2:n) range=minmax(lamda) x1=cumsum(x0) for i=2:n
z(i)=0.5*(x1(i)+x1(i-1)); end
B=[-z(2:n)',ones(n-1,1)]; Y=x0(2:n)'; u=B\Y
x=dsolve('Dx+a*x=b','x(0)=x0');
x=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)}); yuce1=subs(x,'t',[0:n-1]);
digits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解 yuce=[x0(1),diff(yuce1)] epsilon=x0-yuce %计算残差
delta=abs(epsilon./x0) %计算相对误差
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值
%以深圳人口数据得到预测模型及预测误差相关数据
lamda =
Columns 1 through 8
0.9741 0.9611 0.9419 0.8749 0.9311 0.9093 0.9302 0.9254
Columns 9 through 16
0.9245 0.9278 0.9442 0.9376 0.9127 0.9148 0.9332 0.9477
Columns 17 through 24
0.9592 0.9445 0.9551 0.9562 0.9594 0.9461 0.9469 0.9239
Columns 25 through 31
0.9140 0.9077 0.9243 0.9268 0.9312 0.9446
0.9618
range =
0.8749 0.9741 x1 =
1.0e+003 *
Columns 1 through 8
0.0313 0.0634 0.0967 0.1322 0.1727 0.2162 0.2641 0.3155
Columns 9 through 16
0.3711 0.4313 0.4961 0.5647 0.6380 0.7182 0.8059 0.8999
Columns 17 through 24
0.9990 1.1024 1.2119 1.3265 1.4463 1.5712 1.7033 1.8427
Columns 25 through 32
1.9936 2.1588 2.3407 2.5375 2.7499 2.9780 3.2194 3.4705 u =
-0.0665 31.3737 y =
-472.117+503.377*exp(.664533e-1*t)
yuce =
Columns 1 through 8
31.2600 34.5876 36.9641 39.5040 42.2183 45.1192 48.2194 51.5326
Columns 9 through 16
55.0734 58.8576 62.9017 67.2238 71.8428 76.7792 82.0548 87.6928
Columns 17 through 24
93.7183 100.1578 107.0397 114.3945 122.2547 130.6550 139.6324 149.2267
Columns 25 through 32
159.4802 170.4382 182.1492 194.6649 208.0405 222.3352 237.6121 253.9386
epsilon =
Columns 1 through 8
0 -2.4976 -3.5741 -4.0540 -1.6983 -1.5992 -0.3594 -0.0826
Columns 9 through 16
0.5266 1.2824 1.9183 1.4262 1.3772 3.4408 5.6352 6.2772
Columns 17 through 24
5.4417 3.2222 2.4203 0.2055 -2.4047 -5.7350 -7.5924 -9.7767
Columns 25 through 32
-8.5502 -5.3082 -0.2192 2.1651 4.3395 5.7348 3.8379 -2.9086
delta =
Columns 1 through 8
0 0.0778 0.1070 0.1144 0.0419 0.0367 0.0075 0.0016
Columns 9 through 16
0.0095 0.0213 0.0296 0.0208 0.0188 0.0429 0.0643 0.0668
Columns 17 through 24
0.0549 0.0312 0.0221 0.0018 0.0201 0.0459 0.0575 0.0701
Columns 25 through 32
0.0567 0.0321 0.0012 0.0110 0.0204 0.0251 0.0159 0.0116 rho =
Columns 1 through 8
-0.0411 -0.0271 -0.0066 0.0650 0.0049 0.0282 0.0058 0.0110
Columns 9 through 16
0.0119 0.0084 -0.0091 -0.0020 0.0245 0.0223 0.0027 -0.0128
Columns 17 through 24
-0.0251 -0.0094 -0.0208 -0.0219 -0.0254 -0.0111 -0.0119 0.0126
Columns 25 through 31
0.0232 0.0300 0.0122 0.0095 0.0048 -0.0095 -0.0280
二、遗传算法程序代码
% Optimizing a function using Simple Genetic Algorithm with elitist preserved
%Max f(x1,x2)=100*(x1*x1-x2).^2+(1-x1).^2; -2.0480<=x1,x2<=2.0480 % Author: Wang Yonglin (wylin77@126.com) clc;clear all;
format long;%设定数据显示格式 %初始化参数 T=100;%仿真代数 N=80;% 群体规模
pm=0.05;pc=0.8;%交叉变异概率 umax=2.048;umin=-2.048;%参数取值范围 L=10;%单个参数字串长度,总编码长度2L bval=round(rand(N,2*L));%初始种群 bestv=-inf;%最优适应度初值 %迭代开始 for ii=1:T %解码,计算适应度 for i=1:N y1=0;y2=0; for j=1:1:L
y1=y1+bval(i,L-j+1)*2^(j-1); end
x1=(umax-umin)*y1/(2^L-1)+umin; for j=1:1:L
y2=y2+bval(i,2*L-j+1)*2^(j-1); end
x2=(umax-umin)*y2/(2^L-1)+umin;
obj(i)=100*(x1*x1-x2).^2+(1-x1).^2; %目标函数 xx(i,:)=[x1,x2]; end
func=obj;%目标函数转换为适应度函数 p=func./sum(func);
q=cumsum(p);%累加
[fmax,indmax]=max(func);%求当代最佳个体 if fmax>=bestv
bestv=fmax;%到目前为止最优适应度值 bvalxx=bval(indmax,:);%到目前为止最佳位串 optxx=xx(indmax,:);%到目前为止最优参数 end
Bfit1(ii)=bestv; % 存储每代的最优适应度 %%%%遗传操作开始 %轮盘赌选择 for i=1:(N-1) r=rand;
tmp=find(r<=q);
newbval(i,:)=bval(tmp(1),:); end
newbval(N,:)=bvalxx;%最优保留 bval=newbval; %单点交叉 for i=1:2:(N-1) cc=rand; if cc<pc
point=ceil(rand*(2*L-1));%取得一个1到2L-1的整数 ch=bval(i,:);
bval(i,point+1:2*L)=bval(i+1,point+1:2*L); bval(i+1,point+1:2*L)=ch(1,point+1:2*L); end end
bval(N,:)=bvalxx;%最优保留 %位点变异
mm=rand(N,2*L)<pm;%N行
一、灰色预测模型matlab程序
% renkou1=renkou(:,1);%年末常住人口数 % renkou2=renkou(:,2);%户籍人口 % renkou3=renkou(:,3);%非户籍人口 % shjian=1979:2010; %以上数据自己给 x0=renkou2'; n=length(x0);
lamda=x0(1:n-1)./x0(2:n) range=minmax(lamda) x1=cumsum(x0) for i=2:n
z(i)=0.5*(x1(i)+x1(i-1)); end
B=[-z(2:n)',ones(n-1,1)]; Y=x0(2:n)'; u=B\Y
x=dsolve('Dx+a*x=b','x(0)=x0');
x=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)}); yuce1=subs(x,'t',[0:n-1]);
digits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解 yuce=[x0(1),diff(yuce1)] epsilon=x0-yuce %计算残差
delta=abs(epsilon./x0) %计算相对误差
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值
%以深圳人口数据得到预测模型及预测误差相关数据
lamda =
Columns 1 through 8
0.9741 0.9611 0.9419 0.8749 0.9311 0.9093 0.9302 0.9254
Columns 9 through 16
0.9245 0.9278 0.9442 0.9376 0.9127 0.9148 0.9332 0.9477
Columns 17 through 24
0.9592 0.9445 0.9551 0.9562 0.9594 0.9461 0.9469 0.9239
Columns 25 through 31
0.9140 0.9077 0.9243 0.9268 0.9312 0.9446
0.9618
range =
0.8749 0.9741 x1 =
1.0e+003 *
Columns 1 through 8
0.0313 0.0634 0.0967 0.1322 0.1727 0.2162 0.2641 0.3155
Columns 9 through 16
0.3711 0.4313 0.4961 0.5647 0.6380 0.7182 0.8059 0.8999
Columns 17 through 24
0.9990 1.1024 1.2119 1.3265 1.4463 1.5712 1.7033 1.8427
Columns 25 through 32
1.9936 2.1588 2.3407 2.5375 2.7499 2.9780 3.2194 3.4705 u =
-0.0665 31.3737 y =
-472.117+503.377*exp(.664533e-1*t)
yuce =
Columns 1 through 8
31.2600 34.5876 36.9641 39.5040 42.2183 45.1192 48.2194 51.5326
Columns 9 through 16
55.0734 58.8576 62.9017 67.2238 71.8428 76.7792 82.0548 87.6928
Columns 17 through 24
93.7183 100.1578 107.0397 114.3945 122.2547 130.6550 139.6324 149.2267
Columns 25 through 32
159.4802 170.4382 182.1492 194.6649 208.0405 222.3352 237.6121 253.9386
epsilon =
Columns 1 through 8
0 -2.4976 -3.5741 -4.0540 -1.6983 -1.5992 -0.3594 -0.0826
Columns 9 through 16
0.5266 1.2824 1.9183 1.4262 1.3772 3.4408 5.6352 6.2772
Columns 17 through 24
5.4417 3.2222 2.4203 0.2055 -2.4047 -5.7350 -7.5924 -9.7767
Columns 25 through 32
-8.5502 -5.3082 -0.2192 2.1651 4.3395 5.7348 3.8379 -2.9086
delta =
Columns 1 through 8
0 0.0778 0.1070 0.1144 0.0419 0.0367 0.0075 0.0016
Columns 9 through 16
0.0095 0.0213 0.0296 0.0208 0.0188 0.0429 0.0643 0.0668
Columns 17 through 24
0.0549 0.0312 0.0221 0.0018 0.0201 0.0459 0.0575 0.0701
Columns 25 through 32
0.0567 0.0321 0.0012 0.0110 0.0204 0.0251 0.0159 0.0116 rho =
Columns 1 through 8
-0.0411 -0.0271 -0.0066 0.0650 0.0049 0.0282 0.0058 0.0110
Columns 9 through 16
0.0119 0.0084 -0.0091 -0.0020 0.0245 0.0223 0.0027 -0.0128
Columns 17 through 24
-0.0251 -0.0094 -0.0208 -0.0219 -0.0254 -0.0111 -0.0119 0.0126
Columns 25 through 31
0.0232 0.0300 0.0122 0.0095 0.0048 -0.0095 -0.0280
二、遗传算法程序代码
% Optimizing a function using Simple Genetic Algorithm with elitist preserved
%Max f(x1,x2)=100*(x1*x1-x2).^2+(1-x1).^2; -2.0480<=x1,x2<=2.0480 % Author: Wang Yonglin (wylin77@126.com) clc;clear all;
format long;%设定数据显示格式 %初始化参数 T=100;%仿真代数 N=80;% 群体规模
pm=0.05;pc=0.8;%交叉变异概率 umax=2.048;umin=-2.048;%参数取值范围 L=10;%单个参数字串长度,总编码长度2L bval=round(rand(N,2*L));%初始种群 bestv=-inf;%最优适应度初值 %迭代开始 for ii=1:T %解码,计算适应度 for i=1:N y1=0;y2=0; for j=1:1:L
y1=y1+bval(i,L-j+1)*2^(j-1); end
x1=(umax-umin)*y1/(2^L-1)+umin; for j=1:1:L
y2=y2+bval(i,2*L-j+1)*2^(j-1); end
x2=(umax-umin)*y2/(2^L-1)+umin;
obj(i)=100*(x1*x1-x2).^2+(1-x1).^2; %目标函数 xx(i,:)=[x1,x2]; end
func=obj;%目标函数转换为适应度函数 p=func./sum(func);
q=cumsum(p);%累加
[fmax,indmax]=max(func);%求当代最佳个体 if fmax>=bestv
bestv=fmax;%到目前为止最优适应度值 bvalxx=bval(indmax,:);%到目前为止最佳位串 optxx=xx(indmax,:);%到目前为止最优参数 end
Bfit1(ii)=bestv; % 存储每代的最优适应度 %%%%遗传操作开始 %轮盘赌选择 for i=1:(N-1) r=rand;
tmp=find(r<=q);
newbval(i,:)=bval(tmp(1),:); end
newbval(N,:)=bvalxx;%最优保留 bval=newbval; %单点交叉 for i=1:2:(N-1) cc=rand; if cc<pc
point=ceil(rand*(2*L-1));%取得一个1到2L-1的整数 ch=bval(i,:);
bval(i,point+1:2*L)=bval(i+1,point+1:2*L); bval(i+1,point+1:2*L)=ch(1,point+1:2*L); end end
bval(N,:)=bvalxx;%最优保留 %位点变异
mm=rand(N,2*L)<pm;%N行
0 0
- matlab 图像 算法 详解
- matlab图像算法源码
- 【matlab】:matlab求图像质心算法
- matlab图像分割算法源码
- MATLAB 图像融合评价算法
- MATLAB 视频转图像算法
- matlab图像分割算法源码
- matlab图像局部放大算法
- Matlab的图像细化算法(详细实现)
- 用MATLAB求图像直方图的算法
- matlab实现分水岭算法处理图像分割
- 图像的Mallat算法分解(Matlab代码)
- MATLAB Curvelet-2PCNN图像融合算法
- MATLAB图像处理_去雾算法
- BSCB 图像修复算法 Matlab 仿真-(2000)
- matlab中简单的图像旋转算法
- matlab图像缩放算法简单原理
- matlab 图像分割算法源码
- CSS Combinator
- Android Studio系列教程六--Gradle多渠道打包
- 用git做持续集成
- android 在MyEclipse中导入ADT MyEclipse ADT
- printf输出控制符容易犯的错误
- matlab 图像 算法 详解
- ios8新特性widget开发
- UIKit框架-高级控件:5.UIDatePickerView日期选择
- poj3252
- django安装汇总
- 数据结构--线性链表
- APNS工作原理
- 观察者模式
- stringstream字符串转换整数函数