人工智能matlab仿真Word下载.docx

上传人:b****3 文档编号:15868844 上传时间:2022-11-16 格式:DOCX 页数:19 大小:357.39KB
下载 相关 举报
人工智能matlab仿真Word下载.docx_第1页
第1页 / 共19页
人工智能matlab仿真Word下载.docx_第2页
第2页 / 共19页
人工智能matlab仿真Word下载.docx_第3页
第3页 / 共19页
人工智能matlab仿真Word下载.docx_第4页
第4页 / 共19页
人工智能matlab仿真Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

人工智能matlab仿真Word下载.docx

《人工智能matlab仿真Word下载.docx》由会员分享,可在线阅读,更多相关《人工智能matlab仿真Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

人工智能matlab仿真Word下载.docx

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([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);

%%进化过程

whilegen<

MAXGEN

FitnV=ranking(-objV);

SelCh=select('

sus'

Chrom,FitnV,GGAP);

%选择

SelCh=recombin('

xovsp'

SelCh,pc);

%重组

SelCh=mut(SelCh,pm);

%变异

popnew=bs2rv(SelCh,FieldD);

%新一代种群

objVSel=objectFunction(popnew);

%计算子代目标函数值

[Chrom,objV]=reins(Chrom,SelCh,1,1,objV,objVSel);

gen=gen+1;

ifminY>

min(objV)%寻找当前极小值

minY=min(objV);

[y,i]=min(objV);

x=bs2rv(Chrom,FieldD);

xmin(1,:

)=x(i,:

);

disp(['

对应最小自变量取值:

'

num2str(x(i,:

))])%输出最优个体

对应最小值:

num2str(y)])%输出最优个体

end

ifmaxY<

max(objV)%寻找当前极大值

maxY=max(objV);

[Y,I]=max(objV);

X=bs2rv(Chrom,FieldD);

xmax(1,:

)=X(I,:

对应最大自变量取值:

num2str(X(I,:

对应最大值:

num2str(Y)])%输出最优个体

trace_min(gen,1)=minY;

%保存当前极小值

trace_max(gen,1)=maxY;

%保存当前极大值

%%画图

figure

(1)%画进化过程图

plot(1:

gen,trace_min(:

1));

holdon

gen,-1.031570364,'

r-'

%目标函数在区间内最小值

figure

(2)

gen,trace_max(:

holdon

gen,3.2333,'

%目标函数在区间内最大值

(4)运行结果

 

优化函数如图所示:

由优化函数图可知,此函数存在2个极小值点,4个极大值点。

4个最大值为:

对应x1,x2最大自变量取值:

-0.99543-0.91298对应函数最大值:

2.5798

-0.92829-0.99328对应函数最大值:

2.97

-0.989-0.99817对应函数最大值:

3.1879

-0.99168-0.99925对应函数最大值:

3.2047

2个最小值为:

对应x1,x2最小自变量取值:

-0.0447820.76447对应函数最小值:

-0.99772

0.11984-0.66623对应函数最小值:

-1.0102

2.体重约70kg的某人在短时间内喝下2瓶啤酒后,隔一段时间测量他的血液中酒精含量(mg/100mL),得到以下数据:

时间/(h)

0.25

0.5

0.75

1

1.5

2

2.5

3

3.5

4

4.5

5

6

7

酒精含量/

30

68

75

82

77

58

51

50

41

38

35

8

9

10

11

12

13

14

15

16

酒精含量

28

25

18

根据酒精在人体血液分解的动力学规律可知,血液中酒精浓度与时间的关系可表示为:

试根据表中数据求出参数

(3)实验程序:

%%求函数适应度子程序

functionobjV=objectFunction(pop,Data)

n=size(Data,1);

m

forj=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));

objV(i,1)=mean(C);

%%求方差子程序

functionRESM=variance(a,a_1)

M=size(a,1);

y=0;

y_1=0;

M

y_1=y_1+(a(i,1)-a_1(i,1))^2;

RESM=sqrt(y_1/M);

%%主程序

loadData

%%初始化

NIND=500;

MAXGEN=2000;

NVAR=3;

PRECI=20;

%代购

trace=zeros(MAXGEN,1);

%每代最优值

[100,0,0;

150,1,3];

objV=objectFunction(pop,Data);

%函数适应度最小值即最优值

objVSel=objectFunction(popnew,Data);

min(objV)%寻找当前最优个体

trace(gen,1)=minY;

%保存当前最优个体

%%结果输出

[Y,I]=min(objV);

X=bs2rv(Chrom,FieldD);

Xmin(1,:

disp(['

对应自变量取值:

m=size(Data,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);

RESM=variance(Data(:

2),Y);

%计算方差

方差:

num2str(RESM)])

gen,trace(:

figure

(2);

%画出期望值与拟合值曲线

plot(Data(:

1),Data(:

2),'

rd-'

1),Y,'

b*-'

xlabel('

时间'

ylabel('

酒精含量'

legend('

期望值'

'

拟合值'

figure(3)

1),ARE,'

误差'

进行20次的多项式拟合后图如下:

所以,对应自变量取值:

k=113.3353q=0.1841013r=2.206932

3.3748

3.设计一个神经网络,并对输入信号进行预测。

输入为一线性调频信号,信号采样时间为2s,采样频率为1000Hz,起始到信号的瞬时为0Hz,1s时的瞬时频率为150Hz。

(1)本题采用三层BP神经网络。

第一步,网络初始化。

给各连接权值分别赋一个区间内的随机数,设定误差函数e,给定计算精度值和最大学习次数M。

第二步,随机选取第2000个输入样本,前1900作为训练样本最后100做测试。

第三步,计算隐含层各神经元的输入和输出。

第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

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

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