实验五
A
1、在同一图形窗口绘制。利用plot绘图指令绘图命令。
(1)在窗口上部绘制正弦信号 x ( t ) = s i n ( 0.5 π t + π 4 ) , t ∈ [ 0 , 4 π ] x(t)=sin(0.5\pi t+\frac \pi 4),t∈[0,4\pi] x(t)=sin(0.5πt+4π),t∈[0,4π]。要求曲线为黑色实线。
(2)使用hold on命令在同一窗口重叠绘制信号 g ( t ) = x ( t ) × 0. 5 t , t ∈ [ 0 , 4 π ] g(t)=x(t)×0.5^t,t∈[0,4\pi] g(t)=x(t)×0.5t,t∈[0,4π]。要求曲线线型为红色点划线。
(3) X轴标注 “time(t/s)”,y轴标注"x(t)/g(t)“,标题为"正弦/指数序列”。
(4)使用legend命令在图的右上角标注两条曲线的图例。
(5)使用gtext交互式图形命令,分别标注曲线x(t)和y(t)。
clear;
clc;
t=0:pi/30:4*pi;
x=sin(0.5*pi*t+pi/4);
plot(t,x,'k')
hold on
g=x.*0.5.^t;
plot(t,g,'r-.')
xlabel('time(t/s)')
ylabel('x(t)/g(t)')
title('Sine/exponential sequence')
legend({'x(t)','g(t)'})
gtext('x(t)')
gtext('g(t)')
输出结果为:
2.按要求绘图
(1)生成一个幅度为1V,频率为5Hz的正弦信号,信号长1秒。
5个周期
(2)再生成一个 (0, 0.01) (正态分布)的白噪声信号,信号长1秒。将两者叠加。
设采样频率为100Hz,将正弦信号、白噪声信号和叠加信号放在同一图中显示(三种信号示意图如下所示)。
(要求正弦信号为红色,白噪声为黄色。叠加之后为蓝色。)
clear;
clc;
t=0:0.001:1;
y1=sin(10*pi*t);
plot(t,y1,'r')
hold on
y2=sqrt(0.01)*randn(size(t));
plot(t,y2,'y')
hold on
plot(t,y1+y2)
输出结果为:
clear;
clc;
t=linspace(0,1,100);
y=sin(10*pi*t);
y1=randn(1,100)*0.01;
subplot(311)
plot(t,y,'r')
subplot(312)
plot(t,y1,'y')
subplot(313)
plot(t,y+y1,'b')
B
1.编写程序,该程序在同一窗口中绘制函数在【0,2π】区间内的正弦曲线和余弦曲线,步长为π/10,线宽为4个像素,正弦曲线设置为蓝色实线,余弦曲线设置为红色虚线,两条曲线交点处,用红色星号标记。
clear;
clc;
t=0:pi/20:2*pi;#修改一下步长,否责没有交点,y1==y2,返回的是一个空向量
y1=sin(t);
y2=cos(t);
k=find(abs(y1-y2)<1e-1);#因为没有直接相等的点
t1=t(k);
plot(t,y1,'LineWidth',4)
hold on
plot(t,y2,'r--','LineWidth',4)
hold on
plot(t1,cos(t1),'k*','LineWidth',4)#用黑色更明显一点
输出结果为:
2.绘制下列图形∶
(1) y=xsinx,0<x<10π
clear;
clc;
x=0:pi/30:10*pi;
y=x.*sin(x);
plot(x,y)
输出结果为:
(2)三维曲线∶$z=x2+6xy+y2+6x+2y-1,-10<x<10,-10<y<10 $
clear;
clc;
[X,Y] = meshgrid(-10:0.5:10);
Z = X.^2 + 6*X*Y + Y.^2 + 6*X + 2*Y -1;
plot3(X,Y,Z)
输出结果为:
(3)双曲抛物面∶ z = x 2 16 − y 2 4 , − 16 < x < 16 , − 4 < y < 4 z=\frac{x^2}{16}-\frac{y^2}{4},-16<x<16,-4<y<4 z=16x2−4y2,−16<x<16,−4<y<4
clear;
clc;
[X,Y] = meshgrid(-16:0.4:16,-4:0.1:4);#点的个数要相同
Z = X.^2/16 - Y.^2/4;
plot3(X,Y,Z)
3.绘制下列图像
(1) 绘制电脑磁盘使用情况的饼状图
clear;
clc;
X=[13.9,18.1];
pie3(X,{'Available space','Used space'})
输出结果为:
(2) 生成 100 个从 0 到 10 之间的随机整数,绘制其直方图
clear;
clc;
x=round(randn(1,100)*10)
hist(x)
输出结果为:
(3) 生成 10个从 0 到 10 之间的随机整数,绘制其阶跃图
clear;
clc;
x=round(randn(1,100)*10)
stairs(x)
输出结果为: