Matlab——绘制基础曲线

本文介绍了使用MATLAB绘制正弦曲线的方法,并展示了如何设置坐标轴、标题、坐标标签及图例等元素,同时提供了添加网格效果的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、代码如下:

close all;clear all;clc;  %关闭所有图形窗口,清除工作空间所有变量,清空命令行
x=0:0.02:10;
y1=sin(x);
y2=2*sin(x);
plot(x,y1,'b*:',x,y2,'r+-');  %设置颜色、标记和线型
axis([0 pi 0 2]);            %设置坐标轴
title('正弦曲线');           %设置标题行
xlabel('时间/单位:秒');     %设置横坐标
ylabel('电压/单位:伏特');   %设置纵坐标
gtext('y1=sin(x)');         %在图中鼠标指定位置添加文字y1=sin(x)
gtext('y2=2*sin(x)');       %在图中鼠标指定位置添加文字y2=2*sin(x)

2、运行效果如下:

3、如果想要栅格效果,在程序末尾添加grid;即可。效果如下:

### Matlab 绘制对比曲线的方法与示例 在 MATLAB绘制对比曲线通常用于比较不同数据集之间的差异或趋势。以下是具体方法和示例: #### 使用 `plot` 函数绘制基本对比曲线 最简单的方式是利用 `plot` 函数在同一张图表中绘制多条曲线。每组数据对应一条曲线,通过不同的颜色或线型加以区分。 ```matlab % 定义两组数据 x = linspace(0, 2*pi, 100); % 创建 x 轴数据 y1 = sin(x); % 第一组 y 数据 (正弦波) y2 = cos(x); % 第二组 y 数据 (余弦波) % 绘制两条曲线 figure; plot(x, y1, 'r-', 'LineWidth', 2); hold on; % 红色实线表示第一条曲线 plot(x, y2, 'b--', 'LineWidth', 2); % 蓝色虚线表示第二条曲线 xlabel('角度 (弧度)', 'FontSize', 14); ylabel('幅值', 'FontSize', 14); title('正弦波 vs 余弦波 对比图', 'FontSize', 16); legend('sin(x)', 'cos(x)'); grid on; hold off; ``` 上述代码展示了如何使用 `plot` 函数绘制两条具有不同样式(红色实线和蓝色虚线)的曲线,并添加了标签、标题以及网格[^1]。 --- #### 实现局部放大的 “图中图” 如果需要对某些区域进行详细分析,则可以借助 `axes` 和 `subplot` 来创建嵌套的小图以展示特定范围内的细节。 以下是一个完整的例子,演示如何绘制全局视图并附加一个局部放大子图: ```matlab clc; clear; close all; % 主函数定义 t = -5:0.01:5; y = 1 ./ (t - 3); % 创建主图形窗口 figure; main_axes = axes('Position', [0.1, 0.1, 0.8, 0.7]); % 设置主图位置 plot(main_axes, t, y, 'k-', 'LineWidth', 1.5); % 黑色线条为主曲线 set(gca, 'XLim', [-5, 5], 'YLim', [-10, 10]); xlabel('时间 t'); ylabel('响应 y(t)'); title('整体曲线'); % 添加局部放大图 zoom_axes = axes('Position', [0.55, 0.55, 0.3, 0.3]); % 小图的位置参数 xlim(zoom_axes, [2.9, 3.1]); % 局部横坐标范围 ylim(zoom_axes, [-100, 100]); % 局部纵坐标范围 plot(zoom_axes, t, y, 'r:', 'LineWidth', 1.5); % 红色点划线作为局部显示 axis(zoom_axes, 'tight'); % 自动调整边界至紧贴数据 box(on); % 显示边框 text(3.5, 50, '局部放大区', 'Color', 'blue'); % 注释指向局部放大部分 ``` 此程序片段实现了大图上的主要曲线及其附近某一小段区域的高精度呈现[^2]。 --- #### 利用 ROC 曲线进行性能对比 当涉及分类器评估时,ROC 曲线是一种常见的工具。下面是如何基于真实标签 (`labels`) 及预测得分 (`scores`) 构建两个模型间的 ROC 曲线对比实例: ```matlab % 假设已知的真实类别向量 labels 和两类评分 scores_modelA, scores_modelB labels = [zeros(1, 50), ones(1, 50)]; % 正负样本各占一半 scores_modelA = randn(1, 100) * 0.5 + 0.7; % 模型 A 的分数分布偏移 scores_modelB = randn(1, 100) * 0.3 + 0.8; % 模型 B 更优一些 [X_A, Y_A, T_A, AUC_A] = perfcurve(labels, scores_modelA, 1); % 计算 Model A 的 ROC 参数 [X_B, Y_B, T_B, AUC_B] = perfcurve(labels, scores_modelB, 1); % 同理计算 Model B figure; plot(X_A, Y_A, '-s', X_B, Y_B, '--o'); % s 表示方形标记; o 圆形标记 xlabel('False Positive Rate'); ylabel('True Positive Rate'); title(['ROC Curve Comparison | AUC(A): ', num2str(AUC_A), '; AUC(B): ', num2str(AUC_B)]); legend({'Model A'; 'Model B'}, 'Location', 'SouthEast'); grid on; ``` 这段脚本生成了一个包含两种算法效果评价指标——TPR/FPRTPR/FPR变化关系图,并标注各自的面积下曲线下面积(Area Under the Curve, AUC),从而直观反映哪个方案表现更好[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值