2012-03-14 17 views
0

Matlabで3Dプロットを作成しようとしています。2つの変数を変更してMatlabで3Dプロットを作成する

私は多くの操作でYとZのデータセットで始まる非常に長い問題があり、それは、単純なY/Zの問題に帰着

y=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 
z=[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]; 


x=(y_new)/(z_new) 

yの操作方程式の約100行があるとzを2つの新しい変数y_newとz_newにします。私はx、y、zの3次元プロットを作成したいと思います。私は(1,5)と(1,10)、(2,5)、(2,10)等のx値が必要です。

私は問題の設定がy = 1とz = 5。私はここ数時間、for-loopsやwhile-loopsを使用しようとしていますが、私は立ち往生しています。

誰かが私を助けることができたら、私は時間と労力を感謝します!

+0

どこがつまっているのか分かりません。要素単位の操作、つまり 'x = y_new。/ z_new'が必要ですか?あるいは 'y-new'と' z_new'スカラーなので、 'x(i)= y_new/z_new'が必要ですか? – Jonas

+0

よくある問題は、例えばy = 1とz = 5である。私はx値を取得します。私はちょうど10の異なる時間を変更し、異なる時間zを変更し、xの100の値を得る方法を探しています。 – Michael

答えて

1

forループを使用する必要はありません。代わりに、この問題を正確に解決するように設計された組み込み関数meshgrid()を使用してください。

Here's a tutorial from 'abbe' at MITmeshgrid()を使用して、関数f(x,y)の3Dプロットを作成する方法を詳しく説明しています。

宣伝文を引用する:

3Dを使用すると、3次元プロットをするとき、あなたは通常 は、xとyの両方の関数であることのz変数を持つ

をプロットします。 xとyの値が の範囲で変化するようにするには、xとyの行列が必要です( )。xの範囲はx です。 meshgridと呼ばれる関数はx とy行列をこのように設定します。 x行はx行x行を変化させて列内で一定に保ち、y行は 列のyを変化させ、行間で一定に保つので、2つの行列を使用するとxとyの組み合わせはすべて になります。

+0

ありがとう、これは私が探していたものでした!私はこれを数時間前に見ましたが、記事は非常に混乱していました。あなたが投稿した作品は非常に明快で簡潔でした。ありがとうございました! – Michael

+0

心配はありません。喜んで助けてください。 :) –

関連する問題