Set and read matrix from 'setenv'

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

Guillaume
Guillaume 2018년 12월 18일
"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
Dan NG 2018년 12월 18일
My code has matrices of 3x10 (s) that need to change everytime as program input.
I have to modify code everytime for each run.
Is anyway that i can set it to variables so i can read them back ?
or I have to create .dat or .txt file and import them ?
I'm try to separate code and data.
thanks,

댓글을 달려면 로그인하십시오.

답변 (1개)

Guillaume
Guillaume 2018년 12월 18일

0 개 추천

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

Dan NG
Dan NG 2018년 12월 18일
Thank you Guillame,
I'd like to read all input from text file. How can I do that ?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

제품

릴리스

R2015b

태그

질문:

2018년 12월 18일

댓글:

2018년 12월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by