日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2021-02-23 Matlab数据导入--importdata和load函数

發布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021-02-23 Matlab数据导入--importdata和load函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Matlab數據導入--importdata和load函數

importdata和load函數

?

1.引言

?

在使用matlab將數據導入到工作空間的時候,經常會使用到兩個函數,一個是importdata函數,另一個是load函數,它們的使用方法和使用場景是太相同的,如果不太注意就可能會犯錯誤,在這里做簡要的說明和記錄。

?

2.importdata函數

?

下面是幫助文檔提供的importdata函數的語法說明

importdata
load data from file


Syntax
A = importdata(filename)
A = importdata(‘-pastespecial’)
A = importdata(_,delimiterIn)
A = importdata(_,delimiterIn,headerlinesIn)
[A,delimiterOut,headerlinesOut] = importdata(_)


Description
- A = importdata(filename) loads data into array A.
- A = importdata(‘-pastespecial’) loads data from the system - clipboard rather than from a file.
- A = importdata(_,delimiterIn) interprets delimiterIn as the column separator in ASCII file, filename, or the clipboard data. You can use delimiterIn with any of the input arguments in the above syntaxes.
- A = importdata(_,delimiterIn,headerlinesIn) loads data from ASCII file, filename, or the clipboard, reading numeric data starting from line headerlinesIn+1.
- [A,delimiterOut,headerlinesOut] = importdata(_) additionally returns the detected delimiter character for the input ASCII file in delimiterOut and the detected number of header lines in headerlinesOut, using any of the input arguments in the previous syntaxes.

  • importdata函數主要特點是可以從文本文件中導入數據

  • 導入的數據可以是類似于表格形式的,可以含有表頭即列名稱,也可以不含表頭。

  • 表頭可以是文本形式的。

  • 除了官方文檔說明的這些我發現,importdata導入的數據除了可以列名外還可以含有行名。導入時列名會被放在colheaders數組中,行名會被放在rowheaders數組中。

  • importdata還可以用來導入圖片,傳入圖片的名稱即可

樣例1:

%1.txt%a1 a2 a3 a4%1 3 5 3%1 2 4 6%7 5 4 8%3 7 9 8%2 3 7 4>> impdata = importdata('1.txt') impdata = 包含以下字段的 struct: data: [5×4 double] textdata: {'a1' 'a2' 'a3' 'a4'} colheaders: {'a1' 'a2' 'a3' 'a4'} >> class(impdata) ans = 'struct'

可見importdata函數會將數據導入到一個結構體變量中,文本與數字分別導入到結構不同的屬性中。數字部分導入到屬性data中是一個矩陣,文本部分導入屬性textdata中是一個細胞數組。如果textdata中的文本是列名則同時還會保存到屬性colheaders中

樣例2:

%2.txt%b1 1 3 5 3%b2 1 2 4 6%b3 7 5 4 8%b4 3 7 9 8%b5 2 3 7 4 >> impdata = importdata('2.txt') impdata = data: [5x4 double] textdata: {5x1 cell} rowheaders: {5x1 cell}

如果textdata中的文本是行名則同時還會保存到屬性rowheaders中。注意不能將行名稱放在最后一列,這樣將不能正確導入。所以在進行分類時,不能將字符型的類標簽放在最后一列,而是應該放在第一列。

樣例3:

%3.txt%a1 a2 a3 a4%b1 b2 b3 b4%1 3 5 3%1 2 4 6%7 5 4 8%3 7 9 8%2 3 7 4 >> impdata = importdata('3.txt') impdata = data: [5x4 double] textdata: {2x4 cell} colheaders: {'b1' 'b2' 'b3' 'b4'}

?

可以看到如果在頭部文本超過兩行,只有最后一行會作為列名分開讀取,前面的列作為一個字符串,不分開,分隔符也不會被識別,而是當做普通字符。

樣例4:

???????

%a1 a2 a3 a4%b1 1 3 5%b2 1 2 4%b3 7 5 4%b4 3 7 9%b5 2 3 7 >> impdata = importdata('4.txt') impdata = data: [5x3 double] textdata: {6x4 cell}

?

3.load函數

?

load函數一般將用來導入純數字的文件,可以是文本格式的文件或者是matlab保存的mat格式的文件。

???????

>> A = magic(3) A = 8 1 6 3 5 7 4 9 2 >> save A.mat A>> clear>> load A.mat>>?load?5.txt??#?自動生成X+txt文件名的變量>> B = load('5.txt') # 把導入的數值賦給B

總結

以上是生活随笔為你收集整理的2021-02-23 Matlab数据导入--importdata和load函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。