1

ユーザーの入力がmatlabを使用してテキストボックスに入力される特定の方程式のデカルト座標でカールを見つけようとしています。CLI では、次の式を使用しましたが、うまくいきました。curl([2*x+3*y, 2*y, 2*z], [x, y, z])

簡単にするために作成した GUI を使用すると、1 つのテキスト ボックス (x 係数用としましょう) の静的テキスト ラベルに答えが表示され、プッシュ ボタンでコードがトリガーされます。

テキストボックスタグはinputTxtです

静的テキスト ラベル タグは inputValue です

ボタンのコールバックは次のとおりです。

txtValue=get(handles.inputTxt, 'String');
set(handles.inputValue, 'String', curl([textValue*x, 0, 0], [x, y, z]));

ボタンを押すと音が鳴り、matlab cli でエラーが発生し、静的テキスト ラベルに何も表示されません。最初に CLI で行ったように自分で curl パラメーターを設定しても curl([2*x+3*y, 2*y, 2*z], [x, y, z]) 、同じ結果 (ディン音) が得られ、ラベル テキストには何も表示されません。

前もって感謝します。

4

2 に答える 2

1

答えを見つけただけで、うまくいきました。

curl の結果を静的テキストに渡すには

char(curl([x^3*y^2*z, y^3*z^2*x, z^3*x^2*y], [x, y, z]));

完全なコード

syms x y z;
set(handles.txtAns, 'String', char(curl([x^3*y^2*z, y^3*z^2*x, z^3*x^2*y], [x, y, z])));

txtAns は静的テキスト ラベルであり、プッシュ ボタンをクリックすると次の回答が表示されます (上記の行をプッシュ ボタン コールバックに配置した場合)。

行列[(x^2*z^3 - 2*x*y^3*z) (x^3*y^2 - 2*x*y*z^3 (-2*x^3*y*z) + y^3*z^2)]

于 2013-03-18T23:13:38.200 に答える
0

mmounirf、変更してみてもらえますか:

txtValue=get(handles.inputTxt, 'String');
set(handles.inputValue, 'String', curl([textValue*x, 0, 0], [x, y, z]));

これに:

txtValue=str2num(get(handles.inputTxt, 'String'));
set(handles.inputValue, 'String', num2str(curl([txtValue*x, 0, 0], [x, y, z])));

エラーも投稿できますか?基本的に、数値に変換する必要がある編集ボックスから文字列を取得しています。次に、テキストを設定するときに、取得した数値を文字列に変換する必要がありcurlます。txtValueまた、 which に変更するtextValueとエラーが発生することにも気付きました。

于 2013-03-17T18:01:25.980 に答える