Matlab 从Excel文件中导入数据,并使用这些数据来绘制图表
shilq353 2024-09-19 14:05:10 阅读 70
Excel表格内容如下(文件名为:AUV线圈3的数据.xlsx)
代码如下:
<code>clc;clear
% 读取Excel文件
filename = 'AUV线圈3的数据.xlsx';
opts = detectImportOptions(filename);
opts.VariableNamingRule = 'preserve'; % 设置保留原始列名
data = readtable(filename, opts);
% 提取数据列
angles = data{:, '角度'}; % 确保列名与Excel文件中的完全匹配
M11 = data{:, 'M11'};
receptionInductance = data{:, '接受自感和'};
couplingCoefficient = data{:, '耦合系数'};
% 创建一个新的图窗口
figure;
% 绘制左纵坐标数据
yyaxis left;
plot(angles, M11, '-o', 'DisplayName', 'M11', 'LineWidth', 1.5);
hold on;
plot(angles, receptionInductance, '-x', 'DisplayName', '接收自感和', 'LineWidth', 1.5);
ylabel('M11 和 接收自感和');
grid on;
% 绘制右纵坐标数据
yyaxis right;
plot(angles, couplingCoefficient, '-s', 'DisplayName', '耦合系数', 'LineWidth', 1.5);
ylabel('耦合系数');
% 设置图表标题和轴标签
title('角度 vs M11, 接收自感和, 和 耦合系数');
xlabel('角度 (度)');
% 显示图例
legend('show');
% 调整图表属性
set(gca, 'FontSize', 12);
% 保存图表为PNG文件
saveas(gcf, '科研图.png');
% 显示图表
hold off;
这段MATLAB代码旨在从Excel文件中导入数据,并使用这些数据来绘制图表,显示不同角度下的电磁参数(如耦合系数和自感值)的变化。
以下是每个代码部分的详细解释
### 1. 初始化和清理环境
clc; clear;
- `clc`:清除命令窗口的内容,提供一个干净的界面。
- `clear`:删除所有变量,释放工作空间,避免数据污染。
### 2. 读取Excel文件
filename = 'AUV线圈3的数据.xlsx';
opts = detectImportOptions(filename);
opts.VariableNamingRule = 'preserve'; % 设置保留原始列名
data = readtable(filename, opts);
- `filename`:指定要读取的Excel文件名。
- `detectImportOptions(filename)`:检测并创建适合读取指定Excel文件的导入选项。
- `opts.VariableNamingRule = 'preserve'`:设置选项以保留Excel文件中的原始列名,有助于后续按名称访问列。
- `readtable(filename, opts)`:根据指定的选项读取Excel文件,返回表格格式的数据。
### 3. 提取数据列
angles = data{:, '角度'};
M11 = data{:, 'M11'};
receptionInductance = data{:, '接受自感和'};
couplingCoefficient = data{:, '耦合系数'};
- 从数据表`data`中提取特定列到各个变量中。这些变量后续用于图表的绘制。
### 4. 绘图准备和绘制数据
figure;
yyaxis left;
plot(angles, M11, '-o', 'DisplayName', 'M11', 'LineWidth', 1.5);
hold on;
plot(angles, receptionInductance, '-x', 'DisplayName', '接收自感和', 'LineWidth', 1.5);
ylabel('M11 和 接收自感和');
grid on;
yyaxis right;
plot(angles, couplingCoefficient, '-s', 'DisplayName', '耦合系数', 'LineWidth', 1.5);
ylabel('耦合系数');
- `figure`:创建一个新的图形窗口。
- `yyaxis left` 和 `yyaxis right`:在同一图形中设置双Y轴。左Y轴用于显示`M11`和`接收自感和`,右Y轴用于显示`耦合系数`。
- `plot`:绘制数据点。不同的标记(`-o`, `-x`, `-s`)和线条用来区分不同的数据集。
### 5. 设置图表属性和显示图例
title('角度 vs M11, 接收自感和, 和 耦合系数');
xlabel('角度 (度)');
legend('show');
set(gca, 'FontSize', 12);
- `title`, `xlabel`, `ylabel`:设置图表的标题和坐标轴标签。
- `legend('show')`:显示图例,帮助识别不同的数据系列。
- `set(gca, 'FontSize', 12)`:设置当前坐标轴的字体大小。
### 6. 保存和结束绘图
saveas(gcf, '科研图.png');
hold off;
- `saveas(gcf, '科研图.png')`:将当前图形保存为PNG格式的文件。
- `hold off`:结束绘图,不再添加新的图形元素。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。