matlab中plotyyy函数用法
时间: 2024-01-07 08:22:06 浏览: 262
在Matlab中,plotyyy函数用于在同一图中绘制多个y轴的曲线。该函数的语法如下:
```matlab
plotyyy(x, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10)
```
其中,x是x轴的数据,y1到y10是对应的y轴的数据。你可以根据需要传入不同数量的y轴数据。
下面是一个使用plotyyy函数的示例:
```matlab
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
y3 = exp(x);
figure;
[hAx, hLine1, hLine2] = plotyyy(x, y1, x, y2, x, y3);
legend([hLine1, hLine2], 'sin(x)', 'cos(x)', 'exp(x)');
```
这个示例中,我们生成了一个x轴的数据x,以及三个对应的y轴的数据y1、y2和y3。然后使用plotyyy函数将这三个曲线绘制在同一图中,并使用legend函数添加图例。
相关问题
matlab plotyyy
`plotyyy` 是一个自定义的 MATLAB 函数,用于在同一图形窗口中绘制多个 Y 轴的线图。以下是 `plotyyy` 函数的语法和用法示例:
```matlab
function [ax,hlines1,hlines2] = plotyyy(x1,y1,x2,y2,x3,y3,ylabels)
% plotyyy: Extends plotyy to enable plotting of 3 y datasets
% [ax,hlines1,hlines2] = plotyyy(x1,y1,x2,y2,x3,y3,ylabels)
% INPUTS:
% x1, x2, x3: x data for all three plots
% y1, y2, y3: y data for all three plots
% ylabels: a 3x1 cell array containing ylabel strings
%
% OUTPUTS:
% ax: a 3x1 vector of axis handles
% hlines1: a 3x1 vector of line handles for the first plot
% hlines2: a 3x1 vector of line handles for the second plot
%
% EXAMPLE:
% x = 0:pi/10:pi;
% y1 = sin(x);
% y2 = cos(x);
% y3 = tan(x);
% ylabels{1}='sin & cos'; ylabels{2}='sin & tan'; ylabels{3}='cos & tan';
% [ax,hlines1,hlines2] = plotyyy(x,y1,x,y2,x,y3,ylabels);
% legend(hlines1, 'sin', 'cos');
% legend(hlines2, 'tan');
```
`plotyyy` 函数的输入参数包括三组 x 和 y 数据,以及每个 Y 轴的标签。输出参数包括三个 Y 轴的句柄和每个数据集的线条句柄。示例代码中展示了如何使用这些输出参数来添加图例。
以下是一个使用 `plotyyy` 函数的示例:
```matlab
x = 0:pi/10:pi;
y1 = sin(x);
y2 = cos(x);
y3 = tan(x);
ylabels{1}='sin & cos'; ylabels{2}='sin & tan'; ylabels{3}='cos & tan';
[ax,hlines1,hlines2] = plotyyy(x,y1,x,y2,x,y3,ylabels);
legend(hlines1, 'sin', 'cos');
legend(hlines2, 'tan');
```
这个示例代码将绘制三条线,每条线分别与不同的 Y 轴对应。`ylabels` 参数指定了每个 Y 轴的标签。`plotyyy` 函数会返回三个 Y 轴和每个数据集的线条句柄,以便添加图例。
阅读全文