Populate pyargs() arguments with the contents of a string cell array.

2 views (last 30 days)
Hello everybody,
I'd like to know if there's a way to populate the arguments of pyargs() with the contents of an array, instead of hardcoding the values like the documents tell us.
I have this simple function I'm using for testing:
function s=my_test(varargin)
extraParams=cell(numel(varargin),2);
for i=1:numel(varargin)
str = varargin{i};
C = strsplit(str,'=');
extraParams{i,1}=C{1};
extraParams{i,2}=C{2};
end
s=extraParams;
end
If I use these inputs:
a=my_test('k1=v1','k2=v2','k3=v3')
I get:
a=
'k1' 'v1'
'k2' 'v2'
'k3' 'v3'
How can I pass these values to pyargs() like this?
pyargs('k1','v1','k2','v2','k3','v3')?
Thankful for any help you could bring :)

Answers (2)

Walter Roberson
Walter Roberson on 22 May 2018
a = my_test(TheCellArray{:})

Stephen23
Stephen23 on 22 May 2018
Edited: Stephen23 on 22 May 2018
tmp = a.';
pyargs(tmp{:})

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!