How do I write several variables to a table with row labels?
6 views (last 30 days)
Show older comments
(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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1538582/image.png)
0 Comments
Accepted Answer
Chunru
on 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
4 Comments
Stephen23
on 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")
More Answers (0)
See Also
Categories
Find more on Whos 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!