導航:首頁 > 編程語言 > 基於模型的設計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代碼相關的資料

熱點內容
更改程序圖標c語言 瀏覽:629
網路電視偷停怎麼辦 瀏覽:418
linux連接ftp 瀏覽:512
es文件瀏覽器視頻筆記 瀏覽:874
mac無法打開描述文件 瀏覽:134
什麼軟體打文件 瀏覽:53
資料庫無數據變成0 瀏覽:899
名企筆試如何刷編程題 瀏覽:49
js跳到頁面某地 瀏覽:550
jsp展示clob欄位 瀏覽:779
nyx在網路上是什麼意思 瀏覽:145
樂播農業app是什麼 瀏覽:530
編程框架如何開發 瀏覽:136
金庸群俠傳3修改代碼 瀏覽:712
檢察院的文件類別有哪些 瀏覽:793
怎麼把九游殘留數據刪除 瀏覽:828
有什麼女生主動聊天的app 瀏覽:436
有哪些可以督促自己的app 瀏覽:244
用USB傳輸視頻文件夾顯示為空 瀏覽:710
恢復文件軟體免費版手機 瀏覽:648

友情鏈接