matlab怎麼將excel中連續好多年資料按年份提取並求這一年中最大值以及最大值對應的日期,謝謝

時間 2021-10-30 06:30:49

1樓:閒庭信步

如果各年的資料數目相等,可以以每一年的資料為列構造矩陣,再將矩陣按列提取最大值。如

下面的矩陣a代表連續5年的資料,每年20個資料。

a=fix(50*rand(20,5))

a =9 36 6 10 1034 15 0 18 3215 41 44 39 1627 28 9 34 487 18 14 23 3634 35 33 28 2018 27 14 39 3743 22 23 2 1342 34 3 30 2129 31 49 2 4624 39 29 20 3444 47 21 15 1041 26 25 43 4132 44 16 0 3140 8 21 38 633 48 11 48 1017 13 28 49 3014 12 38 39 3117 43 26 21 1826 36 32 24 28[u,v]=max(a)

u =44 48 49 49 48v =12 16 10 17 4u是各年的最大資料,v為最大資料對應的序號,可理解為日期。

如果各各年的資料不一樣多,可將資料少的用0補足,再用上述方法。

2樓:豪仔

你截圖,把表頭截下來看看。

如何將excel**中大量資料匯入matlab中並作圖

3樓:匿名使用者

哈抄哈,選我吧!使用xlsread函式襲,具體的語法你在幫助裡面搜尋xlsread就可以了。我要是現在回答也是直接翻譯幫助檔案。

xlsread的引數有檔案表單範圍,然後就直接匯入了。非常簡單。看不懂幫助你再追問吧。

4樓:維護中後

用baixlsread()函式就可以讀取excel中的du資料。

假設zhilhmhz.xls的資料單元格daoa為x資料,b為y資料,則可以用回

**實答現來你的要求。

data=xlsread('lhmhz.xls'); %% matlab讀取excel中的資料,並賦值給 data 陣列

x=data(:,1); %單元格a的x資料y=data(:,2); %單元格b的y資料plot(x,y,'r-') %繪出影象

怎樣利用matlab去讀取一個excel表中多個sheet的資料,並且將讀取的資料匯入一個sheet中? 5

5樓:

方法如下:

使用函式xlsread讀取單個檔案。

num=xlsread(filename)

filename是單引號括起來的帶路徑的檔名,函式直接讀取filename所指檔案的sheet1中的資料區域儲存到雙精度矩陣num中;其中 資料區域的選取規則是:對**前幾個含有非數值的行(列)直接忽略,不算入資料區域;另外如果在資料區域中含有非數值的單 元,將其處理為nan。

num = xlsread(filename, -1)

輸入後matlab將會開啟相應的exel檔案,用滑鼠選擇需要匯入的資料區域,可以切換到想要的sheet。

num = xlsread(filename, sheet)

其中sheet用來指定讀入excel檔案的第幾個sheet,此時的sheet取值大於1的整數。

num = xlsread(filename,sheet, 'range')

其中range指定一個矩形的區域,用單引號括起來;例如:'d2:h4'代表以d2和h4為對角定點的矩形域;

當excel中有合併單元格時,任何一個合併前的單元格的名字(比如d1)都會指代整個合併後的單元格,而將整個單元格讀入,所以為了避免麻煩,儘量避免在需要讀入的**中合併單元格。

例如:將讀取d盤下的一個檔案路徑為:

d:/test/daxia.xls

num = xlsread('d:/test/daxia.xls',2,'d2:h4')讀取sheet2的d2:h4區域資料

如果要進行互動式的選擇用:num = xlsread('d:/test/daxia.xls',-1)

批量的檔案要讀取:

首先將多個檔案進行批量重新命名例如daxia1.xls,daxia2.xls,daxia3.xls,...

然後用迴圈的方式實現:

for i=1:100

filename=['d:/test/daxia',num2str(i),'.xls'];

num=xlsread(filename)end

6樓:匿名使用者

fn = 'bbb.xls';

s1 = xlsread(fn,'sheet1','a1:c3');

s2 = xlsread(fn,'sheet2','b2:d4');

s = [s1 s2];

xlswrite(fn,s,'sheet3','a1');

怎樣利用matlab去讀取一個excel表中多個sheet的資料並匯入一個sheet中?

7樓:

方法如下:

使用函式xlsread讀取單個檔案。

num=xlsread(filename)

filename是單引號括起來的帶路徑的檔名,函式直接讀取filename所指檔案的sheet1中的資料區域儲存到雙精度矩陣num中;其中 資料區域的選取規則是:對**前幾個含有非數值的行(列)直接忽略,不算入資料區域;另外如果在資料區域中含有非數值的單 元,將其處理為nan。

num = xlsread(filename, -1)

輸入後matlab將會開啟相應的exel檔案,用滑鼠選擇需要匯入的資料區域,可以切換到想要的sheet。

num = xlsread(filename, sheet)

其中sheet用來指定讀入excel檔案的第幾個sheet,此時的sheet取值大於1的整數。

num = xlsread(filename,sheet, 'range')

其中range指定一個矩形的區域,用單引號括起來;例如:'d2:h4'代表以d2和h4為對角定點的矩形域;

當excel中有合併單元格時,任何一個合併前的單元格的名字(比如d1)都會指代整個合併後的單元格,而將整個單元格讀入,所以為了避免麻煩,儘量避免在需要讀入的**中合併單元格。

例如:將讀取d盤下的一個檔案路徑為:

d:/test/daxia.xls

num = xlsread('d:/test/daxia.xls',2,'d2:h4')讀取sheet2的d2:h4區域資料

如果要進行互動式的選擇用:num = xlsread('d:/test/daxia.xls',-1)

批量的檔案要讀取:

首先將多個檔案進行批量重新命名例如daxia1.xls,daxia2.xls,daxia3.xls,...

然後用迴圈的方式實現:

for i=1:100

filename=['d:/test/daxia',num2str(i),'.xls'];

num=xlsread(filename)end

如何使用matlab提取excel中指定列的資料?

8樓:匿名使用者

只讀「張三」

[num,txt]=xlsread('工作薄1.xls')n = find(strcmp(txt(1,2 : end),'張三'));

cj=num(1:end,n)

cj =

8691

8685

78>> mean(cj)

ans =

85.2000

2.全部讀取

[num,txt]=xlsread('工作薄1.xls')s=size(txt);

for i=2:s(2)

n = find(strcmp(txt(1,2 : end),txt(1,i)))

cj=num(1:end,n)

endn =

1cj =

8090

8767

56n =

2cj =

8691

8685

78n =

3cj =

6778

7887

90邁特萊博

如何將Excel資料匯入MATLAB中

豆其英磨香 matlab如何匯入excel資料的方法如下 1 一xlsread 函式,比import簡單的多,具體語句 a xlsread yourfilename.xls 直接在matlab中定義矩陣,再複製貼上得了 定義矩陣就先定義個空的 比如一維 a zeros 1,n 這是1xn的 2 二維...

如何將Excel資料匯入MATLAB中

將excel中的資料匯入matlab中可以使用 xlsread 命令,也可用uiimport直接匯入 1.使用 xlsread命令 num xlsread filename num xlsread filename,sheet num xlsread filename,xlrange num xls...

excel中怎麼將13 1 1,13 2 1,13 3 1,13 10 1,13 11 1,13 12 1進行排序呢

正常是可以的。你的排序不成功,說明你這些所謂的數值,不是數值,而是文字。選中這一列,選單,資料,分列,直接點完成。強行轉化為純數值,才可以排序。假設資料在a列,分別設公式在b e列,b列提取出前面的一組資料 13 公式為left a1,2 c列提取出中間的資料,公式為mid a1,4,find a1...