*Matrix dimensions must agree error*

1 次查看(过去 30 天)
I am relatively new to Matlab and is working on a problem but keep getting this error. Please help! I attached the matlab file, but is also posting a screenshot.

采纳的回答

Alan Stevens
Alan Stevens 2020-11-23
Look up .* (i.e. dot*), ./ and .^ for element by element actions. Replace the later part of your code by
x=linspace(0.5,1);
Vx=V1*cos(x);
Vy=V1*sin(x);
%===========
%Calculations
%===========
y1=(L4./(V1*cos(x))); % ./ not just /
y2=((-g/2)*(L4./(V1*cos(x)).^2)+V1*sin(x).*(L4./(V1*cos(x)))+L3); % ./, .^ and .* y2?
y3=Vb*(L4./(V1*cos(x)))+L1; % ./
plot(x,y1,x,y2,x,y3),grid
xlabel('x'),ylabel('y')
legend('y1','y2','y3')

更多回答(1 个)

Mohamad
Mohamad 2020-11-23
Hi , I made the required corrections in the code , now it is working , I also plot y1 and y3 .
%==============================
% Computer based assigment - dynamics
%==============================
% Question 1
%Given
L1=14;
L2=25;
L3=2;
L4=100;
Vb=6;
V1=40;
g=9.81;
x=linspace(0.5,1);
Vx=V1*cos(x);
Vy=V1*sin(x);
%===========
%Calculations
%===========
y1=(L4./(V1*cos(x)));
y3=(-0.5*g*(L4./(Vx).^2)+Vy.*(L4./(Vx))+L3);
y3=Vb*(L4./(Vx))+L1;
subplot(211) ; plot(x,y1) ; grid
subplot(212) ; plot(x,y3) ; grid

产品

Community Treasure Hunt

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

Start Hunting!

Translated by