Calling a function using a string generated earlier in code.
2 ビュー (過去 30 日間)
古いコメントを表示
What I want to do is call a function using a string that was generated earlier in the code. The initial function takes user input to create the string for the internal function. Here is what I have so far:
function [Cmdty2Pull]=refresh_AllComdtyCloses(Cmdty2Pull)
LastPullTable = [Cmdty2Pull '_History'];
I want to then do the following
irow = length(LastPullTable(:,1)
where irow is set to length of cell array CL_History if the user inputs CL.
Is there an easy way to do this that I just dont know about?
3 件のコメント
採用された回答
Jonathan
2012 年 7 月 26 日
Here is a solution that will work depending on how many different cells you're talking about.
Define the cell (in any function) like this:
setappdata(0,'CL_History',{CELLDATA HERE});
and call it like this:
irow = length(getappdata(0,LastPullTable));
The problem is (how I see it) that you have to be using some sort function to reference a string or else "length" will just give you the length of the string.
This solution will work, but it may not be efficient or reasonable depending on what kind of data you're dealing with and the amount present.
4 件のコメント
Jonathan
2012 年 7 月 26 日
Happy to help! Maybe someone else has a better method of solving, but I've fallen in love with the setappdata command over the last few days!
You could also create an m-file for each cell and use feval:
function [output] = CL_History()
CL_History = {cell};
output = length(CL_History);
and in your original function:
irow = feval(LastPullTable);
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!