3

私はMatlabを初めて使用し、R2011aのツールを調べています。ワークスペース(右上のサブウィンドウ)で変数を選択し、plot(x、y)ボタンを押すことで、次のようにxとsin(x)を正常にプロットできました。

x = 0:0.01:2*pi;
y = sin(x);

x変数とy変数を選択し、plot(x、y)を押します

どうやらplot(x、y)ボタンを押すと、次のコマンドが生成されます。これをコマンドウィンドウからコピーして貼り付けました。

plot(x,y,'DisplayName','y vs. x','XDataSource','x','YDataSource','y');figure(gcf)

誰かが上記のコマンドが何をするのか説明できますか?(Matlab 2011aを使用して)「docplot」を実行しました。結果として得られる可能なパラメーターオプションを以下に示します。上記のプロットコマンドに一致するものはどれですか、そしてそれをどのように理解したでしょうか?

plot(Y)
plot(X1,Y1,...,Xn,Yn)
plot(X1,Y1,LineSpec,...,Xn,Yn,LineSpec)
plot(X1,Y1,LineSpec,'PropertyName',PropertyValue)
plot(axes_handle,X1,Y1,LineSpec,'PropertyName',PropertyValue)
h = plot(X1,Y1,LineSpec,'PropertyName',PropertyValue)

また、figure(gcf)生成されたコマンドでは何をしますか?

4

2 に答える 2

4

コマンドが使用する構文は、リストの 4 番目です。

plot(x,y, [LineSpec,] 'property1', value1, 'property2', value2, 'property3', value3);

グラフを使い始めるには、多くの場合、2 番目の形式だけで十分です。

x = 0:0.001:pi;
y = sin(x);
plot(x,y)

を省略するxと、値は integers であることが暗示されます1:len(y)。これで十分な場合もありますが、この場合は理想的ではありません。

このfigure(H)コマンドは、Figure ウィンドウを作成するか、ハンドル付きの Figure がH既に存在する場合は、単にその Figure にフォーカスを与えます (たとえば、他のウィンドウの後ろに隠れていた場合に、その Figure が表示されます)。

を使用して、線の外観を変更できます。LineSpecたとえば、線の色や、線が実線か破線かなどです。たとえば、'r--x'(各データ ポイント上に) マーカーとして十字が付いた赤い破線を作成します。これを省略すると、デフォルト値が使用されます (マーカーのない青い実線)。

より高度な設定では、linespec にプロパティと値のペアを含めることもできますが、一般的なプロパティと値の設定になっているためLineSpec、パーツまたは'PropertyName',PropertyValueパーツのいずれかで表示される可能性があるため、これは問題を少し複雑にします。そう

plot(x,y, 'r--x', 'linewidth', 3, 'DisplayName', 'sin x')
plot(x,y, 'r--x', 'DisplayName', 'sin x', 'linewidth', 3)

どちらも有効で、より太い線を生成するという同じ効果がありますが、

plot(x,y, 'linewidth', 3, 'DisplayName', 'sin x', 'r--x')

LineSpecは、いくつかのプロパティ、値の設定の後に来るため、無効です。

一般に、特定の機能をよりよく理解するために、コマンド ウィンドウにhelp <command>orを入力doc <command>してみてください。または、その機能が何と呼ばれているのか正確にわからない場合は、試してみてくださいlookfor <keyword>(たとえば lookfor filter、フィルタリングに関連する機能)。

編集:この場合に設定される他のプロパティは

  • '表示名'
  • 'XDataSource'
  • 'YDataSource'

このプロットの行の横に凡例文字列が表示されます。凡例を表示するには (上記のデータを想定):

plot(x,y,'DisplayName', 'sin x');
legend toggle

リンクされたプロットを作成する場合は、データ ソースを設定すると便利です。(オンライン ドキュメントを参照してください)。

および のヘルプ ページは、Figure が取り得るすべてのプロパティの包括的な詳細を提供しますfigure。Figure 内の個々の線のプロパティについては、figure propertiesを参照してください。lineseries properties

編集 2:上記の linespec の説明を追加。

于 2013-01-10T01:12:37.633 に答える
0

使用している MATLABdoc plotのバージョンはわかりませんが、R2011b と R2012b には上記の構文バージョンがあります。

plot(Y)
plot(X1,Y1,...,Xn,Yn)
plot(X1,Y1,LineSpec,...,Xn,Yn,LineSpec)
plot(...,'PropertyName',PropertyValue,...)
plot(axes_handle,...)
h = plot(...)

http://www.mathworks.nl/help/matlab/ref/plot.html

これは、「除外」が許可されている理由を説明していますLineSpec。 のペアはPropertyNamePropertyValueパラメーター リストのどこにでも配置できます。技術的には、あなたの構文はこのリストの 2 番目と 4 番目の組み合わせです。あなたのdoc plotバージョンは文法的に正しくありません。

あなたの他の質問は、Bonlenfum によってすでに回答されていると思います。

于 2013-01-10T14:53:01.460 に答える