Change variable name based on what loop it is on

I have a user input a vector for the variable titled 'k1'. A loop is set up where the input conditions are the same, but the variable name must be changed in order to perform some operations and store the data. I would like it to change based on which loop it is performing, like k1 might be given the name k2 on the second loop. I don't know how I could do this simply or if doing this is possible.

1 件のコメント

Stephen23
Stephen23 2025 年 4 月 14 日
編集済み: Stephen23 2025 年 4 月 15 日
"I don't know how I could do this simply or if doing this is possible."
It is possible, but is best avoided:
The neat, simple, robust, reliable, efficient alternative is to use indexing. You should use indexing.

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

 採用された回答

KALYAN ACHARJYA
KALYAN ACHARJYA 2025 年 4 月 14 日

0 投票

Optimized Memory Usage Strategy:
To efficiently utilize memory based on the type of output variable k, consider the following approach:
  1. If k is a scalar output (single numeric value per iteration):Preallocate a numeric array to improve performance and memory usage.
k = zeros(array_size1, array_size2); % Preallocate for scalar values
for i = 1:array_size
k(i) = ... ; % Assign scalar result
end
2. If k stores vectors or non-scalar data types (e.g., strings, structures, or arrays):
Use a cell array to accommodate varying data sizes/types.
k = cell(Cellarray_size1, Cellarray_size2); % Preallocate cell array
for i = 1:array_size
k{i} = ... ; % Assign vector or other complex result
end

その他の回答 (2 件)

Walter Roberson
Walter Roberson 2025 年 4 月 14 日
編集済み: Walter Roberson 2025 年 4 月 14 日

0 投票

It is possible to do this.
It is not possible to do this simply.
We firmly recommend that you do not do this.
dpb
dpb 2025 年 4 月 14 日

0 投票

While it can be done, it almost never should be the way..."there be dragons!" and slow, obfuscated and very difficult to debug code. See <Do not use globals or eval>. The direct link is to @Matt Fig's answer, but the overall discussion/thread is informative and valuable. The offcial Mathworks documentation link <Alternaives to the eval Function> discusses exactly the thing you mention as its first use case...

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2025 年 4 月 14 日

編集済み:

2025 年 4 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by