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)
Show older comments
Akash Talapatra
on 3 Feb 2022
Commented: Alan Stevens
on 4 Feb 2022
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))
0 Comments
Accepted Answer
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)
2 Comments
Alan Stevens
on 4 Feb 2022
numel(x) means the number of elements in x. Your statements like
for i=1:(x-1);
don't make sense.
More Answers (0)
See Also
Categories
Find more on Code Generation 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!