naming using a string function

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 Kommentare

Stephen23
Stephen23 am 7 Jan. 2021
Bearbeitet: Stephen23 am 7 Jan. 2021
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
Ayman Mounir am 7 Jan. 2021
actually, I read many csv data and concantae them in one matlab table then i have to save as the specfic name :
for example: dir()
all_table=[] % concatenate all csv files
for i=1:numel(files);
R= readtable((files(i).name));
all_table=[all_table;R];
save (all_table, 'standard_name') % mast save as mat file because i exceeded 2^20 ( the limit of exporting an excel file) but this command does not include an option to save the file with desired name.
:D
Stephen23
Stephen23 am 7 Jan. 2021
Bearbeitet: Stephen23 am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Catalytic
Catalytic am 7 Jan. 2021

0 Stimmen

s.(x)=B
Stephen23
Stephen23 am 7 Jan. 2021
Bearbeitet: Stephen23 am 7 Jan. 2021

0 Stimmen

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')

Kategorien

Produkte

Version

R2020b

Gefragt:

am 7 Jan. 2021

Bearbeitet:

am 7 Jan. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by