How do I write several variables to a table with row labels?

7 visualizaciones (últimos 30 días)
Daniel
Daniel el 14 de Nov. de 2023
Comentada: Daniel el 14 de Nov. de 2023
(A disclaimer, my MatLab knowledge is very rudimentary, so please forgive me if I don't use the proper terminology or understand certain terminology)
I'm working with large datasets of values of a flourescent signal over time. My lab already has some code that does a number of calculations. When we run this, it gives a fairly large list of variable values in the workspace. There are 4 of those variables we regularly use (MeanAmplitude, AmpError, MeanFrequency, and FrequencyError). I'm trying to figure out what code I need to add so that when I run the code to process the data, it saves an Excel file with a simple table with variable names in column A (labeling the rows) and the values for each variable (as pictured).
I've tried various forms of "xlswrite" and "writetotable" etc, but I keep getting error codes. Aslo, if it is easier to do this with the row labels being the full name of the variables (as listed above), that is fine

Respuesta aceptada

Chunru
Chunru el 14 de Nov. de 2023
% Your data
MeanAmplitude = rand();
AmpError = rand();
MeanFrequency = rand();
FrequencyError = rand();
% Name can be any string here (full or short)
rn = ["MeanAmplitude"; "AmpError"; "Mean Frequency"; "Frequency Error"];
val = [MeanAmplitude; AmpError; MeanFrequency; FrequencyError];
t = [array2table(rn) array2table(val)];
writetable(t, "test.xlsx")
ls
test.xlsx
  4 comentarios
Stephen23
Stephen23 el 14 de Nov. de 2023
"Maybe you put that in there as a placeholder?"
Correct. Becauser you did not provide any sample data Chunru invented some fake data using RAND(). Code without data will not run, so what data do you expect Chunru to use to test their code?
Of course you use your own data, exactly as the "% Your data" comment tells you.
Note that calling TABLE would be simpler:
rn = ["MeanAmplitude"; "AmpError"; "Mean Frequency"; "Frequency Error"];
val = [MeanAmplitude; AmpError; MeanFrequency; FrequencyError];
tbl = table(rn,val)
writetable(tbl, "test.xlsx")
Daniel
Daniel el 14 de Nov. de 2023
"so what data do you expect Chunru to use to test their code?"
Fair enough. Given that my other attempts to do this had issues, I how I was referencing these variables that were defined elsewhere was the issue, and maybe "RAND()" was how to reference them properly.
Good tip on the table too by the way. Thanks!

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by