天天看點

【Matlab·解決辦法】錯誤使用 subplot (line 331) ——索引超出子圖數目

💖作者簡介:大家好,我是車神哥,府學路18号的車神🥇

📝個人首頁:應無所住而生其心的部落格_府學路18号車神_CSDN部落格

🎉點贊➕評論➕收藏 == 養成習慣(一鍵三連)😋

⚡希望大家多多支援🤗~一起加油 😁

專欄《Fault Diagnosis》

其他專欄:

《LeetCode天梯》

《Neural Network》

《Python》

《Algorithm》

最近由于測試需要,使用到了Matlab,然後遇到了一點點小問題,下面說一下下吧!!~~

索引超出子圖數目

主要是在Plot出圖那塊,想要放下三個圖,依次放在下面,但是,原代碼是下面這樣的:

%% 出圖
%繪圖
    figure
    subplot(2,1,1);
    plot(1:XC_row,T2,'k');                                    
    title('KPCA Statistics');
    xlabel('Sample Points');
    ylabel('T^2');
    hold on;
    line([0,XC_row],[t2a99,t2a99],'LineStyle','--','Color','r');

    subplot(2,1,2);
    plot(1:XC_row,Q,'k');
    xlabel('Sample Points');
    ylabel('SPE');
    hold on;
    line([0,XC_row],[Qa99,Qa99],'LineStyle','--','Color','r');
    
    subplot(2,1,3);
    plot(1:XC_row,phi,'k');
    xlabel('Sample Points');
    ylabel('phi');
    hold on;
    line([0,XC_row],[phia99,phia99],'LineStyle','--','Color','r')      
【Matlab·解決辦法】錯誤使用 subplot (line 331) ——索引超出子圖數目

然後就出現這樣一出。

以我的判斷,很明顯,不能這樣設定,然後去看來看教程,發現,咦~

這個變量命名規則好不人性呀,沒辦法,将就着改吧!~

subplot(2,1,3);      

這上面代碼就子圖生産的代碼,其中是什麼意思呢?

括号裡面前兩個代表的是行列,簡單的說可以看出2*1,那麼就隻能放下兩個子圖,第三個數,表示的是選取的第幾個位置,因為隻能放下兩個圖,是以會爆出使用錯誤,那麼我們隻能将其進行改進,才可以放下三個圖,OK fine!

那咱們就改成:

subplot(3,1,3);      
【Matlab·解決辦法】錯誤使用 subplot (line 331) ——索引超出子圖數目

這樣就可以直接放下三個了,學會了嗎,小夥伴們!

依次類推,前兩個相乘得到的數是最大的空間,也就是說,最後第三個數是不能超過前兩個數的乘積。

subplot(x,y,z);   # 隻有滿足:z <= x*y