Why it is saying this? Index in position 2 is invalid. Array indices must be positive integers or logical values. Error in Homework (line 21) surf(x,y,F(i,j))

1 view (last 30 days)
x=[-5:5]
y=[-5:5]
for i=1:(x-1);
for j=1:(y-1);
if (x(i)>=0)&(y(j)>=0)
F(i,j)=2.*x(i)+y(j)^2
end
if (x(i)>=0)&(y(j)<0)
F(i,j)=x(i)+y(j)
end
if (x(i)<0)& (y(j)>=0)
F(i,j)=x(i)^2+2*y(j)
end
if (x(i)<0)&(y(j)<0)
F(i,j)=x(i)^2+y(j)^2
else
end
end
end
figure
surf(x,y,F(i,j))

Accepted Answer

Alan Stevens
Alan Stevens on 3 Feb 2022
Like this
x=[-5:5];
y=[-5:5];
for i=1:numel(x)
for j=1:numel(y)
if (x(i)>=0)&&(y(j)>=0)
F(i,j)=2.*x(i)+y(j)^2;
end
if (x(i)>=0)&&(y(j)<0)
F(i,j)=x(i)+y(j);
end
if (x(i)<0)&& (y(j)>=0)
F(i,j)=x(i)^2+2*y(j);
end
if (x(i)<0)&&(y(j)<0)
F(i,j)=x(i)^2+y(j)^2;
else
end
end
end
figure
surf(x,y,F)

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!