MATLAB代做  | MATLAB代寫  | MATLAB有償編程
首 頁
當前位置:MATLAB代做|MATLAB代寫|MATLAB有償編程matlab源碼參考源碼matlab方面
基于matlab編程金融時間序列中最大命中子模式樹算法源碼程序        [↓跳到下載地址]
官方主頁:源碼共享網站:www.kggbzb.tw

聯系方式:客服QQ:1747812398 買代碼源碼軟件站,歡迎咨詢

運行環境:Win9X/2000/XP/2003/

源碼語言:簡體中文

源碼類型:源碼程序 - 參考源碼 - matlab方面

推薦星級:

更新時間:2016-04-05 22:37:37

源碼簡介

%2007年4月14日 第四篇文章 最大命中子模式樹算法 test100
 
clear
p=4;
q=6;
minconf=0.25;
 
%產生人工仿真數據,a**d,重復2500次
ds=2500;
for i=1:ds
   s((i-1)*p+1)='a';
   s((i-1)*p+4)='d';
   M=1;
   %randn('state',0);
   while M==1
      %v=normrnd(0,0.1);
      v=randn;
      if (v>=-3)&(v<=3)
         s((i-1)*p+2)=char(97+floor((v+3)*q/6));
         M=0;
      end
   end
   %randn('state',1);
   while M==0
      %v1=normrnd(-3,3);
      v1=randn;
      if (v1>=-3)&(v1<=3)
         s((i-1)*p+3)=char(97+floor((v1+3)*q/6));
         M=1;
      end
   end
end
 
%計算每個1-模式的計數
n=length(s)/p;
count(1:14)=0;
for i=1:n
   for j=1:p
      d(i,j)=s((i-1)*p+j);
   end
   if d(i,1)=='a'
      count(1)=count(1)+1;
   end
   if d(i,2)=='a'
      count(2)=count(2)+1;
   elseif d(i,2)=='b'
      count(3)=count(3)+1;
   elseif d(i,2)=='c'
      count(4)=count(4)+1;
   elseif d(i,2)=='d'
      count(5)=count(5)+1;
   elseif d(i,2)=='e'
      count(6)=count(6)+1;
   elseif d(i,2)=='f'
      count(7)=count(7)+1;
   end
   if d(i,3)=='a'
      count(8)=count(8)+1;
   elseif d(i,3)=='b'
      count(9)=count(9)+1;
   elseif d(i,3)=='c'
      count(10)=count(10)+1;
   elseif d(i,3)=='d'
      count(11)=count(11)+1;
   elseif d(i,3)=='e'
      count(12)=count(12)+1;
   elseif d(i,3)=='f'
      count(13)=count(13)+1;
   end
   if d(i,4)=='d'
      count(14)=count(14)+1;
   end
end
 
%選出頻繁1-模式,構成F11
L1=0;
for i=1:14
   if count(i)>=minconf*n
      L1=L1+1;
      F1(L1)=i;
   end
end
F1
for i=1:L1
   if F1(i)==1
      F11(i,:)='a***';
   elseif F1(i)==2
      F11(i,:)='*a**';
   elseif F1(i)==3
      F11(i,:)='*b**';
   elseif F1(i)==4
      F11(i,:)='*c**';
   elseif F1(i)==5
      F11(i,:)='*d**';
   elseif F1(i)==6
      F11(i,:)='*e**';
   elseif F1(i)==7
      F11(i,:)='*f**';
   elseif F1(i)==8
      F11(i,:)='**a*';
   elseif F1(i)==9
      F11(i,:)='**b*';
   elseif F1(i)==10
      F11(i,:)='**c*';
   elseif F1(i)==11
      F11(i,:)='**d*';
   elseif F1(i)==12
      F11(i,:)='**e*';
   elseif F1(i)==13
      F11(i,:)='**f*';
   elseif F1(i)==14
      F11(i,:)='***d';
   end
end
F11=F11
 
%由頻繁1-模式形成候選最大模式Cmax
 
k1=0;
for i=1:p
   D=F11(:,i);
   k=0;
   for j=1:L1
      if D(j)~='*'
         k1=k1+1;
         Cmax(k1)=D(j);
         k=1;
      end
      if (j==L1)&(k==0)
         k1=k1+1;
         Cmax(k1)='*';
      end
   end
   k1=k1+1;
   Cmax(k1)='0';
end
Cmax=Cmax
 
%判斷Cmax的L-長度
len=0;
len1=0;
for i=1:length(Cmax)
   if (isletter(Cmax(i))==1)&(len==0)
      len=len+1;
      Lth(len)=Cmax(i);
      len1=len1+1;
   elseif (isletter(Cmax(i))==1)&(len~=0)
      M1=0;
      for j=1:len1
         if Cmax(i)~=Lth(j)
              M1=M1+1; 
         end
      end
      if M1==len1
         len=len+1;
         Lth(len)=Cmax(i);
         len1=len;
      end
   end
end
Lth=Lth
Lth_length=length(Lth)
 
%構造最大子模式圖
Lnode=struct('x',0,'y',0);
for i=1:(len-1)
   Lnode(i).x=len+1-i;
   Lnode(i).y=1;
   %Lnode1(i,2)=Snode(1).cx(len+1-i);
end
 
D1=findstr(Cmax,'0');
H1=struct('x1',{},'x2',{},'x3',{},'x4',{},'x5',{},'x6',{},'x7',{});
H2=struct('x1',{},'x2',{},'x3',{},'x4',{});
H3=struct('x1',{},'x2',{},'x3',{},'x4',{});
 
for i=1:2500
   % Cmax與每個周期段作交運算,得到命中的最大子模式
    %判斷命中的最大子模式是否為空
   for j=1:4
      D2(j)=s((i-1)*4+j);
      if j==1
         d3=findstr(Cmax(1:(D1(j)-1)),D2(j));
         if isempty(d3)==1
            H(j)='*';
         else
            H(j)=D2(j);
         end
      else
         d3=findstr(Cmax((D1(j-1)+1):(D1(j)-1)),D2(j));
         if isempty(d3)==1
            H(j)='*';
         else
            H(j)=D2(j);
         end
      end
   end
   if strcmp(H,'****')==0
      if isempty(H1)==1
         H1(1).x1=H(1);
         H1(1).x2=H(2);
         H1(1).x3=H(3);
         H1(1).x4=H(4);
         H1(1).x5=1;
         H1(1).x6=p-length(findstr(H,'*'));
      else
         k=0;
         for j1=1:length(H1)
            H2(1).x1=H1(j1).x1;
            H2(1).x2=H1(j1).x2;
            H2(1).x3=H1(j1).x3;
            H2(1).x4=H1(j1).x4;
            H3(1).x1=H(1);
            H3(1).x2=H(2);
            H3(1).x3=H(3);
            H3(1).x4=H(4);
            c1=struct2cell(H2);
            c2=struct2cell(H3);
            if strcmp(c1,c2)==1
               H1(j1).x5=H1(j1).x5+1;
            else
               k=k+1;
            end
         end
         if k==length(H1)
            H1(k+1).x1=H(1);
            H1(k+1).x2=H(2);
            H1(k+1).x3=H(3);
            H1(k+1).x4=H(4);
            H1(k+1).x5=1;
            H1(k+1).x6=p-length(findstr(H,'*'));
         end
      end
   end       
end
 
k2=0;
for j=1:length(H1)
   k2=k2+H1(j).x5;
end
k2=k2
 
%在命中模式集H1中,求每一個最大命中子模式的超模式;
for j=1:length(H1)
   k=0;
   for i=1:length(H1)
      if H1(j).x6<H1(i).x6
         H2(1).x1=H1(j).x1;
         H2(1).x2=H1(j).x2;
         H2(1).x3=H1(j).x3;
         H2(1).x4=H1(j).x4;
         %H1(j)與H1(i)作交運算
         if isempty(findstr(H1(j).x1,H1(i).x1))==1
            H3(1).x1='*';
         else
            H3(1).x1=H1(j).x1;
         end
         if isempty(findstr(H1(j).x2,H1(i).x2))==1
            H3(1).x2='*';
         else
            H3(1).x2=H1(j).x2;
         end
         if isempty(findstr(H1(j).x3,H1(i).x3))==1
            H3(1).x3='*';
         else
            H3(1).x3=H1(j).x3;
         end         
         if isempty(findstr(H1(j).x4,H1(i).x4))==1
            H3(1).x4='*';
         else
            H3(1).x4=H1(j).x4;
         end
         %H1(j)與H1(i)作交運算的結果H3與H1(j)--H2比較,如果H3==H2,則H1(i)是H1(j)的超模式
         c1=struct2cell(H2);
         c2=struct2cell(H3);
         if strcmp(c1,c2)==1
            k=k+H1(i).x5;
         end
      end
   end
   H1(j).x7=k+H1(j).x5;
end 
 
     


提 示:本站所有源碼只提供瀏覽,需要定制的朋友可以聯系在線客服!
注意:價格根據項目的難易程度來定價格業務咨詢

基于matlab編程金融時間序列中最大命中子模式樹算法源碼程序 --下載地址

注意:為避免不必要的誤會,本站項目里的源碼只公開部分需要的聯系在線客服

本站長期招聘程序代寫高手,歡迎加入華南地區matlab團隊

想創業卻沒有經驗的人

無論你是否有過網上開店的經驗,都可以隨時聯系在線客服,建立自己獨立的網站
想開網店卻不知道如何入手

淘寶創業成本低而且風險小,如果想開淘寶店的朋友可以聯系在線客服。
想兼職創業,卻不擅長交際與服務的人

在家創業月入5000元。網站程序+百套群發工具+網賺資料+域名+空間+本站終身代理資格,這樣你網賺的條件全具備了。每天3小時管理、推廣、收錢。
缺乏能快速贏利型產品的人

導入多種最新流行營銷軟件+網賺教程,讓入駐者輕松加盟、復制有效成交技巧、快速賺錢。

源碼評論評論內容只代表網友觀點,與本站立場無關!

   評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論

瀏覽說明

* 本站所有源碼全部公開,隨時隨地瀏覽!
* MATLAB軟件如用于商業用途,請購買正版!
* 如果您發現下載鏈接錯誤,請點擊報告錯誤謝謝!
* 站內提供的所有軟件包含破解及注冊碼均是由網上搜集,若侵犯了你的版權利益,敬請來信通知我們!
Copyright © 2008-2014 www.kggbzb.tw. All Rights Reserved.
頁面執行時間:250.00000 毫秒
安微25选5开奖号