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()
Read from Excel spreadsheet(从Excel表格当中读取数据)
代码如下(示例):
Score = xlsread('Excel.xlsx') #代码一
Score = xlsread('Excel.xlsx', 'B2 : D4') #代码二
实现结果(代码一):
实现结果(代码二):
TIPS:代码二读取范围为Excel.xlsx文件当中B2到D4的单元格
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单元格
[Score Header] = xlsread('Excel.xlsx')
实现结果:
这里提出一个问题:如何一次性将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');
fid = fopen('[filename]', '[permission]');
status = fclose(fid);
其中permission又分为 ‘r’ , ‘r+’, ‘w’, ‘w+’ , ‘a’ , ‘a+’ ;
’ r ’ 表示 Read 权限; ’ w ’ 表示 Write 权限; ’ a ’ 表示读写权限;