簡體   English   中英

將MxN單元陣列重塑為1x(M * N)單元陣列MATLAB

[英]Reshape MxN cell array to 1x(M*N) cell array MATLAB

我正在嘗試為圖中的圖例標題制作一個單元格數組。 該圖重復了不同頻率和3個不同傳感器的實驗。 我需要為每個不同的傳感器和頻率使用不同的顏色。 因此,在以下具有兩個頻率的示例中,我最終得到一個3x2單元陣列,在該陣列中,我需要一維陣列以用作圖例(6x1),但我不知道如何實現這一點。

titles = {'Radial Sensor';'Axial Sensor';'Azimuthal Sensor'};

for ii=1:3 
    for jj = 1:num_freq
        legtitles{ii,jj} = [titles{ii},' ',num2str(freq(jj)),' Hz'];
    end
end

答:

'Radial Sensor 15 Hz'       'Radial Sensor 60 Hz'
'Axial Sensor 15 Hz'        'Axial Sensor 60 Hz'
'Azimuthal Sensor 15 Hz'    'Azimuthal Sensor 60 Hz'

因此,我需要將第二行和第三行連接到第一行的末尾。

謝謝!

您可以重塑最終的字幕:

legtitles = reshape(legtitles',1,[]);

或將您的代碼重寫為:

legtitles = {}
for ...
    for ...
        legtitles{end+1} = ...

要將所有行連接為一行:如果有

legtitles = {'Radial Sensor 15 Hz'       'Radial Sensor 60 Hz';
             'Axial Sensor 15 Hz'        'Axial Sensor 60 Hz';
             'Azimuthal Sensor 15 Hz'    'Azimuthal Sensor 60 Hz'};

只是使用

legtitles = legtitles.';
legtitles = legtitles(:).';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM