学习素材:MATLAB教程_台大郭彦甫(14课)原视频补档
MATLAB教學 - 04变数(变量)与档案存取_哔哩哔哩_bilibili
(部分素材使用视频截图)
目录
一、cell
1.两种构造方法
2.matrix into a cell variable
(1)num2cell
(2).mat2cell(D1,D2,D3)编辑
3.三维cell(A{row,colum,layer})
(1).cat
4.reshape排列调整
5.常用函数
二、存档和读档
1.mat文件
(1).save
(2).load
2.excel文件
(1).读取xlsread
(2).写入(xlswrite)
(3).多信息读取
3.txt文档
(1).写入(fprintf)
(2)读取(fscanf)
一、cell
1.两种构造方法
看一个元素的内容用A(x1,x2)
查看cell中矩阵元素的元素
2.matrix into a cell variable
(1)num2cell
矩阵每个元素都变成cell的元素
(2).mat2cell(D1,D2,D3)
D1:原矩阵
D2:代表cell的行数,并且指定,cell中矩阵元素的行数(rows)
D3:代表cell的列数,并且指定,cell中矩阵元素的列数 (colums)
如c=mat2cell(a,[1,1,1,1],[3,2])
即:cell中含有两个2*3矩阵,两个2*2矩阵
3.三维cell(A{row,colum,layer})
(1).cat
把两个二维cll叠成一个三维cell
4.reshape排列调整
由下图可知,reshape任然保持原有的矩阵顺序
5.常用函数
二、存档和读档
1.mat文件
(1).save
a=magic(4)
save mydata1.mat
这种方式,存储成mat文件后打开会是乱码
save mydata2.mat -ascii %按ascii存储
save,在不加任何选项(Options)时,save会将变数以二进制(Binary)的方式储存至副档名为mat的档案,如下述:
save:将工作空间的所有变数储存到名为matlab.mat的二进制档案。
save filename:将工作空间的所有变数储存到名为filename.mat的二进制档案。 save filename x y z :将变数x、y、z储存到名为filename.mat的二进制档案。
(63条消息) matlab save函数用法_weixin_33862041的博客-CSDN博客
(2).load
load('mydata1.mat')
load('mydata2.mat','-ascii') %用于查看以sscii码形式存储的mat文件
2.excel文件
(1).读取xlsread
只会读取数据部分,不会读取字符部分
Sorce=xlsread('sorce.xls')
Sorce =
90 100 100
68 44 55
88 120 120
Sorce=xlsread('sorce.xls','B2:D4')
Sorce =
90 100 100
68 44 55
88 120 120
(2).写入(xlswrite)
%求每行的平均。并写回原文档
M=mean(Sorce')';
xlswrite('Sorce.xls',M,1,'E2:E4');
xlswrite('sorce.xls',M,1,'E2:E4');
xlswrite('sorce.xls',{"Mean"},1,'E1');
(3).多信息读取
[Sorce Header]=xlsread('sorce.xls')
Sorce存储数据信息
Header存储字符信息
如果把此时Sorce和Header d的数据都存入xls表格
[Sorce Header raw]=xlsread('sorce.xls');
%此时,row中包含sorce中所有的数据
xlswrite('2.xls',raw);
%写入2.xls
3.txt文档
(1).写入(fprintf)
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 %显示文件中的所有数据
(2)读取(fscanf)
fid=fopen('date.txt','r');
i=1;
while ~feof(fid) %feof检测文件末尾
name(i,:)=fscanf(fid,'%5c',1);
year(i)=fscanf(fid,'%d',1);
no1(i)=fscanf(fid,'%d',1);
no2(i)=fscanf(fid,'%d',1);
no3(i)=fscanf(fid,'%g',1); %g是 %e or %f的紧凑型,即:没有多余的0
no4(i)=fscanf(fid,'%g\n',1);
i=i+1;
end
fclose(fid)
文章来源:https://www.toymoban.com/news/detail-436471.html
文章来源地址https://www.toymoban.com/news/detail-436471.html
到了这里,关于matlab: 03(2) cell、存档和读档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!