Error: The expression to the left of the equals sign is not a valid target for an assignment.

1 view (last 30 days)
For some unknown reason I am getting this error on every line past line 14 (deleting the line causes the error to jump to the next line). Any help would be very much appreciated.
clear, clc
%Read image
[X, Y]=size(img);
%Set two seeds
s1x=130; s1y=150; %Note that seed location is not central to object
s2x=200; s2y=200;
seeds = [sub2ind([X Y],s1y,s1x),sub2ind([X Y]);
%Apply the random walker algorithms
%Build graph
%Generate points
rangex = 0:(X-1); %<- where the error is now
rangey = 0:(Y-1);
[x, y]=meshgrid(rangey,rangex);
points=[x(:),y(:)]; %cont.

Answers (2)

Jon on 23 Sep 2015
Edited: Jon on 23 Sep 2015
I can't figure out why you're getting an error, but it works if you put square brackets around the expression, like this
rangex = [0:(X-1)];
EDIT: that actually doesn't work. You're not closing your seeds = [stuffhere bracket. Ie, it should read
seeds = [sub2ind([X Y],s1y,s1x),sub2ind([X Y])];

Walter Roberson
Walter Roberson on 23 Sep 2015
Why are you calling sub2ind([X Y]) without the expected multiple arguments?


Find more on Characters and Strings 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!