Set and read matrix from 'setenv'
Mostrar comentarios más antiguos
Dear,
I have some medium input matrices that frequently change as program input. I want to move them out to external file by using 'setenv' or similar. Is that possible ? or any alternative way ?
Many thanks,
-Dan
2 comentarios
Guillaume
el 18 de Dic. de 2018
"I want to move them out to external file"
What does that mean?
"using 'setenv' or similar"
setenv is used to modify environment variables. This has nothing to do with files.
Can you describe what you want to do (and why) in a lot more details.
Dan NG
el 18 de Dic. de 2018
Respuestas (1)
Guillaume
el 18 de Dic. de 2018
It sounds like you have a script where all the inputs are hardcoded. First, convert the script into a function with the appropriate inputs and outputs.
E.g. If you have a script like:
%inputs
something = [1 2;3 4];
somethingelse = [10 20; 30 40];
%processing code
someresult = something . ^ 2;
someotherresult = something + sqrt(somethingelse);
then it becomes:
function [someresult, someotherresult] = dosomething(something, somethingelse)
someresult = something . ^ 2;
someotherresult = something + sqrt(somethingelse);
end
After that it's up to you how you get the various inputs to the function. You could write a script will all the inputs and loop over them:
%all the matrices to process
manysomething = {[1 2;3 4], [5 6;7 8], [9 10 11; 12 13 14]};
manysomethingelse = {[10 20; 30 40], [50 60; 70 80], [90 100 110; 120 130 140]};
%preallocate results:
manyresults = cell(size(manysomething));
manyotherresults = cell(size(manysomething));
%loop over inputs
for idx = 1:numel(manysomething)
[manyresults{idx}, manyotherresults{idx}] = dosomething(manysomething{idx}, manysomethingelse{idx});
end
Or you can get these inputs from text file, from spreadsheets, or from a GUI.
1 comentario
Dan NG
el 18 de Dic. de 2018
Categorías
Más información sobre MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!