![](/img/trans.png)
[英]How do I multiply the elements in each column, for every column in a matrix in MATLAB?
[英]How do I plot a line in Matlab for every column in a matrix?
我有一個按行組織的矩陣,如下所示:
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
謝謝!
%%在此示例中,我針對排放量繪制了月份-根據需要進行更改
%%您的樣本數據
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);
%%使用循環獲取每年的數據並繪制(按需定制)。
for idx = 1:num_of_years
curr_year = years_represented(idx); % current year
curr_year_idx = a(1,:) == curr_year; % columns of current year
curr_year_data = a(:,curr_year_idx); % current year data
plot(curr_year_data(2,:),curr_year_data(3,:)); % plot current year data
hold on
end
xlabel('Month') % X-axis label
ylabel('Discharge') % Y-axis label
hold off
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.