1

MATLAB で 任意の値を文字列に変換する完全に一般的な方法を探しています。

基本的に、私は次のようなものを書くことができるようにしたい

x = disp(y);

上記はエラーで失敗しますToo many output arguments. (のソース コードが見つかりませんでしたdisp。)

任意の値を文字列に変換する単一の MATLAB 関数はありますか?

(この関数は、文字列が渡されたときに ID のように動作する必要があることに注意してください。)

基本的に、MATLAB の Python に相当するものを探していstrます。かもしれないと思ったcharのですが、(たとえば)char(Inf)は string のようなものを生成できません'Inf'。(注:これは単なる例であり、すべての可能性を網羅しているわけではありません。 )

4

3 に答える 3

4

pm89の答えevalcは正しい考えを持っていますが、入力として文字列が必要なため機能しません。次のように独自の関数を作成することをお勧めします。

function str = anything2string(thing)

str = evalc('disp(thing)');

Matlab が表示できるものすべてに対して機能します。

>> anything2string(3)
ans =
     3

>> anything2string(Inf)
ans =
   Inf

>> anything2string('hi')
ans =
hi

>> anything2string(1:4)
ans =
     1     2     3     4
于 2013-05-17T19:35:31.927 に答える
3

Python の とまったく同じではありませんが、文字str列を入力として操作および処理します。num2strInf

num2str(Inf)
ans = Inf
num2str('some string')
ans = some string
于 2013-05-17T16:47:32.067 に答える