- 在线时间
- 1 小时
- 最后登录
- 2011-5-3
- 注册时间
- 2008-8-14
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 1146 点
- 威望
- 23 点
- 阅读权限
- 40
- 积分
- 594
- 相册
- 0
- 日志
- 10
- 记录
- 1
- 帖子
- 246
- 主题
- 13
- 精华
- 0
- 分享
- 1
- 好友
- 91
升级   98% 该用户从未签到
国际赛参赛者
群组: 数模应用 群组: LINGO 群组: 四川农业大学数学建模协会 群组: 重庆交通大学数学建模协会 群组: Mathematica研究小组 |
本帖最后由 追梦者 于 2009-8-10 14:37 编辑
刚刚想到,你试着用一下神经网络,它用来模拟判别挺好的:
下面程序是做“GDP增长8%,到底能够安排多少人就业”这个问题,另一个问题只要换一下p,u即可,即t=[每年的gdp增长率(写成一行)];
p=[对应每年的就业人数(写成一行)];
下面是神经网络的程序。
p=[每年的gdp增长率(写成一行)];
t=[对应每年的就业人数(写成一行)];
%这里的程序你先加上去,如果预测不好就不加,再看看:归一化
————————————————————————————————————————————————————
[m,n]=size(p);
c=max(p);
d=min(p);
for i=1:m
for j=1:n
p(i,j)=(p(i,j)-d)/(c-d);
end
end
————————————————————————————————————————————————————
net=newff(minmax(p),[5,1],['tansig','purelin'],'traindlm');
net.trainparam.goal=0.0001%精度
net.trainparam.epochs=1000%训练次数
net=train(net,p);
%以上是训练,下面是预测,建议你找到一些数据后留下几个预测。
u=[留下的数据];
y=sim(net,u);
%你试一下,有问题跟我说一下。
_________________________________________________________________________________
对于第二问,一样,找到数据。按照这种方法也行,另外回归分析等也可以试试,因为现在的论文比较欣赏比较。O(∩_∩)O~
————————————————————————————————————————————————————
对于第三问,我提个建议,用层次分析法,理论就不说了,下面是程序,你可以借鉴下:
————————————————————————————————————————————————————
%"txt1.txt"
%此文件存放准则层,和措施层的数据;
————————————————————————————————————————————————————
%"ahp.m"
function [cr1,ts,cr0,cr,ts]=ahp(n1,n2,ri)
fid=fopen('txt1.txt','r');
a=[];
for i=1:n1
tmp=str2num(fgetl(fid));
a=[a:tmp];
end
for i=1:n1
str1=char(['b',int2str(i),'=[];']);
str2=char(['b',int2str(i),'=[b',intstr(i),';tmp];']);
eval(str1)
for j=1:n2
tmp=str2num(fgetl(fid));
eval(str2)
end
end
[x,y]=eig(a);
lamda=max(diag(y));
num=find(diag(y)==lamda);
w0=x(:,num)/sum(x(:,num));
cr0=(lamda-n1)/(n1-1)/ri(n1);
for i=1:n1
[x,y]=eig(eval(char(['b',int2str(i)])));
lamda=max(diag(y));
num=find(diag(y)==lamda);
w1(:,1)=x(:,num)/sum(x(:,num));
cr1(i)=(lamda-n2)/(n2-1)/ri(n2);
end
ts=w0*w1;
cr=cr1*cr0;
__________________________________________________________________________________
%"main.m"
n1=;%准则层个数
n2=;%措施层个数
ri=[0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45]
[cr1,ts,cr0,cr,ts]=ahp(n1,n2,ri);
%你先讲数据输入,运行下。看看行吗,我也刚学。O(∩_∩)O~
对了我建议你看一下《宏观经济学》 |
|