フィルターのクリア

How to pass file from Bash script to MATLAB script

3 ビュー (過去 30 日間)
g
g 2018 年 11 月 15 日
編集済み: Walter Roberson 2018 年 11 月 18 日
I have a bash script that creates a config file of varying name and then runs a Matlab script through the following:
(config file production)
matlab -nodesktop -nodisplay -r "MatScript; exit"
How do I set MatScript to read/load the config file that is produced, since the name can vary. Basically I want to pass this file from my bash script to my Matlab script, so then Matscript can work with the values in it. Thanks!

採用された回答

Walter Roberson
Walter Roberson 2018 年 11 月 15 日
Make your script into a function:
matlab -nodesktop -nodisplay -r "try; MatScript('$CONFIGLOCATION'); end; exit"
Or assign to a variable
matlab -nodesktop -nodisplay -r "try; CONFIGLOCATION='$CONFIGLOCATION'; MatScript; end; exit"
  6 件のコメント
g
g 2018 年 11 月 16 日
It’s not a mat file. I can try that though. Basically the file is a .cfg file that has several variables in it like so:
a=2
b=75
c=apple
and I want to load the file and use the variables in some calculations.
Walter Roberson
Walter Roberson 2018 年 11 月 16 日
編集済み: Walter Roberson 2018 年 11 月 18 日
if it is in matlab syntax then use fileread to read the file as text and then use
try
evalc(TheContent);
catch ME
end
The evalc prevents all those assignments from displaying results . The try prevents you from crashing on syntax error .
But might I suggest that you use the INI parser that I posted the link to and pull fields out of the struct? That would be safer than risking the cfg file overwriting one of your variables .
If cc=apple is intended to create a string you will need parsing code for sure .

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeScope Variables and Generate Names についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by