2017-03-05 49 views
0

有誰知道是否可以使用splot命令在x-y平面中生成脈衝?gnuplot:splot命令可以在x-y平面中生成脈衝嗎?

例如,我有gnuplot的下列代碼段;

splot \ 
\ 
u, 0,  cos(u) linecolor "red"  notitle with impulses, \ 
u, sin(u), 0  linecolor "blue" notitle with impulses, \ 
u, sin(u), cos(u) linecolor "green" notitle 

第一個(紅色)圖成功地在x-z平面上產生脈衝,即垂直方向的脈衝。然而,第二個(藍色)圖不會在x-y平面上產生脈衝,即我想要的水平方向的脈衝!有誰知道如何做到這一點?此外,有沒有人知道是否可以使用任何gnuplot迭代命令來做到這一點?理想情況下,我希望從x軸到第三個(綠色)圖也有衝動 - 或類似箭頭的東西。

在此先感謝。

+0

運行你的代碼會產生'undefined variable:u'。 –

+0

@RolandSmith好吧,你需要'set parametric' – ewcz

回答

1

藍色曲線繪製,但不喜歡你的期望。嘗試將0更改爲例如0.1:

Example plot

這樣做的原因是,在三維圖,所述impulses風格總是圖線從z = 0的實際的z值。

你想要什麼是不可能的impulses

您可能能夠適應這個filledcurvesexample from gnuplotting.org

0

以下圖像用gnuplot的生成。從x軸向外輻射的綠線(圖像中的Theta軸)是使用無頭的箭頭實現的。

3D visual representation of Euler's formula.

,我可以模擬使用箭頭沒有頭同樣的方法藍色情節的衝動,但我已經從形象,以協助視覺清晰度忽略它。所以,儘管看起來脈衝不能在垂直以外的任何方向上使用,但箭頭可以用於相同的效果!

雖然這一形象提供了歐拉公式的一個良好的視覺表現,我想一個更好的一個與3D「飛繞」的情節爲西塔增加來實現的。

3D "fly-around" of Euler's formula.

我用於實現綠色箭頭的gnuplot的代碼,是這樣;

set \ 
\ 
for [x_new = 0:max_plot_index] \ 
\ 
arrow from (x_new * plot_inc),0,0 to (x_new * plot_inc),sin(x_new * plot_inc),cos(x_new * plot_inc) linecolor "green" nohead 

其中max_plot_index是爲 「飛越圍繞」 動畫的每一幀增加1和plot_inc設定爲(4 * PI)/ 100。

我希望有人認爲這有幫助!