MATLAB Answers

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

4 views (last 30 days)
David Hampton
David Hampton on 23 Sep 2015
Edited: Jon on 23 Sep 2015
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
img=im2double(imread('axial_CT_slice.bmp'));
[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.

  0 Comments

Sign in to comment.

Answers (2)

Jon
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])];

  0 Comments

Sign in to comment.


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

  0 Comments

Sign in to comment.

Sign in to answer this question.