How to pass variable argument using system command?

x0=[45,360,45,180];
ind0=x0(1);
ind1=x0(2);
ind2=x0(3);
ind3=x0(4);
system(['python /home/prateek/matlab_R2017a_glnxa64/projects/saobjective/fh.py ind0 ind1 ind2 ind3']);
In fh.py file, I have given:
a = (sys.argv[1])
b = (sys.argv[2])
c = (sys.argv[3])
d = (sys.argv[4])
print a
ind=[a,b,c,d]
e=fitness(ind)
The problem is here print a should print 45 but it is printing ind0.

 채택된 답변

Walter Roberson
Walter Roberson 2018년 3월 7일
fh_file = '/home/prateek/matlab_R2017a_glnxa64/projects/saobjective/fh.py'
cmd = sprintf('python "%s" %g %g %g %g', fh_file, ind0, ind1, ind2, ind3);
system(cmd)

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by