如何使用MATLAB创建复合信号?

问题描述

| 如果我以前产生过两个信号,如何从中产生一个复合信号。 根据我的理解,复合信号是让两个信号出现在同一图上(重叠) 那么处理复合信号需要什么语法呢? 注意:poth信号具有相同的时间间隔。     

解决方法

        您需要使用
hold
函数来保留第一个图,同时在其上绘制第二个图。这是一个例子:
x=linspace(0,2*pi,1e3);
plot(x,sin(2*x))
hold on
plot(x,cos(2*x),\'r\')
hold off
hold off
释放\“ hold \”,并且如果现在绘制任何图形,将不保留先前的图形。释放保全是个好习惯,这样您就不会无意间使多个地块分层(当然,除非有此意图)。 如果您有两个幅度变化幅度较大的信号,则一种选择是缩放它们,使其具有可比较的幅度。例如,这可以通过将两者均归一化为最大值1来实现。例如:
x=linspace(0,1e3);
y=100*sin(2*x);
z=cos(2*x);
plot(x,y/max(abs(y)),x,z/max(abs(z)))
您可能必须记下或提及(无论您在何处使用此功能)信号均已标准化,因此很清楚。 或者,您可以使用
plotyy
功能,使您可以绘制两条带有y轴的曲线。例如。:
x=linspace(0,1e3);
y=100*sin(2*x);
z=cos(2*x);
plotyy(x,y,z)
编辑2: 要更改
plotyy
中的颜色,您需要使用线条的手柄。继续上面的示例,
[ax,h1,h2]=plotyy(x,z);
set(h1,\'color\',\'m\')
set(h2,[0,0.5,0])
在这里,我展示了两种设置颜色的方法。一种是使用内置的颜色字符串(
\'r\'
->红色,
\'m\'
->洋红色,
\'c\'
->青色,
\'g\'
->绿色,
\'b\'
->蓝色,
\'y\'
->黄色,
\'k\'
->黑色,
\'w\'
->白色)和另一个是由3元素数字RGB向量组成,可以采用0到1之间的值。 有时,最好不要给y轴上色(我不喜欢这样)。要将其更改为黑色,请将
ax
\'ycolor\'
属性值设置为黑色。
set(ax,\'ycolor\',\'k\')
    ,        如果我没有误解,那么您正在寻找这样的东西:
% x and y (of equal length) represent the samples of two signals
% at the same points in time. 
Lx = length(x);
dt = 2;            % Interval between samples (inverse of sampling frecuency).
t = (0:Lx-1) * dt; % This will be the horizontal variable.
plot(t,\'b;Signal x;\',t,\'r;Signal y;\');
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...