How can i convert this string into an input for a function?

Hello, everyone! I have this program:
ch=['MRWI'
'IDMZ'
'CGBI'
'JKNO']
v=[];
[x,y]=size(ch)
for i=1:x
v=[v, 'ch(',num2str(i),',:),']
end
where v will be equal to the string: ''ch(1,:),ch(2,:),ch(3,:),ch(4,:),'. My question is how can i use v as an input for a function? for exemple, to display the values of v as 'MRWI,IDMZ,CGBI,JKNO'

3 件のコメント

David Hill
David Hill 2021 年 4 月 24 日
Why do you want to do that? You should try not to do that if at all possible.
Robu Robert
Robu Robert 2021 年 4 月 24 日
Hello, @David Hill . I just try to figure out how can i get to resolve my actual problem, which i described in a previous post ( https://www.mathworks.com/matlabcentral/answers/809040-how-to-get-all-combinations-from-this-matrix ) . So far, i could not come up with anything
Stephen23
Stephen23 2021 年 4 月 25 日
As David Hill wrote, you should avoid converting data to character representations of the same data.
As Rik wrote, the correct approach is to use a comma-separated list:
Bruno Luong showed you exactly how here:

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

回答 (1 件)

Rik
Rik 2021 年 4 月 24 日

0 投票

ch=['MRWI'
'IDMZ'
'CGBI'
'JKNO'];
v=ch.';v=v(:).';
disp(v)

2 件のコメント

Robu Robert
Robu Robert 2021 年 4 月 24 日
Thank you for your answer. I need the output of the program to be the input for a function named allcomb which looks like this :
allcomb(ch(1,:),ch(2,:),ch(3,:),ch(4,:))
So i can t use the sequence you just proposed
Rik
Rik 2021 年 4 月 25 日
Then you need cell2mat, after which you can use {:} to create a comma separated list.

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

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

タグ

質問済み:

2021 年 4 月 24 日

コメント済み:

2021 年 4 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by