MATLAB Answers

# Variable indexing for loop when vector is negative (Array indices must be positive integers or logical values)

5 views (last 30 days)
Ava on 3 Oct 2020
Answered: madhan ravi on 3 Oct 2020
Need to do a for loop when the vector is negative
x = -10:1:-1
n = 1:1:10
Trying to find
a(x) = 12 * x(n)^5
Instructions say to use a variable index to find a(x) because otherwise I get this error "Array indices must be positive integers or logical values."
How do I use a variable index for this?
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Answers (2)

Sulaymon Eshkabilov on 3 Oct 2020
Hi,
Vectorization is the most efficient way, e.g.:
a = 12*x.^5;
Or if you need to do via a loop, then
for ii=1:numel(x)
a(ii) = ... % Figure out how to write the rest
end
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

madhan ravi on 3 Oct 2020
a = @(x) 12 * x.^5;
a(x)
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!