通信原理仿真(一)——绘图知识补充

多根二维曲线的绘制

1、plot函数的输入参数是矩阵形式

(1)当x是向量时,y是有一维与x同维的矩阵时,则绘制出不同颜色的曲线,曲线的条数与y的另一个维数相同,x被作为这些曲线共同的坐标。

figure
x=linspace(0,2*pi,100);
y=[sin(x);1+sin(x);2+sin(x)];
plot(x,y);

(2)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

figure
x=0:pi/10:2*pi;
y=sin(x);
plot([x;x;x]',[y;y*2;y*3]');

(3)对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其坐标下的曲线,曲线条数等于输入参数矩阵的列数。

figure
t=0:0.01:2*pi;
x=exp(1i*t);y=[x;2*x;3*x]';
plot(y);

2、含多个输入参数的plot函数

当plot函数有多个输入参数,且都为向量时,即:

plot(x1,y1,x2,y2,...,xn,yn);

其中, x 1 x_1 x1 y 1 y_1 y1 x 2 x_2 x2 y 2 y_2 y2,…, x n x_n xn y n y_n yn分别组成一组向量对,每一组向量对的长度可以不同。每一个向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。例如:在同一坐标中绘制三条幅值不同的正弦曲线。命令也可写成:

总结

MATLAB基本二维绘图命令

命令说明
plotx轴和y轴均为线性刻度
loglogx轴和y轴均为对数刻度
semilogxx轴为对数刻度,y轴为线性刻度
semilogyx轴为线性刻度,y轴为对数刻度
plotyy画出两个刻度不同的y轴

设置曲线样式

线性选项

选项线型
-实线
:虚线
-.点划线
双划线

颜色选项

选项颜色
b(blue)蓝色
g(green)绿色
r(red)红色
c(cyan)青色
m(magenta)品红色
y(yellow)黄色
b(black)黑色
w(white)白色

标记符号选项

选项标记符号
.
O(字母)圆圈
X(字母)叉号
+加号
*星号
s(square)方块符
d(diamond)菱形符
v朝下三角符号
^朝上三角符号
<朝左三角符号
>朝右三角符号
p(pentagram)五角星符
h(hexagram)六角星符

图形的标注与坐标控制

1、图形的标注

在MATLAB支持的LaTeX字符串中,用\bf、\it、\rm控制字符分别定义黑体、斜体和正体字符,受LaTeX控制的字符要加大括号{}括起来。
常用的LaTeX字符

标识符符号
\alphaα
\betaβ
\gammaγ
\deltaσ
\epsilonε
\zetaξ
\etaη
\thetaθ
\piπ
\rhoρ
\sigmaδ
\tauτ
\phiφ
\psiψ
\omegaω
\GammaΓ
\DeltaΔ
\ThetaΘ
\LambdaΛ
\PiΠ
\sigmaΣ
\PsiΨ
\OmegaΩ
\leq
\geq
\div÷
\times×
\neq
\infty
\partial
\leftarrow
\uparrow
\rightarrow
\downarrow
\leftrightarrow

如果想在某个字符后面加上一个上标,则可以在该字符后面跟一个^引导的字符串。若想把多个字符作为指数,则应该使用大括号。

x=0:pi/100:2*pi;
y1=2*exp(-0.5*x);
y2=cos(2*pi*x);
plot(x,y1,x,y2);
title('x from 0 to 2{\pi}');
xlabel('Variable X');
ylabel('Variable Y');
text(0.8,1.5,'曲线y1=2e^{-0.5x}');
text(2.5,1.1,'曲线y2=cos(2{\pi}x)');
legend('y1','y2');

2、坐标控制

一般而言,plot命令会根据所给的坐标点来自动决定图轴的范围,但是也可以使用axis命令来指定,它用于控制坐标轴的可视、取向、取值范围和轴的高宽比等。

axis auto% 使用默认设置
axis equal% 纵、横坐标轴采用等长刻度
axis square% 产生正方形坐标系
axis on/off% 显示、取消坐标轴

给坐标轴加网格线用grid命令来控制,加边框用box命令来控制。grid on/off 命令控制是画还是不画网格线,box on/off 命令控制是加还是不加边框线。

t=(0:pi/100:pi)';
y1=sin(t)*[1,-1];
y2=sin(t).*sin(7*t);
plot(t,[y1,y2]');

其他二维图形的绘制

特殊坐标图形的绘制

1、绘制对数坐标图形
semilogx(x1,y1,选项1,x2,y2,选项2,...);
semilogy(x1,y1,选项1,x2,y2,选项2,...);
loglog(x1,y1,选项1,x2,y2,选项2,...);

semilogx函数:x轴使用常用对数刻度;y轴仍保持线性刻度;semilogy函数:x轴保持线性刻度;y轴使用常用对数刻度;loglog函数使用全对数坐标。

x=0:0.1:10;y=10*x.*x;
subplot(2,2,1)
title('plot(x,y)');grid on
subplot(2,2,2)
semilogx(x,y);
title('semilogx(x,y)');grid on
subplot(2,2,3)
semilogy(x,y);
title('semilogy(x,y)');grid on
subplot(2,2,4)
loglog(x,y);
title('loglog(x,y)');grid on
2、绘制极坐标图形
polarplot(theta,radius,options);

功能:绘制出一个二维折线图形,该图形的各个数据点由极坐标形式给出。
说明:参数theta为极坐标极角,表示各个数据点的角度向量;参数radius为极坐标极径,表示各个数据点的幅值向量;参数options是一个选项参数,其内容与plot函数的选项参数类似。

t=0:0.01:2*pi;
r=2*sin(2*(t-pi/8)).*cos(2*(t-pi/8));
polarplot(t,r);

(未完待续)

参考文献

赵鸿图,茅艳. 通信原理MATLAB仿真教程. 人民邮电出版社,2010.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值