naming using a string function
Show older comments
Hello everyone,
I have let's say : x=' a name' ; and B= [1 2 3],
and I want to create a variable ' a name' = B whiche is [1 2 3], in another word i want to create a variable using the string of another variable (example filename='Hallo' the 'Hallo'= B=[1 2 3],
So, I tried to use [x]=B; but it does not work;
3 Comments
Is there a particular reason why you need to magically define variable names?
Usually when beginners ask about this topic it is because of this:
Given that your own example ' a name' is an invalid variable name, is there any particular reason why you want to force yourself into writing slow, complex, fragile, obfuscated code that is difficult to debug?
Ayman Mounir
on 7 Jan 2021
@Ayman Mounir: your save usage makes no sense.
The first input argument of save must be a filename, so why are you providing a table as the first input?
The second input is usually the name of the variable to be saved, it is not clear what you expect the character vector 'standard_name' to achieve. I recommend that you read the save documentation, it explains how to use save.
In any case, magically defing variable names is unlikely to be a suitable solution to ... whatever you problem might be.
Answers (2)
The MATLAB approach:
N = numel(files);
C = cell(1,N);
for k = 1:N
F = fullfile(files(k).folder,files(k).name);
C{k} = readtable(F);
end
dataname = vertcat(C{:});
save('some_file_name.mat', 'dataname')
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!