help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with an if statement inside a while loop


From: James Sherman Jr.
Subject: Re: Problem with an if statement inside a while loop
Date: Thu, 1 Aug 2013 10:06:10 -0400

On Thu, Aug 1, 2013 at 9:51 AM, SikoraP13 <address@hidden> wrote:
Hi everybody.  I'm having a problem where Octave is giving me a parse error
syntax error problem with my code.  I've copied the code below.  The error
I'm receiving says

parse error near line __ of file....

syntax error

>>> else
           ^


Can anyone provide any guidance as to what the problem might be? The problem
area in the code is denoted.  I want it to go through each point in
commandList, and change the X and Y positions and the angle accordingly and
add all of those points to the vector.




clear()
init='LFL+F+LFL'; %First Iteration (AXIOM)

L='-RF+LFL+FR-';  %INPUT GENERATORS HERE
R='+LF-RFR-FL+';

it= 4;                          %desired # of iterations
angle(1)= 0;            %Initial Angle
scalingFactor=4;        %Scaling Factor
angleInc=90;            %Angle Increment

pos=[0,0,0]                     %Initial X, Y, and Angle


i=1;
currentString(i)=cellstr(init);

for i=1:it-1
        newStringL= strrep(currentString(i),'L', 'C');
        newStringR= strrep(newStringL, 'R', R);
        newString= strrep(newStringR,'C', L);
        currentString(i+1)=newString;

endfor

commandList=currentString(1,it);
commandList=char(commandList);

ii=2;

%%%%%%%%%%%%%%%
%%%%PROBLEM%%%%
%%%%%%%%%%%%%%%

while ii<=length(commandList)+1
        if commandList(1,ii-1)=="+"
                (
                        %angle(i+1)=angle(i)+angleInc
                        pos(ii,:)=pos(ii-1,:)+[0,0,90]
                )
        elseif commandList(1,ii-1)=="-"
                (
                        pos(ii,:)=pos(ii-1,:)-[0,0,90]
                        %angle(i+1)=angle(i)-angleInc

                )
        elseif commandList(1,ii-1)=="F"
                (

pos(ii,:)=pos(ii-1,:)+1./scalingFactor.^n.*[cos([pos(ii-1,3),sin([pos(ii-1,3),0]
                        %angle(i+1)=angle(i)
                )

        else
                (
                        pos(ii,:)=pos(ii-1,:)
                        pos(ii-1,:)+1
                )
        endif
ii++
end




--
View this message in context: http://octave.1599824.n4.nabble.com/Problem-with-an-if-statement-inside-a-while-loop-tp4656310.html
Sent from the Octave - General mailing list archive at Nabble.com.
_______________________________________________
Help-octave mailing list
address@hidden
https://mailman.cae.wisc.edu/listinfo/help-octave

Without actually testing it to be sure, but I believe the problem isn't with your if statement, its with the parentheses that you're using like {} in c.  Try deleting those () and see what happens.

Hope this helps,

James Sherman

reply via email to

[Prev in Thread] Current Thread [Next in Thread]