私はあなたのグラフを見て(そしてコメントも使用しています)、可能な方法の1つはplot3を使ってすべてのプロットの3Dで線をプロットすることです。私は、プロットのいくつかのオプションがあり を与える
x=(0:0.01:1)';
aexp=zeros(100,numel(x));
hold on
for ii=1:100;
% aexp(ii,:)=exp((-x+ii/10)); %exponential
aexp(ii,:)=exp(-(x-ii/100).^2); %~gaussian
% aexp(ii,:)= x*ii; %linear increase
plot3(x,aexp(ii,:),ii*ones(1,numel(x)));
end
% set(gca,'yscale','log'); % uncomment if you need logscale.
:そうするため
、あなたはこのようなコードを使用することができます。常にXYビューからプロットされます。私は手で変更しましたが、を使用することができます。私は単純なカウンターを使ってz方向にスペーシングを作っていることに注意してください。
同様に、の輪郭を使用してプロットすることができます。データは、forループで生成された私のコードについては、後に、/削除は、plot3をコメントして追加します。
contour(aexp) %outside the for loop,
は、私は本当に私がプロットてる何世話をしていない
通知すること。あなたはMatlab pageに輪郭に関する詳細を見つけることができます。
x軸は反復回数、y軸はエネルギー、z軸はいくつの領域からいくつの行が通過したかを示す情報であるとコメントしました。そのためにはqq
という変数を作成してください(qq=number_of_lines(number of iterations,energy)
)。あなたが持っていない場合、エネルギーのための離散グリッドを作成します。反復回数は、とにかく離散的です。この機能は、あなたが考案しなければならない人ですが、私はあらゆるエネルギーと繰り返しごとに行数をチェックするものに行きます。この場合、yとxに依存するz関数があります。これは、等高線やサーフェスを使用する場合です。
上記の私の機能は、すべてのii
ポイントに対して行を作成し、3d機能を持っています。別の余分なループのエディションは難しくありません。すべての点について同じ規則的なグリッドを持つことを忘れないでください。さもなければ問題が発生します。
ようこそスタックオーバーフロー。あなたはすでに試したことを投稿できますか?これにより、より良いヘルプを得ることができます! – JCooke
私は各曲線が通過しているすべての点に対して1を追加しようとしました。しかし、私はそのコードを動作させることができなかったし、それを3dマップ上に翻訳することができなかった。 –
ヒートマップの種類を作成することはできますか?たとえば、 'imagesc'を使用します。 – obchardon