Error: Vectors must be the same length.

조회 수: 14 (최근 30일)
Mick
Mick 2017년 12월 3일
편집: Walter Roberson 2017년 12월 3일
Hi guys ! I'm getting this error when trying to plot y3: Vectors must be the same length. I am very new to matlab and I understand this is a common problem but couldn't figure out how to change my code so it works just by looking at other people's more complicated situations of the same error.
t1=0:2.5/251:2.5;
t2=0:0.25/251:0.25;
t3=0:10/1001:10;
y1=4*cos(4.8*pi*t1+3*pi/2)+1.5*cos(12*pi*t1+pi/4);
y2=-5*cos(8*pi*t2+0);
y3=y1+y2;
subplot(311);
plot(t1,y1);
subplot(312);
plot(t2,y2);
subplot(313);
plot(t3,y3);
Error using plot
Vectors must be the same length.
Error in lab3ex2 (line 15)
plot(t3,y3);
Anyone can tell me what to do exactly so it works? Thank you in advance !
  댓글 수: 4
Stephen23
Stephen23 2017년 12월 3일
@Mihnea Capat: I asked how you defined t. What is this:
t = ... ?
Mick
Mick 2017년 12월 3일
I think that inside y1 there should be t1 instead of t and inside y2 there should be t2 instead of t. My apologies. Forget about t

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2017년 12월 3일
The easy solution is to use the linspace function to make them all the same lengths:
t1 = linspace(0, 2.5, 250);
t2 = linspace(0, 0.25, 250);
t3 = linspace(0, 10, 250);
y1 = @(t) 4*cos(4.8*pi*t+3*pi/2)+1.5*cos(12*pi*t+pi/4);
y2 = @(t) -5*cos(8*pi*t+0);
y3 = y1(t1) + y2(t2);
subplot(311); plot(t1,y1(t1))
subplot(312); plot(t2,y2(t2))
subplot(313); plot(t3,y3)
I created anonymous functions from your equations to make this even easier.
  댓글 수: 6
Mick
Mick 2017년 12월 3일
I managed to solve it by writing y3=4*cos(4.8*pi*t3+pi*3/2)+1.5*cos(12*pi*t3+pi/4)+5*-cos(t3*8*pi); instead of y3=y2+y1 and now it works. Your code gives exactly the same output as the one I have now. Thank you a lot though because now I can see different ways of doing it and learning about linspace and anonymous functions. Have a good day !
Star Strider
Star Strider 2017년 12월 3일
My pleasure.
You, too!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Subplots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by