How to define a string variable in IF statement

I'm stuck with matlab on almost every simple step I used to work with pretty fast in PHP. How this piece of code inside my function makes me crazy:
matchStr = regexp(filename,'^([0-9\-])+-StockAndOptionQuoteFor([A-z]+)\.', 'tokens');
CurDate = matchStr{1,1}{1,1};
if(~Ticker)
Ticker = matchStr{1,1}{1,2};
end
Matlab keeps telling "Undefined function or variable 'Ticker'." or The variable 'Ticker' might be used before it is defined! But it's a standard practice in PHP. How do I know which type of variable it would be, a string or double?
Ticker='' didn't help

 Réponse acceptée

Andrei Makarskiy
Andrei Makarskiy le 15 Oct 2015
Modifié(e) : Andrei Makarskiy le 15 Oct 2015
global Ticker;
Inside the Function helped. But after the function stops running the global Ticker returns to '' in the workspace. I'm stuck.

1 commentaire

Using global variables is not considered good programming practice, and can cause problems. Add the variable to the function argument list instead.

Connectez-vous pour commenter.

Plus de réponses (1)

Spoiler alert: Different languages have different syntax. :-)
Are you trying to check if a variable named "Ticker" exists, and then create it if it does not? Then use the exist function
if ~exist('Ticker','var')
Ticker = matchStr{1,1}{1,2};
end
In MATLAB, "~" means logical negation.

2 commentaires

Thanks, Folks. Your advice helped. Moreover, I found the problem which set the Ticker to '' every time I called the function, since the statement global Ticker; reset the variable to empty. So, I took out this piece of code to a more appropriate place outside the function.
This is an example of Star Strider's comment about defining global variables being a generally bad practice. Debugging problems can be a challenge, because code that is "far away" and difficult to find can affect something local.

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by