Maxima 的绘图功能 3

本文最初写于 2011-07-03于 sohu 博客,这次博客搬家一起搬到这里来。

版权所有,转载请注明出处。

 

1.3 二维参数方程绘图

如果在函数列表之前加上 parametric,就代表参数方程作图。
nticks 参数控制画图时函数计算取样的数目。如果这个值过小,可能画出的函数曲线不够平滑。

(%i1) wxplot2d([parametric, sin(t), cos(t)/2], [t, - %pi, %pi], [nticks, 10]);

Maxima 的绘图功能 3_第1张图片

默认的nticks = 10, 只有十个点得到的图形失真很严重。将 nticks 加大到 200 后曲线变的光滑的多。

(%i2) wxplot2d([parametric, sin(t), cos(t)/2], [t, - %pi, %pi], [nticks, 200]);

Maxima 的绘图功能 3_第2张图片

下面用参数方程绘制出蝴蝶曲线。

(%i3) r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
wxplot2d([parametric, r*sin(t), r*cos(t), [t, -8*%pi, 8*%pi], [nticks, 2000]])$

Maxima 的绘图功能 3_第3张图片

同样,参数方程也可以和其他类型的曲线绘制于同一幅图中。下面的例子用到了各种常见选项。

(%i9) wxplot2d([[parametric, 5*sin(t), 6*cos(t)], [discrete,xx,yy]],
[t, 0, %pi], [nticks, 200],[style, [lines, 1, 2], [points, 3, 1, 11]],
 [legend, "parametric", "discrete"],[xlabel, "time"], [ylabel, "position(m)"]);

Maxima 的绘图功能 3_第4张图片

数据点还可以在一个列表中,下面是一个例子:

(%i10) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
wxplot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
        [style, points, lines], [color, red, blue], [point_type, asterisk],
        [legend, "experiment", "theory"],
        [xlabel, "pendulum's length (cm)"], [ylabel, "period (s)"])$

Maxima 的绘图功能 3_第5张图片

等高线绘图

contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4])$

Maxima 的绘图功能 3_第6张图片

contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4],
             [legend,false], [grid, 500, 500],
             [gnuplot_preamble,"set cntrparam levels 22"])$

Maxima 的绘图功能 3_第7张图片

wxcontour_plot (x*sin(y)+y*sin(x), [x, -10, 10], [y, -10, 10],
               [legend,false], [grid, 100, 100],
               [gnuplot_preamble,"set pm3d; set cntrparam levels 30"])$

Maxima 的绘图功能 3_第8张图片

你可能感兴趣的:(图形,plot)