2017-01-22 20 views
0

すでに定義されている文字列からシンボリック変数を作成する方法を知りたいと思います。このエラーは、それを実行した後に登場しているカスタム文字列を使用してシンボリック変数を定義する

N=2 
for i=1:N 
    syms sprintf('r%g',i) 
end 

:symfun.parseString(ライン50)
ない有効な変数名を使用して

エラーそれは実際に私たちは、このコードの実行を作るのに役立ちます。

syms(line 166)のエラー
[name、vars] = symfun.parseString(x);

私は、2つのシンボリック変数としてr1r2を作成したいです。

答えて

2

文字列をsymsに渡す場合は、function syntax rather than the command syntaxを使用する必要があります。現在の構文(コマンド構文)では、MATLABは'sprintf('r%g',i)'という名前のシンボリック変数を作成しようとしており、実際にはsprintfを評価しません。

代わりに、関数の構文は次のようになります。また、書式文字列に%dを使用して、iが整数であることを確認してください。そうでない場合は、有効な変数名になりません。

syms(sprintf('r%d', i)) 
+0

感謝しました。 –

関連する問題