导航:首页 > 编程语言 > 基于模型的设计matlab代码

基于模型的设计matlab代码

发布时间:2023-09-04 00:47:32

『壹』 跪求用MATLAB建立GM(1,1)模型预测到2020年的代码

实现用MATLAB建立GM(1,1)模型预测(已知:2007~2013年碰撞事故的次数)直到2020年发生碰撞事故的次数。可以通过下列步骤来进行:
1、收集数据,x0=[13,16,11,22,19,20,15];
2、设定预测数为7年(2020年)
3、用GM(1,1)模型预测,预测前应对数据进行预处理,如数据累加累减,均值化处理,
4、利用矩阵方法计算灰方程的参数a,u
5、计算模拟数据,残差和相对误差
6、根据灰方程,预测2014~2020年的碰撞事故的次数
7、用plot函数绘制原始数据与预测数据的比较分析图

『贰』 灰色系统预测GM(1,1)模型的MATLAB源代码

%%%%%%%%%%%%%%%%把下面函数保存为gmcal.m文件%%%%%%%%%%%
function
gmcal=gm1(x)
sizexd2
=
size(x,2);
%求数组长度
k=0;
for
y1=x
k=k+1;
if
k>1
x1(k)=x1(k-1)+x(k);
%累加生成
z1(k-1)=-0.5*(x1(k)+x1(k-1));
%z1维数减1,用于计算B
yn1(k-1)=x(k);
else
x1(k)=x(k);
end
end
%x1,z1,k,yn1
sizez1=size(z1,2);
%size(yn1);
z2
=
z1';
z3
=
ones(1,sizez1)';
YN
=
yn1';
%转置
%YN
B=[z2
z3];
au0=inv(B'*B)*B'*YN;
au
=
au0';
%B,au0,au
afor
=
au(1);
ufor
=
au(2);
ua
=
au(2)./au(1);
%afor,ufor,ua
%输出预测的
a
u

u/a的值
constant1
=
x(1)-ua;
afor1
=
-afor;
x1t1
=
'x1(t+1)';
estr
=
'exp';
tstr
=
't';
leftbra
=
'(';
rightbra
=
')';
%constant1,afor1,x1t1,estr,tstr,leftbra,rightbra
strcat(x1t1,'=',num2str(constant1),estr,leftbra,num2str(afor1),tstr,rightbra,'+',leftbra,num2str(ua),rightbra)
%输出时间响应方程,也就是最终要求的灰色模型
%%%%%%%%%%%%%%%%%%%%%在workspace里输入%%%%%%%%%%%%
x
=[5999,5903,5848,5700,7884];gm1(x)
%其中5999,5903,5848,5700,7884可以换成已知的历史数据,无论几个都可以。

『叁』 贝叶斯网络模型 matlab 源代码

>> N = 8;
dag = zeros(N,N);
X2=2;X3=3;X4=4; X1=1;C = 5; B = 6;A = 7;T = 8;
dag([X2 X3],C)=1;
dag([X3 X4],B)=1;
dag([X1 C],A)=1;
dag([A B],T)=1;
discrete_nodes = 1:N;
node_sizes = 2*ones(1,N);
bnet = mk_bnet(dag, node_sizes);
bnet.CPD{
X1
} = tabular_CPD(bnet, X1, [0.01 0.99]);
bnet.CPD{
X2
} = tabular_CPD(bnet, X2, [0.02 0.98]);
bnet.CPD{
X3
} = tabular_CPD(bnet, X3, [0.03 0.97]);
bnet.CPD{
X4
} = tabular_CPD(bnet, X4, [0.04 0.96]);
bnet.CPD{
A
} = tabular_CPD(bnet, A, [1 1 1 0 0 0 0 1]);
bnet.CPD{
B
} = tabular_CPD(bnet, B, [1 1 1 0 0 0 0 1]);
bnet.CPD{
C
} = tabular_CPD(bnet, C, [1 0 0 0 0 1 1 1]);
bnet.CPD{
T
} = tabular_CPD(bnet, T, [1 0 0 0 0 1 1 1]);
G=bnet.dag;
draw_graph(G);
engine=jtree_inf_engine(bnet);
evidence=cell(1,N);
[engine,ll]=enter_evidence(engine,evidence);
m=marginal_nodes(engine,[X1]);
m.T

『肆』 如何用matlab建立数学模型及求解。哪位高手给个模版。

求最复大正值要变为求最小制负值,可这样:
f=[-2,-3];A=[4,2;1,1];b=[20;6];lb=zeros(2,1);ub=[inf;12];[x,fval]=linprog(f,A,b,[],[],lb,ub)
运行结果是:
Optimization terminated.
x =
0.0000
6.0000
fval =
-18.0000
则,优化结果是:x1=0,x2=6时最大利润是18.

『伍』 灰色系统预测GM(1,1)模型的MATLAB详细源代码

%%%%%%%%%%%%%%%%把下面函数保存为gmcal.m文件%%%%%%%%%%%
function gmcal=gm1(x)
sizexd2 = size(x,2);
%求数组长度
k=0;
for y1=x
k=k+1;
if k>1
x1(k)=x1(k-1)+x(k);
%累加生成
z1(k-1)=-0.5*(x1(k)+x1(k-1));
%z1维数减1,用于计算B
yn1(k-1)=x(k);
else
x1(k)=x(k);
end
end
%x1,z1,k,yn1
sizez1=size(z1,2);
%size(yn1);
z2 = z1';
z3 = ones(1,sizez1)';
YN = yn1'; %转置
%YN
B=[z2 z3];
au0=inv(B'*B)*B'*YN;
au = au0';
%B,au0,au
afor = au(1);
ufor = au(2);
ua = au(2)./au(1);
%afor,ufor,ua
%输出预测的 a u 和 u/a的值
constant1 = x(1)-ua;
afor1 = -afor;
x1t1 = 'x1(t+1)';
estr = 'exp';
tstr = 't';
leftbra = '(';
rightbra = ')';
%constant1,afor1,x1t1,estr,tstr,leftbra,rightbra
strcat(x1t1,'=',num2str(constant1),estr,leftbra,num2str(afor1),tstr,rightbra,'+',leftbra,num2str(ua),rightbra)
%输出时间响应方程,也就是最终要求的灰色模型
%%%%%%%%%%%%%%%%%%%%%在workspace里输入%%%%%%%%%%%%
x =[5999,5903,5848,5700,7884];gm1(x)
%其中5999,5903,5848,5700,7884可以换成已知的历史数据,无论几个都可以。

『陆』 下面这个数学模型怎么用matlab编写代码啊

对于有多重求和的极值问题,应这样来写(方法):

1、考虑双循环语句建立目标函数函数 myfun,其函数体

y=sum(sum(c(i,j)*x(i,j)))

2、考虑双循环语句建立其约束条件函数 mycon,其函数体

ceq(j)=a(i)-sum(x(i,j)); %j=1,....,n

ceq(i)=b(j)-sum(x(i,j)); %i=1,....,m

ceq=[ceq(j) ceq(i)]

3、用fmincon函数求其最小值

[x,fval,exitflag] = fmincon(@(x) myfun(x),x0,A,b,Aeq,beq,lb,ub,@(x) mycon(x))

阅读全文

与基于模型的设计matlab代码相关的资料

热点内容
有哪些app可以接游戏订单 浏览:472
苹果硬盘数据恢复要多少钱 浏览:394
js绑定下拉框数据库数据 浏览:448
cad文件怎么复制到另一个文件里边 浏览:858
dxp钻孔文件 浏览:631
iphone大悦城换机 浏览:538
找结婚对象上什么网站 浏览:974
学生信息管理系统程序设计报告 浏览:640
微信文件怎么删除怎么恢复 浏览:407
编程程序怎么复制 浏览:467
文件更改 浏览:327
冰点文件路径 浏览:730
软件一点开文件就关闭 浏览:88
网络如何把人捧红 浏览:961
软件传输文件 浏览:184
密码记录器ios 浏览:412
两个电脑数据怎么一样 浏览:829
顺丰有什么买东西的app 浏览:377
数位板word 浏览:939
win7宽带连接出现多重网络 浏览:268

友情链接