Combining 2 signals into 1

14 views (last 30 days)
Dick Rusell
Dick Rusell on 20 Sep 2014
Edited: Rick Rosson on 20 Sep 2014
I'm trying to combine these signals but I'm not sure how.
n = [0:1023];
omega = 0.25*pi;
xn = sin(omega*n);
ns = sqrt(0.2)*randn(1,n);
  2 Comments
Rick Rosson
Rick Rosson on 20 Sep 2014
What specifically do you mean by "combine"?
Dick Rusell
Dick Rusell on 20 Sep 2014
Edited: Dick Rusell on 20 Sep 2014
Put them on top of each other on the same graph.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 20 Sep 2014
After seeing your clarification, I offer these two possibilities. Perhaps one of them is what you want:
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
fontSize = 20;
% Setup
n = 100;
x=1:n;
omega = 0.25*pi;
xn = sin(omega*x);
ns = sqrt(0.2)*randn(1,n);
% Plot different scenarios, depending on what "combine" means.
% Plot both on same plot
% Plot with common y axis on left side
subplot(2,1,1);
plot(x, ns, 'r-', 'LineWidth', 2);
hold on
plot(x, xn, 'b-', 'LineWidth', 2);
xlabel('x', 'FontSize', fontSize);
ylabel('xn, ns', 'FontSize', fontSize);
title('xn and ns vs. x, one y axis', 'FontSize', fontSize);
grid on;
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
% Plot each with separate y axis.
subplot(2,1,2);
plot(x, ns, 'r-', 'LineWidth', 2);
hold on
hPlots = plotyy(x, xn, x, ns);
xlabel('x', 'FontSize', fontSize);
ylabel(hPlots(1), 'xn', 'FontSize', fontSize);
ylabel(hPlots(2), 'ns', 'FontSize', fontSize);
title('xn and ns vs. x, separate y axes', 'FontSize', fontSize);
grid on;
If neither of these is what you want, then please clarify again -- there are other possibilities. See MATLAB Gallery for some of them.
  1 Comment
Image Analyst
Image Analyst on 20 Sep 2014
"other possibilities" -- such as the way Rick did it, which I just saw and is slightly different than my two ways.

Sign in to comment.

More Answers (1)

Rick Rosson
Rick Rosson on 20 Sep 2014
Edited: Rick Rosson on 20 Sep 2014
Please try:
plot(n,xn,n,ns);
For more info:
>> doc plot

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!