Convert Cell String 'plus(0,0') to Num not using Eval or Str2Num
古いコメントを表示
Hi Friends,
Well I have a problem that's very similar to some ohter guys using str2num() or eval() functions.
The great point is: Imagine that I have this:
for i=1:1000
C{i}='plus(0,0)';
end
And I want to retrieve the number that is generated by this function (in fact I have problem greater than this, but solving this problem can help to solve the bigger picture).
A way to solve this is:
a=ones(1000,1)
for j=1:1000
a(i,1)=eval(C{i});
end
or
a=ones(1000,1)
for j=1:1000
a(i,1)=str2num(C{i});
end
or
a=cellfun(@eval,C);
The great problem using these methods is that takes a lots of time to do this.
Someone can help me to solve this problem faster!
Thanks, Adriano
2 件のコメント
Image Analyst
2013 年 5 月 21 日
How does this problem arise? In other words, why does the operation you want to perform (plus or whatever) come in as a string? It doesn't seem like the most ideal way to construct a program. Does it ever change from plus to some other operation, and if so, why? What is the "use case"?
Cristian munoz
2013 年 5 月 22 日
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Cell Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!