官术网_书友最值得收藏!

1.4 數(shù)據(jù)導(dǎo)入與導(dǎo)出

MATLAB的數(shù)據(jù)導(dǎo)入與導(dǎo)出有許多方法,本節(jié)通過實(shí)例介紹幾種簡便方法。

1.4.1 數(shù)據(jù)導(dǎo)入

① 在MATLAB命令行窗口直接輸入數(shù)據(jù)。

【例1-20】在命令窗口輸入:

clear    
n=[1.379 1.3755 1.3712 1.369 1.3668 1.3657 1.364 1.362 1.3607
1.3593 1.3581 1.3574];
w=[0.1974 0.295 0.3977 0.497 0.599 0.6445 0.7101 0.7983 0.8442 0.9064 0.9509 1];

按Enter鍵,nw被載入工作區(qū)。

需要注意的是,每次關(guān)閉MATLAB程序就會(huì)將工作區(qū)中的變量清空,如果經(jīng)常用到該變量,可以將該變量保存為MAT文件。若點(diǎn)擊“工作區(qū)”,按右鍵,點(diǎn)擊“保存”,命名為插值-折光率,則在“當(dāng)前文件夾”出現(xiàn)“插值-折光率.mat”文件,如圖1-22所示。這樣每次打開MATLAB,只要在“當(dāng)前文件夾”雙擊“插值-折光率.mat”文件,便可以將nw變量導(dǎo)入工作區(qū)。

圖1-22 保存“工作區(qū)”數(shù)據(jù)界面

或者在命令行窗口加載數(shù)據(jù),如在命令窗口輸入:

>> load(‘插值-折光率.mat')

② 在MATLAB工作區(qū)直接輸入數(shù)據(jù),輸入示例見第5章【例5-6】。

③ 將文本文件數(shù)據(jù)輸入到工作區(qū)。

方法1:點(diǎn)擊標(biāo)簽頁“主頁(Home)/導(dǎo)入數(shù)據(jù)(Import Data)”按鈕,輸入示例見第5章【例5-9】。

方法2:調(diào)用格式:load(文件名)。

【例1-21】若文本數(shù)據(jù)文件在當(dāng)前路徑(D:\我的文檔\MATLAB)下,名為“Fermantation Data.txt”,見圖1-23。

在命令行窗口輸入:

>> load(‘FermantationData.txt’); %將FermantationData.txt文件載入MATLAB環(huán)境中    
t= FermantationData (:,1); %發(fā)酵時(shí)間
x= FermantationData (:,2); %菌體濃度
s= FermantationData (:,3); %底物濃度 p= FermantationData (:,4); %產(chǎn)物濃度

圖1-23 文本數(shù)據(jù)界面

按Enter鍵,在工作區(qū)出現(xiàn)相應(yīng)的變量,如圖1-24所示。

圖1-24 “FermantationData.txt”文件載入MATLAB環(huán)境界面

若文本文件不在當(dāng)前目錄(current directory)下,可以改變目錄,或者指定帶有完整位置字符串的文件。

④ 將Excel電子表格數(shù)據(jù)輸入到工作區(qū)。

在使用MATLAB對矩陣進(jìn)行數(shù)據(jù)處理時(shí),為了方便編輯與修改,常常需要先將數(shù)據(jù)錄入到Excel中,然后再將其導(dǎo)入到MATLAB中參與矩陣運(yùn)算。Excel數(shù)據(jù)文件擴(kuò)展名為xls或xlsx。

方法1:點(diǎn)擊標(biāo)簽頁“主頁(Home)/導(dǎo)入數(shù)據(jù)(Import Data)”按鈕。

將當(dāng)前路徑的Excel數(shù)據(jù)導(dǎo)入MATLAB,輸入示例見第5章【例5-8】。

將不在當(dāng)前路徑的Excel數(shù)據(jù)導(dǎo)入MATLAB ,輸入示例見第5章【例5-7】。

方法2:用“xlsread”作為讀取Excel文件的命令?!?/p>

調(diào)用格式:ndata=xlsread(文件名)。

【例1-22】Excel電子表格數(shù)據(jù)文件在當(dāng)前路徑(D:\我的文檔\MATLAB)下,名為“發(fā)酵數(shù)據(jù).xlsx”,該表格文件含有2個(gè)數(shù)據(jù)表,見圖1-25。

在命令行窗口輸入:

>> ndata=xlsread(‘發(fā)酵數(shù)據(jù)')

圖1-25 “發(fā)酵數(shù)據(jù).xlsx”電子表格數(shù)據(jù)界面

按Enter鍵,輸出結(jié)果為:

ndata =    
     0  0.0060  36.0010     0
  4.0000  0.0470  35.7880  0.0060
  8.0000  0.5110  34.7350  0.0080
  12.0000  2.0700  32.2150  0.0090
  16.0000  3.1700  27.1870  0.0300
  20.0000  3.9440  20.5930  0.1390 24.0000  4.2830  10.8020  0.6050

從中可以看出,“xlsread”忽略了標(biāo)題欄。在命令行窗口輸入:

>>[ndata,text] =xlsread(‘發(fā)酵數(shù)據(jù)')

按Enter鍵,在命令行窗口顯示:

ndata =    
     0  0.0060  36.0010     0
  4.0000  0.0470  35.7880  0.0060
  8.0000  0.5110  34.7350  0.0080
  12.0000  2.0700  32.2150  0.0090
  16.0000  3.1700  27.1870  0.0300
  20.0000  3.9440  20.5930  0.1390
  24.0000  4.2830  10.8020  0.6050
 text =
    1×4 cell 數(shù)組 ’t’  ’X’  ’S’  ’P’

若電子表格中含有不止一個(gè)表,上述表達(dá)式將自動(dòng)輸入第一個(gè)表。為了獲得電子表格中的其他表,需要指出具體表格。如需要將“發(fā)酵數(shù)據(jù).xlsx”的電子表格sheet2數(shù)據(jù)輸入到工作區(qū),在命令行窗口輸入:

ndata=xlsread(‘發(fā)酵數(shù)據(jù)','sheet2')

按Enter鍵,在命令行窗口顯示:

ndata =    
     0  6.2200
  2.0000  6.0200
  4.0000  6.0100
  6.0000  6.0200
  8.0000  6.0800
10.0000  6.0300

若只需要電子表格中特定區(qū)域數(shù)據(jù),如電子表格“發(fā)酵數(shù)據(jù).xlsx”的第2張表,需要加載A1至B4單元格數(shù)據(jù)及標(biāo)題欄。在命令行窗口輸入:

[ndata,text] =xlsread(‘D:\我的文檔\MATLAB\發(fā)酵數(shù)據(jù)','sheet2','A1:B4’)

按Enter鍵,在命令行窗口顯示:

ndata =    
     0  6.2200
  2.0000  6.0200
  4.0000  6.0100
text =
  1×2 cell 數(shù)組 ’t’  ’pH’

1.4.2 數(shù)據(jù)導(dǎo)出

在命令行窗口輸入:

>>B=[1,2,3;3,2,1]; %計(jì)算結(jié)果在MATLAB中被保存為B矩陣

按Enter鍵。

(1)MATLAB數(shù)據(jù)導(dǎo)出至文本文件

在命令行窗口輸入:

>>save liu.txt B -ascii -tabs %把矩陣B的數(shù)據(jù),導(dǎo)出到txt文件中,名字為liu.txt

按Enter鍵,矩陣B以名字為liu.txt被保存在當(dāng)前路徑(D:\我的文檔\MATLAB)下。

(2)MATLAB數(shù)據(jù)導(dǎo)出至Excel電子表格

① 直接轉(zhuǎn)為xls文件。在命令行窗口輸入:

>>save liuliu.xls B -ascii -tabs %把矩陣B的數(shù)據(jù),導(dǎo)出到Excel文件中,名字為liuliu.xls

按Enter鍵,矩陣B以名字為liuliu. xls被保存在當(dāng)前路徑(D:\我的文檔\MATLAB)下。

② 先存為txt文件,再轉(zhuǎn)為xls文件。比如將上述liu.txt文件轉(zhuǎn)為xls文件,只需新建一個(gè)EXCEL文檔并打開,點(diǎn)擊菜單中的“文件/打開”,選擇具體路徑(D:\我的文檔\MATLAB)下“l(fā)iu.txt”,按照提示點(diǎn)擊“下一步”至“完成”,最后保存數(shù)據(jù)到EXCEL中。

要將EXCEL表中“科學(xué)計(jì)數(shù)”格式轉(zhuǎn)換為“數(shù)值”格式,只需選中數(shù)據(jù),點(diǎn)擊右鍵,選擇“設(shè)置單元格格式/數(shù)字/數(shù)值”即可。

主站蜘蛛池模板: 二手房| 永济市| 石屏县| 伊春市| 曲松县| 通州区| 班玛县| 连城县| 盐亭县| 宁都县| 黔江区| 佛坪县| 互助| 镇坪县| 射阳县| 蓝山县| 千阳县| 全椒县| 英吉沙县| 江阴市| 封开县| 靖边县| 贵阳市| 湟中县| 万荣县| 合阳县| 贵定县| 海阳市| 邳州市| 壶关县| 德惠市| 镇巴县| 尉氏县| 古交市| 盐池县| 玛曲县| 绥滨县| 哈巴河县| 固原市| 富裕县| 会理县|