Error: Matrix dimensions must agree

1 次查看(过去 30 天)
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

采纳的回答

James Tursa
James Tursa 2019-9-21
编辑:James Tursa 2019-9-21
You could use V(2:end) or V(1:end-1) instead of V in that line. Or maybe average the two.
  5 个评论
Walter Roberson
Walter Roberson 2019-9-21
There are two versions of gradient(). One of them works with symbolic functions or symbolic expressions; the other works with numeric matrices.
Jose Cruz
Jose Cruz 2019-9-21
Thank you! I'll have to try with the gradient and see how it compares to using V(1:end-1).

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Sparse Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by