Function Named with String Substitution

2 ビュー (過去 30 日間)
Thomas Kane
Thomas Kane 2022 年 4 月 19 日
編集済み: Stephen23 2022 年 4 月 19 日
I am creating individual interpolating functions for each of 10 sets (matrixes) of x,y,z,v data, and would like to name each function based on the index 'j' of the 'for' loop in which they are created. The desired result is a set of functions named F1,F2,F3,...,F10.
Is there a way in MatLab to use string substitution in the name creation of each function?
%--------------------------------------
for j=1:10
...
F%j% = griddedInterpolant(v%j%,'spline')
...
end
  2 件のコメント
Steven Lord
Steven Lord 2022 年 4 月 19 日
Can you do this? Yes.
Should you do this? The general consensus is no. See that Answers post for an explanation and alternatives.
Thomas Kane
Thomas Kane 2022 年 4 月 19 日
Thanks for the link. I was looking for an expedient method. An array of functions F(1),F(2),F(3).... would also meet my needs and be better practice . I'll investigate this route.

サインインしてコメントする。

採用された回答

Stephen23
Stephen23 2022 年 4 月 19 日
編集済み: Stephen23 2022 年 4 月 19 日
"Is there a way in MatLab to use string substitution in the name creation of each function? "
Yes, but only if you want to force yourself into writing slow, complex, inefficient, obfuscated, buggy code that is hard to debug. It is an approach best avoided, and almost never required.
The simple and very efficient MATLAB approach is to use indexing. You should use indexing:
N = 10;
C = cell(1,N);
for k = 1:N
...
C{k} = griddedInterpolant(..,'spline');
...
end
Indexing is one of the very important basic concepts that is explained in the introductory tutorials:
You can use indexing with all array types: numeric, char, logical, cell, struct, table, ...
  1 件のコメント
Thomas Kane
Thomas Kane 2022 年 4 月 19 日
Perfect! This is the effect I wanted to achieve. I wasn't familiar with the cell function. Thank you for enlightening me to this indexing approach in MatLab.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by