Array indices must be positive integers or logical values.

function [out] = slope(t,G1,G2,G3,G4)
k1=10;k2=20;m1=2;m2=4;
out(1)=(-k1*G2+k2(G4-G2))/m1;
out(2)=G1;
out(3)=-k2(G4-G2)/m2;
out(4)=G3;
end
when I use this function liks slope(0,1,0,-1,0)
show me thia Array indices must be positive integers or logical values.
Error in slope (line 4)
out(1)=(-k1*G2+k2(G4-G2))/m1;
why? how I can fix it.

Answers (1)

You need to explicitly put in the multiplication sign:
out(1)=(-k1*G2+k2*(G4-G2))/m1;
and similarly in the assignment to out(3):
out(3)=-k2*(G4-G2)/m2;

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Asked:

on 16 Jul 2019

Edited:

on 16 Jul 2019

Community Treasure Hunt

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

Start Hunting!