MATLAB plot绘图参考

本文介绍Matlab绘图的基本方法,并提供了一个实际应用案例。通过代码演示,展示了如何绘制不同类型的图像并进行参数调整,适用于Matlab初学者。

其实matlab的绘图十分简单,只需要调用相应的函数即可。不懂的参数就在matlab的命令行里help一下就可以了。一般来说,help里面都有举例,所以很容易学习。为了给一些同学带来方便,一下给出一个plot的例子,包括的比较全了。这个非常基础。一下是我某次写论文的时候用到的其中一个简单的绘图例子,有兴趣的可以参考一下:

close all;
c_psnr=[28.31 31.37 33.50 35.20 36.78;
        27.81 30.89 32.94 34.61 36.15;
        27.70 30.45 32.46 34.19 35.77];
X_Rate=[0.1 0.2 0.3 0.4 0.5 ];
%% ddwt
PSNR=c_psnr(1,:);
plot(X_Rate,PSNR,'-rv','MarkerSize',10,'LineWidth',1);
hold on;
%% dwt
PSNR=c_psnr(2,:);
plot(X_Rate,PSNR,'-gx','MarkerSize',10,'LineWidth',1);
hold on;
%% dct
PSNR=c_psnr(3,:);
plot(X_Rate,PSNR,'-k^','MarkerSize',10,'LineWidth',1);
hold on;
xlabel('采样率M/N');
ylabel('重建图像的PSNR/s');
legend('BCS-SPL-DDWT','BCS-SPL-DWT','BCS-SPL-DCT',0);
title('郑海波 blog.youkuaiyun.com/nuptboyzhb');

结果:


转载请声明:http://blog.youkuaiyun.com/nuptboyzhb/article/details/8117067

<think>好的,我需要帮助用户了解Matlabplot函数的使用方法和讲解。首先,我应该先回顾用户提供的引用内容,看看有哪些相关信息可以利用。用户提到了四个引用,其中引用[1]详细介绍了plot的基本用法,引用[2]强调了plot函数的灵活性和参数设置,引用[3]提到了分块绘图的方法,引用[4]是关于动态显示的,不过看起来可能不太相关。 用户的需求是plot函数的使用教程、示例和详解。因此,我需要组织一个结构清晰的回答,涵盖基本语法、参数设置、示例代码以及可能的高级用法,比如分块绘图。同时,用户要求使用中文回答,并生成相关问题,所以最后要添加相关问题部分。 首先,从引用[1]中提取plot的基本语法:plot(x,y,s),这里s是样式参数。需要解释x和y的输入类型,比如向量、矩阵的不同情况。然后,引用[3]中的分块布局tiledlayout和nexttile函数,可以作为一个高级示例,展示如何创建多个子图。引用[2]提到参数和属性的灵活运用,应该包括线条颜色、样式、标记符号的说明,可能还需要提到如何设置标题、坐标轴标签等。 接下来,考虑示例部分。基础示例可以绘制正弦曲线,展示如何生成x向量和计算y,然后调用plot函数。另一个示例可以是多条曲线绘制,比如同时绘制正弦和余弦,并添加图例。分块绘图的示例来自引用[3],需要展示如何使用tiledlayout和nexttile创建上下两个子图,并分别设置标题和标签。 高级功能部分可能需要提到动态绘图,但引用[4]的内容似乎不太详细,可能用户之前的回答或问题中提到过动态显示,但当前引用中并没有太多信息,所以可能需要简要提及或者建议用户查阅其他资源。不过根据引用[4]的标题,可以提到使用循环和drawnow函数实现动态更新,但具体代码可能不在提供的引用中,所以需要谨慎处理。 在注意事项部分,可以提醒用户确保数据长度一致,关闭绘图保持hold off,以及保存图像的方法,比如saveas或print函数,这些内容可能在引用中没有提到,但属于常见问题,需要补充。 最后,生成相关问题时要围绕plot函数的使用,可能涉及参数设置、子图绘制、动态显示、图像保存以及错误处理等方面的问题。 现在需要检查是否符合用户的所有要求:行内公式使用$...$,独立公式用$$...$$,中文回答,生成相关问题,引用标识。同时确保示例代码正确,并正确标注引用来源。例如,分块绘图的示例来自引用[3],所以需要添加[^3]。基本语法和参数说明参考了引用[1]和[2],所以对应的引用标识需要添加在相应的段落末尾。 可能的问题点:是否所有的引用都被正确使用,是否有遗漏的关键点,示例代码是否正确,是否涵盖了用户可能需要的各个方面,比如基本用法、多图绘制、样式设置、子图布局等。需要确保回答结构清晰,分步骤讲解,示例代码可运行,并且语言通俗易懂。</think>### MATLAB中`plot`函数使用详解 `plot`函数是MATLAB中最基础的绘图工具,用于绘制二维曲线图形。以下从**基本语法**、**参数设置**、**示例演示**和**高级功能**四部分进行详细说明。 --- #### 一、基本语法参数 1. **基本语法** ```matlab plot(x, y, '样式参数') ``` - `x`:横坐标数据(向量或矩阵)。 - `y`:纵坐标数据(向量或矩阵)。 - `样式参数`:定义曲线的颜色、线型和标记符号(可选),例如`'r--o'`表示红色虚线带圆圈标记[^1][^2]。 2. **常见样式参数** | 类型 | 符号 | 说明 | |------------|-----------|--------------| | **颜色** | `r`(红) | 指定曲线颜色 | | **线型** | `--`虚线 | 控制线条样式 | | **标记** | `o`圆圈 | 数据点标记 | --- #### 二、基础示例 ##### 示例1:绘制正弦曲线 ```matlab x = 0:0.1:2*pi; % 生成0到2π的向量,步长0.1 y = sin(x); % 计算正弦值 plot(x, y, 'b-'); % 蓝色实线 title('正弦曲线'); % 添加标题 xlabel('x轴'); % 横轴标签 ylabel('y轴'); % 纵轴标签 grid on; % 显示网格 ``` ![正弦曲线](https://example.com/sin_plot.png) ##### 示例2:同时绘制正弦和余弦 ```matlab x = 0:0.1:2*pi; y1 = sin(x); y2 = cos(x); plot(x, y1, 'r-', x, y2, 'b--'); legend('sin(x)', 'cos(x)'); % 添加图例 ``` --- #### 三、高级功能 ##### 1. 分块绘图(多子图) 使用`tiledlayout`和`nexttile`创建分块布局[^3]: ```matlab x = linspace(0, 3); y1 = sin(5*x); y2 = sin(15*x); tiledlayout(2,1); % 创建2行1列布局 ax1 = nexttile; % 上方子图 plot(ax1, x, y1); title('Top Plot: sin(5x)'); ax2 = nexttile; % 下方子图 plot(ax2, x, y2); title('Bottom Plot: sin(15x)'); ``` ##### 2. 动态绘图 通过循环更新数据实现动态效果[^4]: ```matlab figure; h = animatedline; % 创建动态线条 for k = 1:100 x_k = k/10; y_k = sin(x_k); addpoints(h, x_k, y_k);% 添加新点 drawnow; % 立即刷新图形 end ``` --- #### 四、注意事项 1. **数据一致性**:`x`和`y`的维度必须相同。 2. **图形叠加**:使用`hold on`保留当前图形,继续绘制新曲线。 3. **保存图像**:通过`saveas(gcf, 'figure.png')`或`print`函数导出图像。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值