0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Matlab數(shù)據(jù)導(dǎo)入-importdata和load函數(shù)說明

冬至子 ? 來源:算法工程師的學(xué)習(xí)日志 ? 作者:搬磚工程師domi ? 2023-07-19 16:00 ? 次閱讀

1.引言

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

2.importdata函數(shù)

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

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函數(shù)主要特點是可以從文本文件中導(dǎo)入數(shù)據(jù)
  • 導(dǎo)入的數(shù)據(jù)可以是類似于表格形式的,可以含有表頭即列名稱,也可以不含表頭。
  • 表頭可以是文本形式的。
  • 除了官方文檔說明的這些我發(fā)現(xiàn),importdata導(dǎo)入的數(shù)據(jù)除了可以列名外還可以含有行名。導(dǎo)入時列名會被放在colheaders數(shù)組中,行名會被放在rowheaders數(shù)組中。
  • importdata還可以用來導(dǎo)入圖片,傳入圖片的名稱即可

樣例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函數(shù)會將數(shù)據(jù)導(dǎo)入到一個結(jié)構(gòu)體變量中,文本與數(shù)字分別導(dǎo)入到結(jié)構(gòu)不同的屬性中。數(shù)字部分導(dǎo)入到屬性data中是一個矩陣,文本部分導(dǎo)入屬性textdata中是一個細胞數(shù)組。如果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中。注意不能將行名稱放在最后一列,這樣將不能正確導(dǎo)入。所以在進行分類時,不能將字符型的類標(biāo)簽放在最后一列,而是應(yīng)該放在第一列。

樣例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'}

圖片

圖片

圖片

圖片

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

樣例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函數(shù)

load函數(shù)一般將用來導(dǎo)入純數(shù)字的文件,可以是文本格式的文件或者是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')  # 把導(dǎo)入的數(shù)值賦給B

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • MATLAB仿真
    +關(guān)注

    關(guān)注

    4

    文章

    175

    瀏覽量

    19847
  • ASCII碼
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    17276
收藏 人收藏

    評論

    相關(guān)推薦

    【資料分享】STM32的函數(shù)說明(中文)

    STM32的函數(shù)說明(中文)
    發(fā)表于 03-24 23:54

    STM32庫函數(shù)說明和使用示例---EXTI庫

    STM32庫函數(shù)說明和使用示例---EXTI庫
    發(fā)表于 09-09 16:16

    請問有USB的庫函數(shù)說明手冊pdf么

    有USB的庫函數(shù)說明手冊pdf么?,哪位前輩有的話請幫忙分享下謝謝了
    發(fā)表于 10-29 08:39

    STM32庫函數(shù)說明及示例

    STM32庫函數(shù)說明及示例(版本V1.4.0)----第一篇:GPIO庫文檔說明和約定:該文檔主要是對STM32F4各個模塊的庫進行翻譯和說明。文檔中加入了作者的一些理解,建議和小貼士。并且在文檔
    發(fā)表于 08-23 08:30

    Matlab數(shù)據(jù)擬合基礎(chǔ)函數(shù)的使用

    Matlab數(shù)據(jù)擬合基礎(chǔ)函數(shù)的使用,教你如何擬合兩個未知量
    發(fā)表于 11-10 16:45 ?0次下載

    函數(shù)說明

    函數(shù)說明,配套的函數(shù)說明,又需要的下來看看
    發(fā)表于 07-15 16:03 ?0次下載

    IMAQ函數(shù)說明

    IMAQ函數(shù)說明,感興趣的可以瞧一瞧!
    發(fā)表于 01-14 02:49 ?30次下載

    Vivado 中數(shù)據(jù)導(dǎo)入MATLAB的方法

    .txt文件 2.在MATLAB中使用函數(shù)xlLoadChipScopeData()將文件導(dǎo)入緩存。(需要相應(yīng)的MATLAB和ISE設(shè)置) 上述兩
    發(fā)表于 02-09 01:43 ?2194次閱讀

    STM32的函數(shù)說明(中文)

    STM32官方庫函數(shù)中文說明
    發(fā)表于 03-01 21:53 ?90次下載

    GX09和GX06常用函數(shù)說明

    本文檔的主要內(nèi)容詳細介紹的是GX09和GX06常用函數(shù)說明
    發(fā)表于 01-13 08:00 ?27次下載
    GX09和GX06常用<b class='flag-5'>函數(shù)說明</b>

    STM32F4 HAL庫函數(shù)說明下載

    STM32F4 HAL庫函數(shù)說明下載
    發(fā)表于 05-26 09:27 ?73次下載

    OpenCV-Python中的函數(shù)說明

    ? 函數(shù)說明 OpenCV C++的圖像對象Mat有一個函數(shù)convertTo可以把圖像數(shù)據(jù)在不同的精度類型之間來回切換比如從字節(jié)到浮點數(shù)之間來回切換。非常方便,該函數(shù)的官方
    的頭像 發(fā)表于 07-08 10:52 ?814次閱讀

    STM32CUBEIDE(4)----GPIO輸出函數(shù)說明

    本章主要講解GPIO輸出函數(shù)說明。 最近在弄ST和GD的課程,需要樣片的可以加群申請:615061293。
    的頭像 發(fā)表于 11-24 10:51 ?1278次閱讀
    STM32CUBEIDE(4)----GPIO輸出<b class='flag-5'>函數(shù)說明</b>

    GD32F303固件庫開發(fā)(4)----GPIO輸出函數(shù)說明

    本章主要講解GPIO輸出函數(shù)說明。 最近在弄ST和GD的課程,需要樣片的可以加群申請:615061293。
    的頭像 發(fā)表于 11-24 14:17 ?2424次閱讀
    GD32F303固件庫開發(fā)(4)----GPIO輸出<b class='flag-5'>函數(shù)說明</b>

    串口屏LUA教程5-控件讀寫操作函數(shù)說明

    串口屏LUA教程5-控件讀寫操作函數(shù)說明
    發(fā)表于 04-29 13:09 ?6次下載