目录标题
问题描述
在matlab中有时我们需要储存工作区的数值,例如储存和导入为mat文件和excel文件。
代码实现
储存
excel文件
1.存储为excel文件,使用函数xlswrite。
filename = 'testdata.xlsx';
A = [12.7 5.02 -98 63.9 0 -.2 56];
xlswrite(filename,A)
1.存储为excel文件,使用函数xlswrite。:
filename = 'testdata.xlsx';
A = [12.7 5.02 -98 63.9 0 -.2 56];
save('testdata.xlsx', 'A');
mat文件
1.存储为mat文件,使用函数save。
filename = 'testdata.xlsx';
A = [12.7 5.02 -98 63.9 0 -.2 56];
save('testdata', 'A');
注释:testdata
为mat文件名。
存储多个数组时:
p = rand(1,10);
q = ones(10);
save('pqfile.mat','p','q')
或:
save pqfile.mat p q
导入
excel文件
readtable函数(只能读取double型)
filename = 'shuju.xlsx';
A = xlsread(filename);
限制范围:
filename = 'myExample.xlsx';
sheet = 1;
xlRange = 'B2:C3';
subsetA = xlsread(filename,sheet,xlRange)
xlsread函数
shuju = readtable("D:\my_document\latex\markdown\shuju.xlsx");
table型
%% 设置导入选项并导入数据
opts = spreadsheetImportOptions("NumVariables", 3);
% 指定工作表和范围
opts.Sheet = "Sheet1";
opts.DataRange = "A2:C14";
% 指定列名称和类型
opts.VariableNames = ["VarName1", "VarName2", "VarName3"];
opts.VariableTypes = ["string", "categorical", "double"];
% 指定变量属性
opts = setvaropts(opts, "VarName1", "WhitespaceRule", "preserve");
opts = setvaropts(opts, ["VarName1", "VarName2"], "EmptyFieldRule", "auto");
% 导入数据
shuju = readtable("D:\my_document\latex\markdown\shuju.xlsx", opts, "UseExcel", false);
shuju = readtable("D:\my_document\latex\markdown\shuju.xlsx");
filename = 'shuju.xlsx';
A = xlsread(filename);
mat文件
load data123.mat
例子
例子一(excel写入字符串,数组,和读取)
在excel写入数组和字符串
D=D';
wen=wen';
写入字符串:
filename = 'csdnyi.xlsx';
xlswrite(filename, wen, 1, "A1:D1");%写入字符串
写入数组:
writematrix(D,filename,'Sheet',1,'Range','A2:D2');%写入数组
在后面加入几行数字:
M2 = [5 10 15 20 25; 30 35 40 45 50]
writematrix(M2,'csdnyi.xlsx','WriteMode','append')
读取数据(只读double数据)
两张表达形式都行:
M = readmatrix('csdnyi.xlsx','Sheet','Sheet1','Range','A2:D2')%表名为表的名字
% 或
M = readmatrix('csdnyi.xlsx','Sheet',1,'Range','A2:D2')% 第1个表
输出结果:
完整代码
D=D';
wen=wen';
filename = 'csdnyi.xlsx';
xlswrite(filename, wen, 1, "A1:D1");%写入字符串
writematrix(D,filename,'Sheet',1,'Range','A2:D2');%写入数组
M = readmatrix('csdnyi.xlsx','Sheet','Sheet1','Range','A2:D2')%表名为表的名字
% 或
M = readmatrix('csdnyi.xlsx','Sheet',1,'Range','A2:D2')% 第1个表
%%
% 在后面加入几行数字
M2 = [5 10 15 20 25; 30 35 40 45 50]
writematrix(M2,'csdnyi.xlsx','WriteMode','append')
% 将矩阵 M2 中的数据追加到电子表格文件中现有数据的下方。
M = readmatrix('csdnyi.xlsx','Sheet',1,'Range','A2:D4')% 第1个表