2 views (last 30 days)

Show older comments

This question was flagged by Walter Roberson

how do i delete these?

Stephen Cobeldick
on 16 May 2021

Original question by Tyler Daines retrieved from Google Cache (unfortunately their deleted comments are not included):

Trying to plot a sine+sine function but not getting a smooth curve

I need to plot the sum of 2 sine curves. I can successfully plot (x,y1) and plot(x,y2), they are smooth curves, however when i try to plot(x,y) where y = y1+y2 the curve comes out like this? how do i fix this i dont know what i am doing wrong? Thanks

DGM
on 11 May 2021

What you're looking at isn't meaningful. It's all just rounding error. You're essentially doing this:

y = sin(x) - sin(x);

I'm guessing there's some phase component that's not defined right yet, but I can't really guess at what you need it to be.

f = 2;

A = 1;

v = 1;

L = 1;

l = v/f;

B = (2*pi)/l;

w = 2*pi*f;

t = 0;

x = 0:0.0001:L;

z1 = A*sin(B*x - w*t);

z2 = A*sin(B*(L-x) - w*t);

y = z1+z2;

plot(x,z2); hold on

plot(x,z1);

For the future, please just paste your code using the code formatting tools. I had to retype all that and deal with the sub-pixel ambiguity differentiating the character '1' and 'l'.

VBBV
on 11 May 2021

Edited: VBBV
on 11 May 2021

%if true

f = 2

V = 1; A= 1; L = 1;

LL = V/f

B = 2*pi/LL

t = 0; W = 2*pi*f

x = 0:0.0001:L;

z1 = A*sin(B*x-W*t)

z2 = A*sin(B*(L-x)-W*t);

z = z1-z2

plot(x,z)

Use z1-z2 instead for smooth curve

Stephen Cobeldick
on 13 May 2021

"Does this mean that there is no way to plot y = ysrc + yref?"

I am not sure why you have reached that conclusion.

"I do see why my plot is meaningless."

The plot itself is not meaningless: you have correctly plotted lots of tiny values, because that is what you told MATLAB to plot. The values are numeric noise resulting from operations which are basically equivalent to X+(-X). MATLAB has correctly plotted that numeric noise (because it was all your numeric values are).

Important question: What do you expect to be plotted for X+(-X) ?

Perhaps you could scale the Y limits to suitable values then the numeric noise would not be noticeable at all.

RAHUL MAURYA
on 12 May 2021

clear all;

clc;

f = 2;

A = 1;

v = 1;

L = 1*(180/(pi));

l = v/f;

B = ((2*pi)/l)*(180/pi);

w = 2*pi*f;

t = 0;

x=0:0.0001:L;

z1 = (A*sind(B*x - w*t));

z2 = A*sind(B*(L-x) - w*t);

y=(z1+z2);

subplot(3,1,1);

plot(x,z1)

title('X,Z1')

axis([0 10 -1 1])

subplot(3,1,2);

plot(x,z2)

title('X,Z2')

axis([0 10 -1 1])

subplot(3,1,3);

plot(x,y)

title('X,Z1+Z2')

axis([0 10 -2 2])

Convert B and L in radian to degree.

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

Start Hunting!