2011-02-13 2 views
0

こんにちは。これで私を助けることができますか?上記のコードから 文字列を表示する際の問題

if size(cost,1) == 2 

     A = (4*Pdt*cost(1,3)*cost(2,3)) + 2*(cost(1,2)*cost(2,3))+(cost(1,3)*cost(2,2)); 
     B = 2*(cost(2,3)+cost(1,3)); 
     lambda = num2str(A ./ B); 
     set(handles.answer1_staticText,'String', lambda); 
     P1 = (lambda - cost(1,2))./(2*cost(1,3)); 
     P2 = (lambda - cost(2,2))./(2*cost(2,3)); 
     PT = mat2str(P1 + P2); 
     set(handles.answer2_staticText,'String', PT); 
     guidata(hObject, handles); 
end 

は、その答えは次のようになる:

P1 = (%answer for P1) 

P2 = (%answer for P2) 

P TOTAL = (%answer for PT) 

ことができます。

[11.75 11.25 11.25 11.75 10.75 11.5 12.75 12.75 13] 

私の質問は、私はこのような静的なテキストボックスに私の答えを表示したいですコード作成に誰も助けてくれますか?

+0

はこれを試してみてください。 –

+4

あなたの質問に悪いタイトルがあります。 – Nishant

+0

@Nishant:今より良いですか? – Jonas

答えて

0

lambdaを文字列に変換しました(num2strを使用)ので、P1などの計算では予期しない結果が発生します。

表示手順で文字列に変換する方が良いので、これらの事故は発生しません。あなたが最終的な結果は、* *スカラー*、およびない*行列であることを確認する必要があり

if size(cost,1) == 2 

     A = (4*Pdt*cost(1,3)*cost(2,3)) + 2*(cost(1,2)*cost(2,3))+(cost(1,3)*cost(2,2)); 
     B = 2*(cost(2,3)+cost(1,3)); 
     lambda = A ./ B; 
     set(handles.answer1_staticText,'String', num2str(lambda)); 
     P1 = (lambda - cost(1,2))./(2*cost(1,3)); 
     P2 = (lambda - cost(2,2))./(2*cost(2,3)); 
     PT = P1 + P2; 
     set(handles.answer2_staticText,'String', num2str(PT)); 
     guidata(hObject, handles); 
end 
+0

どのように私はこのような答えを表示することができます:P1 =(答えはP1のための) P2 =(%答えはP2) P TOTAL = – raymond

関連する問題