2017-04-09 116 views
0

傢伙,我想這個單元陣列轉換成序值截圖所示 enter image description here如何將單元格數組內容轉換爲序數值?

enter image description here

catnames = { 'stage i'; 'stage ia'; 'stage ii'; 'stage iia'; 'stage iib'; 'stage iic'; 'stage iii'; 'stage iiia';'stage iiib'; 'stage iiic'; 'stage iv'; 'stage iva'; 'stage ivb'}; 
valueset={1;2;3;4}; 
for i=1:217 
    B = categorical(Ystg{i}(2),catnames,valueset,'Ordinal',true); 
end 

我已經使用這個代碼,但不能正常工作,並顯示此錯誤:使用錯誤分類 創建抽象類'categorical'的實例不是允許的 。

+0

例如,在階段iiic的情況下,我想將它轉換爲3 –

回答

0
for i=1:217 
    if strcmpi(Ystg{i}(2),'stage i') || strcmpi(Ystg{i}(2),'stage ia') 
     Stage(i,1) = 1; 
    else if strcmpi(Ystg{i}(2),'stage ii') || strcmpi(Ystg{i}(2),'stage iia')|| strcmpi(Ystg{i}(2),'stage iib')|| strcmpi(Ystg{i}(2),'stage iic') 
      Stage(i,1) = 2; 
     else if strcmpi(Ystg{i}(2),'stage iii') || strcmpi(Ystg{i}(2),'stage iiia')|| strcmpi(Ystg{i}(2),'stage iiib')|| strcmpi(Ystg{i}(2),'stage iiic') 
       Stage(i,1) = 3; 
      else if strcmpi(Ystg{i}(2),'stage iv') || strcmpi(Ystg{i}(2),'stage iva')|| strcmpi(Ystg{i}(2),'stage ivb') 
        Stage(i,1) = 4; 
       end 
      end 
     end 
    end 
end 
相關問題