Says "error using plot, vectors must be the same length"

9 views (last 30 days)
x1=linspace(0,8.*pi,50)
y1=exp(-0.1.*x1).*cos(5.*x1)
xx1=linspace(0,8.*pi,1000)
x2=linspace(-1,1)
yy1=exp(-0.1.*x2).*cos(5.*x2)
x3=linspace(-4,4)
y2=sinh(5.*x3)
y3=0.5+2.*cos(0.5.*pi.*x3)/pi-2.*cos(1.5.*pi.*x3)/(3.*pi)+2.*cos(2.5.*pi.*x3)/(5.*pi)
x4=linspace(-4,4)
y4=y3-2.*cos(3.5.*pi.*x4)/(7.*pi)+2.*cos(4.5.*pi.*x4)/(9.*pi)
plot(x1,y1)
plot(xx1,yy1)
plot(x2,y2)
plot(x3,y3)
plot(x4,y4)

Accepted Answer

Scott MacKenzie
Scott MacKenzie on 20 Oct 2021
Edited: Scott MacKenzie on 20 Oct 2021
Just a simple mistake. Change the 3rd line to
xx1=linspace(0,8.*pi,100);
Or, for higher resolution, change all the linspace functions to 1000 points:
x1=linspace(0,8.*pi,50);
y1=exp(-0.1.*x1).*cos(5.*x1);
xx1=linspace(0,8.*pi,1000) ;
x2=linspace(-1,1,1000);
yy1=exp(-0.1.*x2).*cos(5.*x2);
x3=linspace(-4,4,1000);
y2=sinh(5.*x3);
y3=0.5+2.*cos(0.5.*pi.*x3)/pi-2.*cos(1.5.*pi.*x3)/(3.*pi)+2.*cos(2.5.*pi.*x3)/(5.*pi);
x4=linspace(-4,4,1000);
y4=y3-2.*cos(3.5.*pi.*x4)/(7.*pi)+2.*cos(4.5.*pi.*x4)/(9.*pi);
plot(x1,y1)
plot(xx1,yy1)
plot(x2,y2)
plot(x3,y3)
plot(x4,y4)

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!