欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

數據的導入導出是怎么操作的

錢瀠龍2年前29瀏覽0評論

數據的導入導出是怎么操作的?

一、save與load函數保存和加載程序數據

基本格式為:

save('FILENAME', 'VARIABLES')

load('FILENAME', 'VARIABLES')

例如,save ('datas.mat','data','x','y','z'); 表示將內存變量data, x, y, z 保存到當前路徑下的datas.mat文件,其它程序若要載入這幾個變量的數據,只需前面路徑下執行load datas;即可。

二、txt文件的導入導出

1. 導入格式一致的數據

例1 現有txt文件如下:

代碼:

x1=load('data1.txt'); %注意設置當前路徑為文件所在路徑

x2=load('data2.txt');

2. 導入有固定分隔符的數據

dlmread('FILENAME', '分隔符', '讀取范圍')

例2讀取txt文件如下(需要跳過前2行的非數據行,或列數不同):

代碼:

x3=dlmread('data3.txt', ',', 2,0) ; %設定讀取的初始位置:2行0列之后的數據

x4=dlmread('data4.txt'); %列數不足用0不齊,load函數讀取將報錯

3. 將矩陣數據寫入指定分隔符的ASCII格式文件

dlmwrite(‘文件名’, ‘數據’, ‘分隔符’, ‘起始行’, ‘起始列’)

dlmwrite(‘文件名’, ‘數據’, '-append')

'-append'表示將矩陣數據寫到文本末尾,若不指定將覆蓋原文本數據。

4. 導入帶表頭的txt或excel數據

importdata(‘文件名’, ‘分隔符’, ‘n’);

將數據存入“結構體”,其中,n表示n行表頭;也可以用來讀入圖片:

x=importdata('tupian.jpg'); image(x);

例3 讀入如下的txt文件:

代碼:

x5=importdata('data5.txt',' ',1); %空格分隔, 第1行是表頭

x5.data %數據

x5.textdata %表頭變量

5. 導入混合格式文本

textscan(fid, 'format', N, 'param', value);

其中,fid為文件句柄;format為讀取格式;N表示用該格式讀取N次數據;'param', value(可選項)指定分隔符和值對。

注意:使用textscan之前,必須先用fopen打開要讀入的文件;函數textread用法類似。

例4 混合格式數據的txt文件如下:

代碼:

fid=fopen('data6.txt','r'); %打開文件句柄

C=textscan(fid, '%s%s%f32%d8%u%f%f%s%f'); %按格式讀入元胞數組C

fclose(fid); %關閉文件句柄

C{1}

C{9}

[names,types,y,answer]=textread('data7.txt','%9c %6s %*f %2d %3s', 1) %讀入固定格式的文件的第一行,忽略其中的浮點值

運行結果:C{1} = 'Sally' 'Joe' 'Bill'

C{9} = 5.1000 + 3.0000i 2.2000 - 0.5000i 3.1000 + 0.1000i

names = Sally Lev

types = 'el1'

y = 45

answer = 'Yes'

三、csv文件導入與導出

csv文件是逗號分隔的txt文件,使用csvread()函數,有3種格式:

csvread('filename', row, col, range)

其中,第一個參數指定文件名;

row和col指定開始讀取位置的行號和列號。注意是從0開始計數,即row=0, col=0表示從文件中第一個數(1, 1)開始讀;

range指定讀取的范圍,range=[R1 C1 R2 C2],表示讀取區域的左上角位置為(R1+1, C1+1),讀取區域的右下角位置為(R2-1, C2-1),且要求row, col等于R1, C1.

注意:csv文件中的空項,讀到矩陣中時,會初始化為0.

四、 Excel文件的導入與導出

1. 導入Excel數據文件

[num, txt, raw] = xlsread('文件名.xls','工作表', '數據范圍')

例5 現有data1.xlsx文件(導入Sheet1的A1至H4數據):

代碼:

[num,txt,raw]=xlsread('data1.xlsx','Sheet1','A1:H4')

%數據返回num;文本返回txt;不處理直接作為元胞返回raw

運行結果:

num =

1 60101 6010101 NaN 0 63 63

2 60101 6010102 NaN 0 73 73

3 60101 6010103 NaN 0 0 0

txt =

'序號' '班名' '學號' '姓名' '平時成績' '期末成績' '總成績' '備注'

'' '' '' '陳亮' '' '' '' ''

'' '' '' '李旭' '' '' '' ''

'' '' '' '劉鵬飛' '' '' '' '缺考'

raw =

'序號' '班名' '學號' '姓名' '平時成績' '期末成績' '總成績' '備注'

[ 1] [60101] [6010101] '陳亮' [ 0] [ 63] [ 63] [ NaN]

[ 2] [60101] [6010102] '李旭' [ 0] [ 73] [ 73] [ NaN]

[ 3] [60101] [6010103] '劉鵬飛' [ 0] [ 0] [ 0] '缺考'

2. 將數據導出到Excel文件

status = xlswrite(‘filename.xls’, ‘數據’, ‘工作表’, ‘指定區域’)

成功返回1,失敗返回0.

例6 將矩陣或元胞數組的數據寫成xls文件

代碼:

A=[12.7 5.02 -98 12; 63.9 0 -0.2 56];

xlswrite('testdata.xls', A)

d={'Time', 'Temp'; 12 98; 13 99; 14 97};

s=xlswrite('tempdata.xls', d, 'Temperatures', 'E1')

%將數據d寫入文件tempdata.xls, Temperatures表,E1起始

例7 讀取數據、處理日期數據,根據日期繪制開盤價變化趨勢圖形。ExpData.xlsx文件如下(部分):

代碼:

[num,txt]=xlsread('ExpData.xlsx');

%讀取excel表格中的數據,數值存入num,文本存入txt

date=txt(2:end,1); %取出日期數據單獨處理

t=datenum(date); %將日期轉化為數值(方便繪圖使用)

date1=datestr(t); %將數值轉化為日期

h=figure %生成空的圖形窗口句柄

set(h,'color','w'); %將圖的背景顏色設為白色

plot(t,num(:,1)); %以日期為橫坐標,開盤價為縱坐標,繪制圖形

%plot(t,num(:,1),'*'); %繪制散點圖

datetick('x',23); %將x軸標注變成日期格式:mm/dd/yyyy

xlabel('日期');

ylabel('開盤價');

運行結果: