matlab words no help needed
2 次查看(过去 30 天)
显示 更早的评论
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
3 个评论
Stephen23
2021-5-16
编辑:Stephen23
2021-5-16
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
回答(2 个)
DGM
2021-5-11
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'.
RAHUL MAURYA
2021-5-12
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!