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`:结束绘图,不再添加新的图形元素。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。