MATLAB: How to change string name

string name

Hey!
I have a function e.g. y=a*x.
How can I change later string name of y to y306 or sth like that?

Best Answer

The solution is to simply use indexing. For example, you could put all of your imported data into one cell array. You did not give much information in your question (e.g. the file format, what function you are using to import the data, the data class, whether you generate the name with sprintf or use dir to obtain the names of existing files, etc), so I will show an example that imports data from .mat files using load:
S = dir('*.mat');
N = numel(S);
C = cell(1,N); % preallocate.

for k = 1:N
C{k} = load(S(k).name);
end
A = [C{:}] % optional, create non-scalar structure.
Then all of the imported data will be available in the cell array C or (even better) the non-scalar structure A:
If the loaded .mat files only contain one (or a few) variables that you need, you can easily access them inside the loop and put that data into on (or a few) array, e.g.:
S = dir('*.mat');
N = numel(S);
C = cell(1,N); % preallocate.
for k = 1:N
T = load(S(k).name);
C{k} = T.y;
end
Feel free to adapt the class and size to suit your data: depending on your data you could import into a numeric/char/string array, with columns/rows to suit number of variables, etc..
You should read this too: