Array indicates must be positive integers or logical values

1 Ansicht (letzte 30 Tage)
Hamza Khaliq
Hamza Khaliq am 3 Feb. 2020
Bearbeitet: Sridhar SG am 3 Feb. 2020
%question 3
clf
t= 0:0.01:2;
y3= 8*sin(20*pi*t)+8*sin(22*pi*t);
plot(t,y3)
xlabel('t')
ylabel('y3')
%question 4
clf
t= 0:0.01:2;
expA= exp(-1.2*t);
y4= y3.*expA
plot(t,y4)
xlabel('t')
ylabel('y4')
%question 5
clf
H= [34 -56 23];
J=[9 12 26];
squrH = H.^2;
MagH = sqrt(sum(squrH))
squrJ = J.^2;
MagJ= sqrt(sum(squrJ))
Angle =acos(sum(H.*J) / (sqrt(sum(H.^2)) * sqrt(sum(J.^2))))
angeldeg = Angle*180/pi

Antworten (3)

Image Analyst
Image Analyst am 3 Feb. 2020

Star Strider
Star Strider am 3 Feb. 2020
Taking a wild guess, you likely have a variable named plot or sum (or something similar) that is overshadowing a MATLAB function with the same name.
Without the complete error message (all the red text copied from your Command Window and pasted to a Comment here), it is not possible to determine what that overshadowed function is.
Assuming it is sum, the way to determine that is to type this in a script or your Command Window:
which sum -all
If the first line returned is:
sum is a variable.
you have found the problem.
The solution is to rename the variable to something that makes sense in the context of your code.

Sridhar SG
Sridhar SG am 3 Feb. 2020
Bearbeitet: Sridhar SG am 3 Feb. 2020
Your code got successfully executed
MATLAB allows storing of any type of value inside the arrays, only the index values of array cannot be fractional numbers, negative integers, zero or complex/imaginary numbers

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by