2013年6月28日 星期五

科學數學繪圖軟體Scientific and Math plotting software



類似MatLab語法的數學計算軟體(Free):
Octave
yum install octave
yum install emacs   (編輯器)
https://sites.google.com/site/octavetech/links

x = linspace(0.2*pi);
y=sin(x);
plot(x,y);
plot(x,sin(x),x,cos(x),x,sin(x)+cos(x));  %三條線

Script 指令執行:
1. > edit test.m  
2. 編輯......編輯好了之後
3. > test

3D Example:
x=linspace(-2,2,25);
y=linspace(-2,2,25);
[xx,yy]= meshgrid(x,y);
zz=xx.*exp(-xx.^2-yy.^2);
mesh(xx,yy,zz);

Scilab
yum install scilab

Freemat
Rlabplus





Maxima (數學計算專用  畫圖方便)
http://maxima.sourceforge.net/

yum install maxima
yum install maxima-gui  (gui界面)

計算說明
http://math.npue.edu.tw/ezcatfiles/b022/img/img/626/MaximaRep1.pdf

plot2d([x^3+x,(x-1)^3+(x-1)],[x,-5,5],[y,-5,5]);

plot2d(sin,[x,-10,10]);
http://maxima.sourceforge.net/docs/intromax/intromax.html



Matplotlib ( based on python)
http://matplotlib.org/index.html

install NumPy first
http://www.numpy.org/

http://www.scipy.org/install.html

http://sourceforge.net/projects/numpy/files/NumPy/

在Fedora下安裝
# sudo yum install numpy scipy python-matplotlib ipython python-pandas sympy python-nose

進入:
#  ipython -pylab
這是ipython下模擬matlab的模式, 目前要用的Matplotlib也是類似Matlab的東西....


範例(進入ipython後的命令列執行):

import matplotlib.pyplot as plt (可以任意設定)
plt.plot([1,2,3,4,5,6,7])   (畫出線, 如果只有一組array, 則為y值, x會自動生成)
plt.plot([1,2,3,4], [1,4,9,16])  第三個參數如果省略, 圖形是畫出線條
plt.plot([1,2,3,4][1,4,9,16], 'ro') ----> ro 會生成紅色圓圈
                                                               bo            藍色

plt.plot([2,3,4,6,8,9,10,58,68,60], linewidth=2.0)  設定線的寬度


plt.ylabel (' This is Y Label ')   在Y軸上的標籤
plt.xlabel (' This is X Label ')   在X軸上的標籤  ----->中文無法顯示..how?

plt.axis([0, 6, 0, 20])   刻度設定, 格式為[xmin, xmax, ymin, ymax] x最小值~x最大值

運用numpy的array
範例: arrange() ---要import numpy來使用本函式
import numpy as np
np.arrange()   呼叫arrange()

import numpy as np
import matplotlib.pyplot as plt

# evenly sampled time at 200ms intervals
t = np.arange(0., 5., 0.2)

             # red dashes, blue squares and green triangles
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')

-------------------------------------------------------------
Problem: 無法正常顯示mathtext數學記號??
在ipython命令下加入以下指令....
from matplotlib import rc
rc('text',usetex=True)
https://bugzilla.redhat.com/show_bug.cgi?id=562421
類似問題
http://stackoverflow.com/questions/14715679/strange-output-from-matplotlib-mathtext

經過測試發現, 如果退出ipython之後, 會需要再次設定. 所以要朝修改設定的方向去執行.....

Q: 似乎可以在 matplotlibrc設定檔之中修改?尚未確定.....
A: ..............

可以順利顯示有數學記號的圖了!!!




-----------------------------------------------------------------

R project  統計用?
http://cran.rstudio.com/index.html
R Manual
R介紹

Gnuplot
http://www.gnuplot.info/

SciGraphica
http://scigraphica.sourceforge.net/download.html

沒有留言:

張貼留言