How to change string name?
5 次查看(过去 30 天)
显示 更早的评论
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?
4 个评论
Stephen23
2019-1-13
"I tried to load multiple data which was previously saved like a 'y'; but all of these, despite the different external filename, they have the same name of "internal" variable and they are overwriting."
Aaah, that is an entirely different question to what you asked about: http://xyproblem.info/
采纳的回答
Stephen23
2019-1-13
编辑:Stephen23
2019-1-13
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:
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!