Matlab数据快速处理指南

文章目录

  • Excel文件转Mat或工作区
    • 从Excel文件读取数据并转换为.mat文件
    • 从Excel文件读取数据并加载到工作区
  • Mat文件转Excel
  • Excel快速实现万行级填充
  • 各种数据类型的操作
    • 创建结构体
    • 访问结构体字段
    • 修改结构体字段的值
    • 添加新字段
    • 删除字段
    • 遍历结构体字段

Excel文件转Mat或工作区

在MATLAB中,你可以使用readtable函数将Excel文件读取为表格,然后将表格转换为结构体,并最终保存为.mat文件或者加载到工作区。下面是一个简单的示例:

从Excel文件读取数据并转换为.mat文件

% 读取Excel文件
excelfile = 'data.xlsx';
dataTable = readtable(excelfile);

% 将表格转换为结构体
dataStruct = table2struct(dataTable);

% 保存结构体为.mat文件
save('data.mat', '-struct', 'dataStruct');
disp('Excel file has been converted to MAT file successfully.');

从Excel文件读取数据并加载到工作区

% 读取Excel文件
excelfile = 'data.xlsx';
dataTable = readtable(excelfile);

% 将表格转换为结构体
dataStruct = table2struct(dataTable);

% 将结构体加载到工作区
assignin('base', 'dataStruct', dataStruct);
disp('Excel file data has been loaded into the workspace.');

在这两个示例中,readtable函数用于读取Excel文件,然后使用table2struct函数将表格转换为结构体。最后,可以选择保存结构体为.mat文件,或者将结构体加载到MATLAB工作区。记得替换文件名和变量名以适应你的实际情况。

Mat文件转Excel

在MATLAB中,你可以使用save命令将.mat文件保存为Excel文件。下面是一个简单的示例:

% 创建一个示例的结构体
data.name = {'John', 'Alice', 'Bob'};
data.age = [30, 25, 35];
data.city = {'New York', 'London', 'Tokyo'};

% 保存结构体为.mat文件
save('data.mat', 'data');

% 将.mat文件转换为Excel文件
matfile = 'data.mat';
excelfile = 'data.xlsx';

% 使用`struct2table`将结构体转换为表格
dataTable = struct2table(load(matfile));

% 将表格写入Excel文件
writetable(dataTable, excelfile);
disp('MAT file has been converted to Excel successfully.');

上述示例中,首先创建了一个结构体data,然后使用save命令将该结构体保存为.mat文件。接下来,使用load加载.mat文件,并使用struct2table将结构体转换为表格。最后,使用writetable将表格写入Excel文件。

或者:

1.把你需要转换的mat数据文件导入到工作区,默认命名data

load('xxx.mat')    %%xxx为需要转换的mat文件名

或者在matlab的当前文件夹区双击该文件,matlab自动导入数据

2.在命令行窗口输入(建议转成xls格式,python新的xrdl现在不支持xlsx格式,转换比较麻烦)

xlswrite('yyy.xls',data)  %%yyy为输出的excel文件名

转换好的Excel文件会自动保存在原mat文件同目录下

Excel快速实现万行级填充

Matlab数据快速处理指南_第1张图片

各种数据类型的操作

比如struct 类型,在MATLAB中,struct(结构体)是一种用于存储不同类型数据的容器。可以通过不同的字段来访问和操作结构体中的数据。以下是一些对struct类型进行操作的基本示例:

创建结构体

% 创建一个简单的结构体
person.name = 'John';
person.age = 30;
person.city = 'New York';

% 显示结构体内容
disp(person);

访问结构体字段

% 访问结构体字段
disp(['Name: ' person.name]);
disp(['Age: ' num2str(person.age)]);
disp(['City: ' person.city]);

先对结构体数组进行索引,得到待访问的结构体。再通过待访问的结构体.字段名获取该结构体的该字段的数据。此外,如果该字段的数据是一个数组,还可以对该数组进一步索引。

修改结构体字段的值

% 修改结构体字段的值
person.age = person.age + 1;

% 显示更新后的结构体
disp(['Updated Age: ' num2str(person.age)]);

添加新字段

% 添加新字段
person.gender = 'Male';

% 显示更新后的结构体
disp(person);

删除字段

% 删除结构体字段
person = rmfield(person, 'city');

% 显示更新后的结构体
disp(person);

遍历结构体字段

% 遍历结构体字段
fields = fieldnames(person);
for i = 1:length(fields)
    field = fields{i};
    value = person.(field);
    disp([field ': ' num2str(value)]);
end

这些是一些基本的struct操作示例,你可以根据实际需要进行更复杂的操作。结构体在MATLAB中通常用于组织和存储相关的数据,便于管理和访问。

你可能感兴趣的:(#,MATLAB基础入门,matlab,linux,开发语言)