String Variables Feeding through a loop & Generating Variables in a loop

Hi I am trying to run a simple program the fetches stock data from yahoo. But I am having two problems 1) In the for loop I am creating, I would like the loop to create a new variable for each stock pulled.
So data_goog, data_aapl,data_hal, etc. (or data_1, data_2...) How do I do that in the loop?
2) In the "get_yahoo_stockdata2()" function the first paramter is the stock ticker. So 'aapl', would be accepted in the first slot of the function. However, when I have the stock in string format fed through the fuction it gives me an error. What am I doing wrong?
CODE: stock_string={'goog','aapl','hal','bp'};
for i=1:length(stock_string) data_stock_string(i)=get_yahoo_stockdata2(stock_string(i),'1/05/2005',datestr(now));
end

Answers (2)

use stock_string{i}
{ } instead of ( )
stock_string{i} is cell class
stock_string(i) is char class

3 Comments

Hey Azzi,
Thank you very much for the help. But what do I do about generating a new variable every time it does the loop?
Does this work? For i=1:5
variable_{i}=i+5
end
Will create variable_1=6, variable_2=7... etc
No it dos'nt
try this code
for k=1:5
eval([sprintf('variable%d=',k) num2str(k+5)])
end
but if you do (which is recommanded)
for i=1:5
variable_{i}=i+5
end
that means
variable_{1}=6
variable_{2}=7
variable_{3}=8

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

Abe
on 30 Sep 2012

Community Treasure Hunt

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

Start Hunting!