2016-09-22 18 views
1

まずプロットは、私はちょうど私はMathWorks社のMATLABを使用して使用していないよと言いたいが、私は、私が「ブラウン運動」を作成することになってる、割り当てのために必要。私のコードは、現在、このように見ている:私の関心は、印刷する方法であるブラウン運動MathWorks社のMATLABすべての

clf 
hold on 
prompt = 'Ge ett input'; 
size = input(prompt) ; 
numParticles = input('Ange antal partiklar'); 
axis([-size size -size size]); 
Part = []; 
color = 'brkgmyco'; 
for i = drange(1:numParticles) 
    Part = [Part [0;0]]; 
end 
for i = drange(1:200) 

    dxdy = randn(2,numParticles); 
    k = Part 
    Part = Part + dxdy; 

あなたが本当に割り当てのために何が起こっているかを見ることができるように、私も、すべての印刷上のわずかな遅延のようにしたいと思う、これは達成することが可能です私が今書いたコードから、または何かを変更しなければならないのか?前もって感謝します!ここで

+1

最初のループを 'Part = 0(2、numParticles);に置き換えることができます – EBH

+0

[' pause'](https://de.mathworks.com/help/matlab/ref/pause.html)コマンド。 –

答えて

0

かかわらず、あなたがやろうとしているものの、あなたのコードを持ついくつかの基本的な問題です:

  1. あなたは、変数名としてsizeを使用しています。そうすることで、MATLABの関数sizeが無効になります。
  2. 機能zerosがゼロにより初期化配列を作成し、そのためのループの必要がありません。
  3. ループ内でrandnを200回計算する代わりに、dxdy = randn(2,numParticles,200)を使用して1回実行してから、ループ内のdxdy(:,:,i)を参照するだけで済みます。
  4. 合計は同じです。ループ内で合計して累積合計を得る代わりに、cumsumPart = cumsum(randn(2,numParticles,200),3);のように使用し、ループ内のPart(:,:,i)を参照してください。あなたのタスクに今

。あなたが印刷する方法を知りたいが、私はあなたがグラフィックオブジェクトを参照してくださいaxisclfholdのようないくつかのコマンドを使用しますので、あなたがプロットにしたいと考えていると述べました。しかし、あなたは本当に何かを描くことは決してありません。
2Dでプロットするための基本的かつ一般的な機能はplotですが、他にも多くの特定の機能があります。それらのうちの1つはscatterであり、それはx,yおよびgroupのトリプルをとり、それぞれで着色された姉妹機能gscatterを持っています。

このコードは、軸上の粒子をプロットし、その動きをアニメーション:

prompt = 'Ge ett input'; 
scope = input(prompt) ; 
numParticles = input('Ange antal partiklar'); 
N = 500; 
Part = cumsum(randn(2,numParticles,N)*scope/100,3); 
h = gscatter(Part(1,:,1),Part(2,:,1),1:numParticles); 
axis([-scope scope -scope scope]); 
legend off 
for k = 2:N 
    for p = 1:numParticles 
     h(p).XData = Part(1,p,k); 
     h(p).YData = Part(2,p,k); 
    end 
    drawnow 
end 

が、これはあなたが探して何ですか?

+0

申し訳ありませんが、ちょうど帰宅し、再びそこに探し始めた、つもりあなたのコードを試してみて、私もそれを理解することができるかどうかを確認:) –

+0

あなたは – EBH

+1

は、私はよく、あなたの助けを借りて、それを解決したと考えては不明である何のために聞いて歓迎され、あなたはそれを解決しましたが、私は理解しているコードが必要です:)、おかげで多くの助けをいただきありがとう! –

関連する問題