台大郭彦甫04笔记 | 变数与档案存取(part two)

save( ) and load( )

clear; a = magic(4);
save mydata1.mat
save mydata2.mat -ascii
load('mydata1.mat')
load('mydata2.mat','-ascii')

读取excel : xlsread( )

img


读取的文件必须在matlab/bin/中

Score = xlsread('04Score.xlsx')  %只会读到数字部分
Score = xlsread('04Score.xlsx', 'B2:D4')
% 读取excel中B2-D4区域

计算平均值并输入excel:

M = mean(Score')';
xlswrite('04Score.xlsx', M, 1, 'E2:E4');
xlswrite('04Score.xlsx', {'Mean'}, 1, 'E1');

EXERCISE:计算标准差 var( ) std( )

读取excel中的文字部分

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

img

File I/O Function

函数解释
fopen打开文件或获取信息
fclose关闭一个或所有打开的文件
fscanf=read 从文本文件中读取数据
fprintf=write 写数据文本文件
feof测试文件尾

将sin(x)写入文件中

img

步骤
1 生成x,y
2 打开文件
3 将x,y写入文件
4 关闭文件

x = 0:pi/10:pi; y = sin(x);
fid = fopen('sinx.txt','w');
for i=1:11
fprintf(fid,'%5.3f %8.4f\n', x(i), y(i));  %5个数值,3个时小数点  \n是换行
end
fclose(fid); type sinx.txt

img

img

x = 0:pi/10:pi; y = sin(x); fid = fopen('sinx.txt','w');
for i=1:11
fprintf(fid,'%5.3f %8.4f\n', x(i), y(i));
end
fclose(fid); type sinx.txt