Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
Daniel
Daniel am 14 Nov. 2023
Kommentiert: Daniel am 14 Nov. 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

Akzeptierte Antwort

Chunru
Chunru am 14 Nov. 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 Kommentare
Stephen23
Stephen23 am 14 Nov. 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 am 14 Nov. 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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by