日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

matlab保存数据

發(fā)布時間:2025/5/22 158 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab保存数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

matlab保存數(shù)據(jù)

標簽: matlab工作正則表達式瀏覽器擴展file 26196人閱讀 評論(2) 收藏 舉報 本文章已收錄于: 分類: matlab(3) 作者同類文章X
    一:存txt文件,用dlmwrite()dlmwrite
    將一個矩陣寫到由分隔符分割的文件中。

    在保存整數(shù)到文件時使用save存為ascii文件時,常常是文件里都是實型格式的數(shù)據(jù)(有小數(shù)點,和后面很多的0,看著很不方便)。于是要保存此類數(shù)據(jù)時,我們可以使用此dlmwrite命令。

    使用方法:
    dlmwrite('filename', M)
    使用默認分隔符“,”將矩陣M寫入文本文件filename中;
    dlmwrite('filename', M, 'D')
    使用分隔符D分割數(shù)據(jù),“\t”表示tab分割,“,”為默認分割符;
    dlmwrite('filename', M, 'D', R, C)
    從矩陣M的第R行、第C列開始,作為要寫矩陣塊的左上角,將數(shù)據(jù)用D分割寫入文件。
    其他用法有:
    dlmwrite('filename', M, 'attrib1', value1, 'attrib2', value2, ...)
    dlmwrite('filename', M, '-append')
    dlmwrite('filename', M, '-append', attribute-value list)

    例如:


    • a = [1 2 3; 4 5 6; 7 8 9];
    • dlmwrite('test.txt', a);


    則test.txt中的內(nèi)容為:
    1,2,3
    4,5,6
    7,8,9

    而使用save


    • a = [1 2 3; 4 5 6; 7 8 9];
    • save 'tst.txt' a -ascii;


    文本文件里的內(nèi)容為:
    ? ?1.0000000e+000? ?2.0000000e+000? ?3.0000000e+000
    ? ?4.0000000e+000? ?5.0000000e+000? ?6.0000000e+000
    ? ?7.0000000e+000? ?8.0000000e+000? ?9.0000000e+000

    13.1 數(shù)據(jù)基本操作二:
      本節(jié)介紹基本的數(shù)據(jù)操作,包括工作區(qū)的保存、導入和文件打開。
    13.1.1 文件的存儲
      MATLAB支持工作區(qū)的保存。用戶可以將工作區(qū)或工作區(qū)中的變量以文件的形式保存,以備在需要時再次導入。保存工作區(qū)可以通過菜單進行,也可以通過命令窗口進行。
      1. 保存整個工作區(qū)
      選擇File菜單中的Save Workspace As…命令,或者單擊工作區(qū)瀏覽器工具欄中的Save,可以將工作區(qū)中的變量保存為MAT文件。
      2. 保存工作區(qū)中的變量
      在工作區(qū)瀏覽器中,右擊需要保存的變量名,選擇Save As…,將該變量保存為MAT文件。
      3. 利用save命令保存
      該命令可以保存工作區(qū),或工作區(qū)中任何指定文件。該命令的調(diào)用格式如下:
    ● save:將工作區(qū)中的所有變量保存在當前工作區(qū)中的文件中,文件名為 matlab.mat,MAT文件可以通過load函數(shù)再次導入工作區(qū),MAT函數(shù)可以被不同的機器導入,甚至可以通過其他的程序調(diào)用。
    ● save('filename'):將工作區(qū)中的所有變量保存為文件,文件名由filename指定。如果filename中包含路徑,則將文件保存在相應目錄下,否則默認路徑為當前路徑。
    ● save('filename', 'var1', 'var2', ...):保存指定的變量在 filename 指定的文件中。
    ● save('filename', '-struct', 's'):保存結(jié)構體s中全部域作為單獨的變量。
    ● save('filename', '-struct', 's', 'f1', 'f2', ...):保存結(jié)構體s中的指定變量。
    ● save('-regexp', expr1, expr2, ...):通過正則表達式指定待保存的變量需滿足的條件。
    ● save('..., 'format'),指定保存文件的格式,格式可以為MAT文件、ASCII文件等。
    13.1.2 數(shù)據(jù)導入
      MATLAB中導入數(shù)據(jù)通常由函數(shù)load實現(xiàn),該函數(shù)的用法如下:
    ● load:如果matlab.mat文件存在,導入matlab.mat中的所有變量,如果不存在,則返回error。
    ● load filename:將filename中的全部變量導入到工作區(qū)中。
    ● load filename X Y Z ...:將filename中的變量X、Y、Z等導入到工作區(qū)中,如果是MAT文件,在指定變量時可以使用通配符“*”。
    ● load filename -regexp expr1 expr2 ...:通過正則表達式指定需要導入的變量。
    ● load -ascii filename:無論輸入文件名是否包含有擴展名,將其以ASCII格式導入;如果指定的文件不是數(shù)字文本,則返回error。
    ● load -mat filename:無論輸入文件名是否包含有擴展名,將其以mat格式導入;如果指定的文件不是MAT文件,則返回error。
    例13-1 將文件matlab.map中的變量導入到工作區(qū)中。
      首先應用命令whos –file查看該文件中的內(nèi)容:
      >> whos -file matlab.mat
       Name? ?? ?? ?? ?? ?? ?Size? ?? ?? ?? ???Bytes Class
       A? ?? ?? ?? ?? ?? ???2x3? ?? ?? ?? ???48 double array
       I_q? ?? ?? ?? ?? ???415x552x3? ?? ?? ?? ?687240 uint8 array
       ans? ?? ?? ?? ?? ? 1x3? ?? ?? ?? ?? ?24 double array
       num_of_cluster? ?? ? 1x1? ?? ?? ?? ?? ?8 double array
      Grand total is 687250 elements using 687320 bytes
      將該文件中的變量導入到工作區(qū)中:
      >> load matlab.mat
      該命令執(zhí)行后,可以在工作區(qū)瀏覽器中看見這些變量,如圖13-1所示。

    圖13-1 導入變量后的工作區(qū)視圖
      接下來用戶可以訪問這些變量。
      >> num_of_cluster
      num_of_cluster =
      ? ???3
      MATLAB中,另一個導入數(shù)據(jù)的常用函數(shù)為importdata,該函數(shù)的用法如下:
    ● importdata('filename'),將filename中的數(shù)據(jù)導入到工作區(qū)中;
    ● A = importdata('filename'),將filename中的數(shù)據(jù)導入到工作區(qū)中,并保存為變量A;
    ● importdata('filename','delimiter'),將filename中的數(shù)據(jù)導入到工作區(qū)中,以delimiter指定的符號作為分隔符;
    例13-2 從文件中導入數(shù)據(jù)。
      >> imported_data = importdata('matlab.mat')
      imported_data =?
      ? ?? ?? ?? ?? ?ans: [1.1813 1.0928 1.6534]
      ? ?? ?? ?? ?? ???A: [2x3 double]
      ? ?? ?? ?? ?? ?I_q: [415x552x3 uint8]
      ? ? num_of_cluster: 3
      與load函數(shù)不同,importdata將文件中的數(shù)據(jù)以結(jié)構體的方式導入到工作區(qū)中。
    13.1.3 文件的打開
      MATLAB中可以使用open命令打開各種格式的文件,MATLAB自動根據(jù)文件的擴展名選擇相應的編輯器。
    ? ?需要注意的是open('filename.mat')和load('filename.mat')的不同,前者將filename.mat以結(jié)構體的方式打開在工作區(qū)中,后者將文件中的變量導入到工作區(qū)中,如果需要訪問其中的內(nèi)容,需要以不同的格式進行。
    ? ?
    例13-3 open與load的比較。
      >> clear
      >> A = magic(3);
      >> B = rand(3);
      >> save
      Saving to: matlab.mat
      >> clear
      >> load('matlab.mat')
      >> A
      A =
      ? ???8? ???1? ???6
      ? ???3? ???5? ???7
      ? ???4? ???9? ???2
      >> B
      B =
      ? ? 0.9501? ? 0.4860? ? 0.4565
      ? ? 0.2311? ? 0.8913? ? 0.0185
      ? ? 0.6068? ? 0.7621? ? 0.8214
      >> clear
      >> open('matlab.mat')
      ans =?
      ? ? A: [3x3 double]
      ? ? B: [3x3 double]
      >> struc1=ans;
      >> struc1.A
      ans =
      ? ???8? ???1? ???6
      ? ???3? ???5? ???7
      ? ???4? ???9? ???2
      >> struc1.B
      ans =
      ? ? 0.9501? ? 0.4860? ? 0.4565
      ? ? 0.2311? ? 0.8913? ? 0.0185
      ? ? 0.6068? ? 0.7621? ? 0.8214
    ? 頂
    1
    0

      我的同類文章

      matlab(3) http://blog.csdn.net
      • ?線性內(nèi)插interp1函數(shù)用法2012-07-02閱讀11986
      • ?matlab—size用法2012-06-15閱讀40879
      • ?MATLAB中的sort用法2012-07-01閱讀22057

      總結(jié)

      以上是生活随笔為你收集整理的matlab保存数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

      如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。