MATLAB Answers

0

Error: Matrix dimensions must agree

Asked by Jose Cruz on 21 Sep 2019 at 7:07
Latest activity Commented on by Jose Cruz on 21 Sep 2019 at 7:59
I need to multiply the Diff () = dVdt [1369 x 1] with V [1370 x 1] equation. How can I add to the lenght of dVdt? I need to add three terms together and their Matrix Dimeions must match. See error below:
Matrix dimensions must agree.
Error in homework_1_P2 (line 40)
Inertia = (1.1*Mv*(dVdt).*V)./1000; % kW
load CYC_FUDS.mat
t = cyc_mph(:,1); % Time [s]
Vmph = cyc_mph(:,2); % Velocity [mph]
V = Vmph.*(1609/3600); % Velocity [m/s]
dVdt = (diff(V)./diff(t)); % Accel. m/s^2
% Aerodynamic = (0.5*pa*Cd*Af*V.^3)./1000; % kW
% Rolling = ((Cr*Mv*g*cos(Xa)).*V)./1000; % kW
Inertia = (1.1*Mv*(dVdt).*V)./1000; % kW
% Pw = (Aerodynamic+Rolling+Inertia); % kW

  0 Comments

Sign in to comment.

1 Answer

Answer by James Tursa
on 21 Sep 2019 at 7:14
Edited by James Tursa
on 21 Sep 2019 at 7:15
 Accepted Answer

You could use V(2:end) or V(1:end-1) instead of V in that line. Or maybe average the two.

  5 Comments

Jose Cruz on 21 Sep 2019 at 7:40
Is gradient meant to be used with funtions or will it work with numerical (emperical) values loaded from .mat?
Walter Roberson
on 21 Sep 2019 at 7:46
There are two versions of gradient(). One of them works with symbolic functions or symbolic expressions; the other works with numeric matrices.
Jose Cruz on 21 Sep 2019 at 7:59
Thank you! I'll have to try with the gradient and see how it compares to using V(1:end-1).

Sign in to comment.