2012-02-13 10 views
1

プロット:X上のk及びrの私はMATLABで以下の式をプロットしようとしていSQRT `の3Dグラフ(1 + 1 /(KR)^ 2)`

ratio = sqrt(1+1/(kr)^2)

とy軸、およびz軸の比。 Iは、xとyの値は1から10まで変化させてマトリックスを作成するために関数meshgridを使用する:

[x,y] = meshgrid([1:1:10],[1:1:10]); 

問題は、現在のzの値を作成することです。私はちょうど全体の式を入力しようとしたが、それは、この結果を与える:

>> Z = sqrt(1+1/(x .* y)^2)??? 
Error using ==> mldivide 
Matrix dimensions must agree. 

だから何私がやったことは最後に右のグラフを生成する、手動プロセス全体を通じてに行くされています

z = z^2; 
z = 1 ./ z; 
z = 1 + z; 
z = sqrt(z); 
mesh(x,y,z) 

もっとエレガントな方法がありますか?または方程式を入力してMATLABに残りの部分を処理させる方法ですか?

答えて

3

これを試してみてください:

Z = sqrt(1+1./(x .* y).^2); 
surf(Z); 

あなたはそれだ代わり.//^2を使用して代わりに.^2

+0

に関連した問題を!ありがとうございました!私はすべての操作コンポーネントを賢明にするとは思わなかった... – jodles

+1

@jodles youre welcome。それがあなたを助けたら答えを受け入れることを検討してください。 –

+0

私は受け入れます、それはちょうどStackexchangeは私が11分ほど過ぎるまで受け入れることはできません... – jodles

関連する問題