Multiple Input/output function to excel

4 Ansichten (letzte 30 Tage)
Doorgesh Ramkurrun
Doorgesh Ramkurrun am 12 Mär. 2020
Kommentiert: Doorgesh Ramkurrun am 12 Mär. 2020
Hey Guys,
This is an example of my function:
function[out1,out2,out3,out4]=Trial_4(in1,in2,in3,in4)
  1. I want to know how to input different values for my input 'in2' (for example values for in2 ranges from 0 to 0.1 with intervals = 0.001) without having to input them repeatedly in the command window,
  2. Secondly, I want to know how to convert my outputs into a table which can then be used in Excel.
Thanks!

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 12 Mär. 2020
Bearbeitet: Ameer Hamza am 12 Mär. 2020
You can try something like this
in1 = 0;
in2 = (0:0.001:0.1)';
in3 = 0;
in4 = 0;
% if out1 out2 out3 out4 are scalars
out1 = zeros(size(x));
out2 = zeros(size(x));
out3 = zeros(size(x));
out4 = zeros(size(x));
for i=1:numel(in2)
[out1(i),out2(i),out3(i),out4(i)]=Trial_4(in1,in2(i),in3,in4);
end
Then to save in MS excel file
writematrix([out1, out2, out3, out4], 'filename.xlsx');

Weitere Antworten (1)

Jakob B. Nielsen
Jakob B. Nielsen am 12 Mär. 2020
Bearbeitet: Jakob B. Nielsen am 12 Mär. 2020
You can achieve this in many ways. The simplest way would be to just create arrays of your input ranges, for example
in2=0:0.001:0.1;
will get you a 1x101 array with values from 0, in increments of 0.001, to 0.1. And then do this for all your inputs. As long as your function Trial_4 can handle elementwise operations (put dots in front of multiplications and powers and such, so instead of in2^2 write in2^.2), then your outputs will also be 1x101 arrays.
In regards to a table, you can either do
table(out1,out2,out3,out4);
and then copy/paste it over from the workspace.
Or simply / more elegantly,
xlswrite('output.xlsx',out1,out2,out3,out4);

Kategorien

Mehr zu Data Import from MATLAB finden Sie in Help Center und File Exchange

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by