我有一个按行排列的矩阵,如下所示:
Row 1: Year (e.g., 2004)
Row 2: Month (e.g., 6)
Row 3: Discharge (e.g., 90 m3/s)
我总共有23列(3x23矩阵)。我想绘制与每年相关的所有列(例如,列1-4对应于2004年收集的数据)作为单行。如何找到并绘制给定年份的所有列?最后,我想将每年的数据(在多个列上)绘制为同一图上的线条(可能最好作为for循环?)。
或者,将第1行和第2行(年份和月份)组合到Matlab时间,然后以每年的方式绘制排放量是否更好?如果是这样,我将如何在Matlab中写这个?
数据样本及其组织如下:
2004 2004 2004 2004 2005 2005
6 7 8 9 5 6
90.97 591.88 515.09 1.83 1.41 209.07
谢谢!
答案 0 :(得分:1)
%%在本例中,我根据需要绘制了月份 - 根据需要进行了更改
%%您的样本数据
SomeClass a;
m_vector.push_back( std::move(a) );
%%获取所代表的年份
a = [2004,2004,2004,2004,2005,2005;
6,7,8,9,5,6;
90.97,591.88,515.09,1.83,1.41,209.07];
%%获取代表的年数
years_represented = unique(a(1,:));
%%使用循环获取每年的数据并绘图(根据需要自定义)。
num_of_years = length(years_represented);