Why do I keep getting matrix dimensions must agree?

I keep getting this error and I can't figure out why. Here's my code
g= 9.81
v0=[5,10,15,20];
theta= [0, .17453293, .52359878, .78539816, 1.04719755,1.57079633];
tf=2*v0.*sin(theta)/g;
t=0:0.01:tf; hold all x=v0.*(theta).*t;
y=v0*sin(theta)*t-g*t.^2/2;
hold on plot(x,y)
Matrix dimensions must agree.
Error in BallTrajectory (line 7) tf=2*v0.*sin(theta)/g;

 Risposta accettata

James Tursa
James Tursa il 10 Lug 2018
Modificato: James Tursa il 10 Lug 2018
>> size(v0)
ans =
1 4
>> size(theta)
ans =
1 6
So it is complaining about the v0 .* sin(theta) operation

3 Commenti

Okay I changed them both to be the same size and I now get this. g= 9.81
v0=[5,10,15,20,25,30];
theta= [6, .17453293, .52359878, .78539816, 1.04719755, 1.57079633];
tf=2.*v0.*sin(theta)/g;
t=0:0.01:tf; hold all x=v0.*(theta).*t
y=v0.*sin(theta)*t-g*t.^2/2;
hold on
Error using .* Matrix dimensions must agree.
Error in BallTrajectory (line 11) x=v0.*(theta).*t
tf is a vector. What are you expecting to get with the t=0:0.01:tf ?
What is your ultimate goal here? To produce multiple plots with different values of tf?
Yes that’s the goal. Doing multiple plots with different inputs for initial velocity and launch angle.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by