what am i doing wrong here? Invalid expresssion!

1 view (last 30 days)
Hi,
I am trying to loop over the code below.
co_ordinates = 102 x 1 double
Indices = 17 x 1 double
code to extract the single value is
XY = co_ordinates (indices(1)+1:indices(2)-1,1)
how can I perform the loop over above line ?
So far I tried!
for i =1:length(co_ordinates)
XY(i) = coordinates(i) (indices(1)(i)+1:indices(2)(i)-1,1(i))
end
but I am getting an error: Invalid expression in the line
  1 Comment
David Hill
David Hill on 19 Nov 2020
Show us an example of what you want XY to be from your other two arrays.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 19 Nov 2020
Edited: Image Analyst on 19 Nov 2020
You have extra things in () after the variable names. Get rid of those. And you mispelled co_ordinates inside the loop. Try this:
for k = 1 : length(co_ordinates)
XY(k) = co_ordinates(indices(k)+1 : indices(k)-1, k)
end
but indices(k)+1 : indices(k)-1 will be null unless the indices are negative values since you're going from a high value to a low value. Maybe you wanted
for k = 1 : length(co_ordinates)
XY(k) = co_ordinates(indices(k)-1 : indices(k)+1, k)
end
But that would give a range of values for the first index, and you can't stuff a vector into the single element of XY. It's hard to know you really want/need without you actually describing more what "Extract the single value" means to you.
  2 Comments
muhammad choudhry
muhammad choudhry on 19 Nov 2020
Please find the attach! I have modify the code but I am still getting error it is because i used i+1 in the code and at the final value it is still adding 1....... I am not sure how to get this right....
What code is doing:
reading the image extracting contours C values, base on the vertices in it I am extracting the contours arrays hence would like to do in a way it will save the arrays of all contours separtely. I have attached the frame and code here

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!