How to pass Matlab workspace variable into system command?

18 Ansichten (letzte 30 Tage)
Saurabh Srivastava
Saurabh Srivastava am 18 Jan. 2014
Beantwortet: cui,xingxing am 2 Jan. 2019
I am using a program (wgrib) which is used to read .grb file and it runs in linux environment. This program required filename to read it. Now I want to use this programm using 'system' command in matlab. It works fine when I give the name of file but fails to execute when I give the variable which contains several file name. For ex. it works fine when I use
[u v]=system('wgrib xyz.grb') where wgrib is programm and xyz.grb is file name
But when I give it like
[u v]=system('wgrib filename')
where filename is a matlab variable which contains file name (i.e. xyz,grb), it does not execute and says didn't find file.
Can anyone suggest how to pass matlab variable in system command.

Akzeptierte Antwort

Jan
Jan am 18 Jan. 2014
[u v] = system(['wgrib ', filename])
  1 Kommentar
Saurabh Srivastava
Saurabh Srivastava am 20 Jan. 2014
Dear Jan, Thanks for suggestion but I have already tried it and It did not work. :(

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Walter Roberson
Walter Roberson am 20 Jan. 2014
filename = 'xyz.grb';
[u v]=system( sprintf('wgrib %s', filename) )

cui,xingxing
cui,xingxing am 2 Jan. 2019
filename = 'xyz.grb';
command = ['wgrib ',filename];
[u v] = system(command)

Kategorien

Mehr zu Programming Utilities finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by