I want to send output values from MATLAB to an Excel file

28 次查看(过去 30 天)
I have added an example Excel file and the Matlab file from which the data is to be taken. For Background: I have multiple .mat files with a signal that I vary with 2 variables 1. Target position/t(in the matlab code) and 2. Gain values(again in the matlab code). For example when the .mat file opened by the matlab code reads"Newexp0.75Gain_0.5Target.mat", The target is at 0.5 and gain value is 0.75. I have .mat files ranging from 0.5 to 2.1 Target position/t with increment of 0.1. The gain value ranges from 0.5 to 0.8 with increment of 0.5.
The different outputs as you'll see in the excel file attached, that I want in an excel file are Amplitude, Error, Period, Frequency.
Is there any better way to do this? As it is taking a very long time totabulate them manually in excel

采纳的回答

VBBV
VBBV 2022-12-6
FreqFinal = mean(freq)
PeriodFinal = mean(period)
error = midline-t
amplitudeFinal= mean(max(y)-midline)
Data_export = [FreqFinal PeriodFinal error amplitudeFinal]
writematrix(Data_export,'Filename.xlsx','Delimiter','tab') % check with writematrix
  4 个评论
Stephen23
Stephen23 2022-12-7
编辑:Stephen23 2022-12-7
The "Delimiter" option is not valid for Excel files (because they are not text files and do not use delimiters).
You can see that the "Delimiter" option is listed under the section "Text Files Only":
Smriti Mohan Shetty
编辑:Smriti Mohan Shetty 2022-12-7
Thank you! I removed demlimiter and space and just gave it a range so it worked.
Data_export = [FreqFinal PeriodFinal amplitudeFinal error]
writematrix(Data_export,'ExampleMatlab.xlsx','Range','CD9')

请先登录,再进行评论。

更多回答(1 个)

David
David 2022-12-6
data = [1 2 3; 4 5 6; 7 8 9]; % create some data to write to the file
% write the data to an Excel file named "myfile.xls"
xlswrite('myfile.xls', data);

Community Treasure Hunt

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

Start Hunting!

Translated by