ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:57.70KB ,
资源ID:26426578      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26426578.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人工智能matlab仿真.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

人工智能matlab仿真.docx

1、人工智能matlab仿真1. 函数优化该二元6次函数式一个多峰函数,共有6个极值,其中有两个极值点对应的函数取值为最小值。试求解函数的极值点。(1)设计思路本题采用遗传算法,遗传算法搜索最优解的方法是模仿生物的进化过程,遗传算法主要使用选择算子、 交叉算子与变异算子来模拟生物进化,从而产生一代又一代的种群。遗传算法具有通用、并行、稳健、简单与全局优化能力强等突出优点,适用于解决复杂、困难的全局优化问题。(2)程序流程图(3)实验程序function objV=objectFunction(pop)m=size(pop,1);for i=1:m objV(i,1)=4*pop(i,1)2-2.1

2、*pop(i,1)4+(1/3)*pop(i,1)6+pop(i,1)*pop(i,2)-4*pop(i,2)2+4*pop(i,2)4;end%初始化clc;clear;pc=0.7; %交叉率 pm=0.05; %变异率NIND=20; %个体数目MAXGEN=1000; %最大遗传代数NVAR=2; %变量维数PRECI=40; %变量二进制数GGAP=0.9; %代沟trace_min=zeros(MAXGEN,1); %每代极小值trace_max=zeros(MAXGEN,1); %每代极大值% 种群初始化FieldD=rep(PRECI,1,NVAR);-1,-1;1,1;rep

3、(1;0;1;1,1,NVAR); %区域扫描Chrom=crtbp(NIND,NVAR*PRECI); %创建初始种群% 计算第0代函数适应度,寻找最优个体gen=0;pop=bs2rv(Chrom,FieldD); %将二进制初始种群转化为十进制objV=objectFunction(pop); %计算函数适应度minY=min(objV); %函数适应度最小值即函数最小值maxY=max(objV);POP(:,:,gen+1)=pop(1:end,1:end);% 进化过程while genmin(objV) %寻找当前极小值 minY=min(objV); y,i=min(objV)

4、; x=bs2rv(Chrom,FieldD); xmin(1,:)=x(i,:); disp(对应最小自变量取值:,num2str(x(i,:) %输出最优个体 disp(对应最小值:,num2str(y) %输出最优个体 end if maxYmax(objV) %寻找当前极大值 maxY=max(objV); Y,I=max(objV); X=bs2rv(Chrom,FieldD); xmax(1,:)=X(I,:); disp(对应最大自变量取值:,num2str(X(I,:) %输出最优个体 disp(对应最大值:,num2str(Y) %输出最优个体 end trace_min(g

5、en,1)=minY; %保存当前极小值 trace_max(gen,1)=maxY; %保存当前极大值end% 画图figure(1) %画进化过程图 plot(1:gen,trace_min(:,1); hold onplot(1:gen,-1.031570364,r-); %目标函数在区间内最小值figure(2)plot(1:gen,trace_max(:,1);hold on plot(1:gen,3.2333,r-); %目标函数在区间内最大值(4)运行结果优化函数如图所示:由优化函数图可知,此函数存在2个极小值点,4个极大值点。4个最大值为:对应x1,x2最大自变量取值:-0.9

6、9543 -0.91298对应函数最大值:2.5798对应x1,x2最大自变量取值:-0.92829 -0.99328对应函数最大值:2.97对应x1,x2最大自变量取值:-0.989 -0.99817 对应函数最大值:3.1879对应x1,x2最大自变量取值:-0.99168 -0.99925对应函数最大值:3.20472个最小值为:对应x1,x2最小自变量取值:-0.044782 0.76447对应函数最小值:-0.99772对应x1,x2最小自变量取值:0.11984 -0.66623对应函数最小值:-1.01022. 体重约70kg的某人在短时间内喝下2瓶啤酒后,隔一段时间测量他的血液

7、中酒精含量(mg/100mL),得到以下数据:时间/(h)0.250.50.7511.522.533.544.5567酒精含量/3068758282776868585150413835时间/(h)8910111213141516酒精含量282518151210774根据酒精在人体血液分解的动力学规律可知,血液中酒精浓度与时间的关系可表示为:试根据表中数据求出参数、。(1)设计思路本题采用遗传算法,遗传算法搜索最优解的方法是模仿生物的进化过程,遗传算法主要使用选择算子、 交叉算子与变异算子来模拟生物进化,从而产生一代又一代的种群。遗传算法具有通用、并行、稳健、简单与全局优化能力强等突出优点,适用

8、于解决复杂、困难的全局优化问题。(2)程序流程图(3)实验程序:% 求函数适应度子程序function objV=objectFunction(pop,Data)m=size(pop,1);n=size(Data,1);for i=1:m for j=1:n C(j,1)=abs(pop(i,1)*(exp(pop(i,2)*(-1)*Data(j,1)-exp(pop(i,3)*(-1)*Data(j,1)-Data(j,2); end objV(i,1)=mean(C);end% 求方差子程序function RESM=variance(a,a_1)M=size(a,1);y=0;y_1=

9、0;for i=1:M y_1=y_1+(a(i,1)-a_1(i,1)2;endRESM=sqrt(y_1/M);% 主程序load Data% 初始化pc=0.7; %交叉率 pm=0.05; %变异率NIND=500; %个体数目MAXGEN=2000; %最大遗传代数NVAR=3; %变量维数PRECI=20; %变量二进制数GGAP=0.9; %代购trace=zeros(MAXGEN,1); %每代最优值% 种群初始化FieldD=rep(PRECI,1,NVAR);100,0,0;150,1,3;rep(1;0;1;1,1,NVAR); %区域扫描Chrom=crtbp(NIND

10、,NVAR*PRECI); %创建初始种群% 计算第0代函数适应度,寻找最优个体gen=0;pop=bs2rv(Chrom,FieldD); %将二进制初始种群转化为十进制objV=objectFunction(pop,Data); %计算函数适应度minY=min(objV); %函数适应度最小值即最优值% 进化过程while genmin(objV) %寻找当前最优个体 minY=min(objV); end trace(gen,1)=minY; %保存当前最优个体end% 结果输出Y,I=min(objV); X=bs2rv(Chrom,FieldD);Xmin(1,:)=X(I,:);

11、disp(对应自变量取值:,num2str(X(I,:) %输出最优个体m=size(Data,1);for i=1:m %输出最优个体的函数拟合值Y(i,1)=Xmin(1,1)*(exp(-1)*Xmin(1,2)*(Data(i,1)-exp(-1)*Xmin(1,3)*(Data(i,1);ARE(i,1)=Data(i,2)-Y(i,1);endRESM=variance(Data(:,2),Y); %计算方差disp(方差:,num2str(RESM)% 画图figure(1) %画进化过程图 plot(1:gen,trace(:,1);figure(2); %画出期望值与拟合值曲

12、线plot(Data(:,1),Data(:,2),rd-);hold onplot(Data(:,1),Y,b*-)xlabel(时间);ylabel(酒精含量);legend(期望值,拟合值);figure(3)plot(Data(:,1),ARE,rd-)xlabel(时间);ylabel(误差);(4)运行结果进行20次的多项式拟合后图如下:所以,对应自变量取值:k=113.3353 q=0.1841013 r=2.206932方差:3.37483. 设计一个神经网络,并对输入信号进行预测。输入为一线性调频信号,信号采样时间为2s,采样频率为1000Hz,起始到信号的瞬时为0Hz,1s

13、时的瞬时频率为150Hz。(1)本题采用三层BP神经网络。第一步,网络初始化。给各连接权值分别赋一个区间内的随机数,设定误差函数e,给定计算精度值和最大学习次数M。第二步,随机选取第2000个输入样本,前1900作为训练样本最后100做测试。第三步,计算隐含层各神经元的输入和输出。第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数a。第五步利用隐含层到输出层的连接权值、输出层和隐含层a的输出计算误差函数对隐含层各神经元的偏导数b。第六步,利用输出层各神经元的a和隐含层各神经元的输出来修正连接权值w。 第七步:利用隐含层各神经元的a和输入层各神经元的输入修正连接权。(2)

14、神经网络算法流程图:(3)实验程序% 设计一个神经网络,并对输入信号进行预测% 信号采样时间为2s,采样频率为1000Hz,起始到信号的瞬时为0Hz,1s时的瞬时频率为150Hzclc;clear;time=0:0.001:2;y=chirp(time,0,1,150,linear);y=y;time=time;m=size(y,1);% 网络训练数据 以前四个时刻预测第五个时刻for i=1:1896 X(i,1)=y(i,1); X(i,2)=y(i+1,1); X(i,3)=y(i+2,1); X(i,4)=y(i+3,1); Y(i,1)=y(i+4,1);end% 网络训练s=siz

15、e(Y,2);p=X;t=Y;%数据归一化pn,minX,maxX=premnmx(p); %将数据归一化tn,minY,maxY=premnmx(t); %将数据归一化%训练网络net=newff(minmax(pn),8,s,tansig,purelin,trainlm); net.trainParam.goal=0.001; net.trainParam.epochs=800; net=train(net,pn,tn); yn =sim(net,pn); Yn = postmnmx(yn,minY,maxY); y_train=Yn; % 训练误差 train_number=size(X

16、,1);for i=1:train_number ARE(i,1)=Y(i,1)-y_train(i,1);end% 网络测试数据for i=1:97 X_test(i,1)=y(i+1900,1); X_test(i,2)=y(i+1901,1); X_test(i,3)=y(i+1902,1); X_test(i,4)=y(i+1903,1); Y_test(i,1)=y(i+1904,1);end% 网络测试q=X_test;u=Y_test; qn=tramnmx(q,minX,maxX);y_tr=sim(net,qn);y_trr=postmnmx(y_tr,minY,maxY);

17、y_test=y_trr;train_number=size(X,1);test_number=size(X_test,1);test_number=size(X_test,1);% 测试误差for i=1:test_number ARE_1(i,1)=Y_test(i,1)-y_test(i,1);end% 画图figure(1);plot(Y,rd-);hold onplot(y_train,b*-)legend(训练样本输出期望值,训练样本输出预测值);axis(0 500 -1.5 1.5)figure(2);plot(Y,rd-);hold onplot(y_train,b*-)le

18、gend(训练样本输出期望值,训练样本输出预测值);axis(501 1000 -1.5 1.5)figure(3);plot(Y,rd-);hold onplot(y_train,b*-)legend(训练样本输出期望值,训练样本输出预测值);axis(1001 1500 -1.5 1.5)figure(4);plot(Y,rd-);hold onplot(y_train,b*-)legend(训练样本输出期望值,训练样本输出预测值);axis(1501 1900 -1.5 1.5)figure(5);plot(ARE,b*-);axis(0 500 -0.2 0.2)figure(6);plot(ARE,b*-);axis(501 1000 -0.2 0.2)figure(7);plot(ARE,b*-);axis(1001 1500 -0.2 0.2)figure(8);plot(ARE,b*-);axis(1501 1900 -0.2 0.2)figure(9);plot(ARE_1,b*-);figure(10);plot(Y_test,rd-);hold onplot(y_test,b*-)(4)运行结果下图分别为0-1900样本分成4组的训练过程它们对应的误差变化图像如下:测试图像为:对应的测试误差图像为:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1