MATLAB文件数据的读入与写出

文章目录

  • 一、.mat File save()and load()
  • 二、Excel File Reading:xlsread()
  • 三、Excel File Writing:xlswrite()
  • 四、Excel读取文件扩展
  • 五、fopen()、fscanf()、fprintf()


一、.mat File save()and load()

Save ( all ) workspace data to a file:
保存工作区的所有数据到文件当中

clear;
a = magic(4);				#存储四阶矩阵为例
save mydata1.mat			#保存至mydata1.mat文件,不能用txt文本查看
save mydata2.mat -ascii		#保存至mydata2.mat文件,数据能用txt文本查看

Load data stored in a file:
下载文件当中的数据

load('mydata1.mat')				#获取mydata1.mat当中的数据
load('mydata2.mat','-ascii')	#用ascall码方式获取mydata2.mat中的数据
TIPS:用什么方式Save(),就需要用对应方式Load()

二、Excel File Reading:xlsread()

Read from Excel spreadsheet(从Excel表格当中读取数据)
MATLAB文件数据的读入与写出_第1张图片
代码如下(示例):

Score = xlsread('Excel.xlsx')				#代码一
Score = xlsread('Excel.xlsx', 'B2 : D4')	#代码二

实现结果(代码一):
MATLAB文件数据的读入与写出_第2张图片
实现结果(代码二):
MATLAB文件数据的读入与写出_第3张图片

TIPS:代码二读取范围为Excel.xlsx文件当中B2到D4的单元格

三、Excel File Writing:xlswrite()

MATLAB文件数据的读入与写出_第4张图片
代码如下(求每个同学的平均成绩):

M = mean(Score')';		
xlswrite('Excel.xlsx', M, 1, 'E2 : E4');
xlswrite('Excel.xlsx', {
     'Mean'}, 1, 'E1');	#为平均成绩添加标题'Mean'
TIPS:mean()函数求平均数是按列方向,不符合求每个同学平均成绩的题意     所以Score'即Score矩阵的转置矩阵,求得平均成绩后再将矩阵转置     就能得到符合题意的求各同学平均成绩的目的


    xlswrite(‘Excel.xlsx’, M, 1, ‘E2 : E4’);
    其中 1 指代写入Excel.xlsx表格的第一页中
    其中 ‘E2 : E4’ 指代写入范围是E2到E4单元格

四、Excel读取文件扩展

MATLAB文件数据的读入与写出_第5张图片
代码如下(分别读取文本与数据):

[Score Header] = xlsread('Excel.xlsx')

实现结果:
MATLAB文件数据的读入与写出_第6张图片

这里提出一个问题:如何一次性将Score和Header实现存储呢?

博主的思路(仅供参考):
  将double类型的Score通过num2cell()函数转化成cell类型,再将转化后的cell类型Score_as_cell填入Header中,最后实现对Header的一次性存储。

代码如下(如有更优方法,欢迎评论留言):

[Score Header] = xlsread('Excel.xlsx')
score_as_cell = num2cell(Score)		#转化为cell类型的score_as_Score
for i = 2:4
    for j = 2:4
        Header(i,j) = score_as_cell(i - 1, j -1);
    end
end
Header			#查看合并后的Header
xlswrite('04Score.xlsx',Header,1,'A1:D4');

五、fopen()、fscanf()、fprintf()

fid = fopen('[filename]', '[permission]');
status = fclose(fid);

其中permission又分为 ‘r’ , ‘r+’, ‘w’, ‘w+’ , ‘a’ , ‘a+’ ;

’ r ’ 表示 Read 权限; ’ w ’ 表示 Write 权限; ’ a ’ 表示读写权限;

例题:
MATLAB文件数据的读入与写出_第7张图片

你可能感兴趣的:(matlab,matlab,excel,矩阵)