
發布
注冊
/
登錄常用繪圖函數的案例
MATLAB函數繪圖-fplot3
fplot3:三維參數化曲線繪圖函數
1.繪制三維參數化線條
x=sin(t)
y=cos(t)
z=t
(在默認參數范圍 [-5 5] 內。)
xt = @(t) sin(t);
yt = @(t) cos(t);
zt = @(t) t;
fplot3(xt,yt,zt)
2.指定參數范圍
繪制參數化線條
x=e^(?t/10)*sin(5t)
y=e^(?t/10)*cos(5t)
z=t
(通過指定 fplot3 的第四個輸入實參,在形參范圍 [-10 10] 內繪制)。
xt = @(t) exp(-t/10).*sin(5*t);
yt = @(t) exp(-t/10).*cos(5*t);
zt = @(t) t;
fplot3(xt,yt,zt,[-10 10])
3.指定線條屬性并顯示標記
在參數的不同區間,將同一條三維參數化曲線繪制三次。對于第一個區間,使用 2 磅的線寬。對于第二個,指定帶有圓形標記的紅色虛線線型。對于第三個,指定帶有星號標記的青藍色點劃線線型。
fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [0 2*pi], ...'
展開 科研常用的十六大繪圖軟件!
8 CorelDRAW
軟件介紹:CorelDRAW是一個專業圖形設計軟件,專用于矢量圖形編輯與排版,借助其豐富的內容和專業圖形設計、照片編輯和網站設計軟件,能夠結合科研中其它繪圖軟件做出既滿足設計者功能需求,又滿足閱讀者視覺美觀要求的圖片。
9 Origin
軟件介紹:Origin具有兩大主要功能:數據分析和繪圖。Origin的數據分析主要包括統計、信號處理、圖像處理、峰值分析和曲線擬合等各種完善的數學分析功能。準備好數據后,進行數據分析時,只需選擇所要分析的數據,然后再選擇相應的菜單命令即可。Origin的繪圖是基于模板的,Origin本身提供了幾十種二維和三維繪圖模板而且允許用戶自己定制模板。繪圖時,只要選擇所需要的模板就行。用戶可以自定義數學函數、圖形樣式和繪圖模板;可以和各種數據庫軟件、辦公軟件、圖像處理軟件等方便的連接。
10 SHAPE
軟件介紹:SHAPE是一個程序用于繪制外部形態(表面)的水晶和準晶體,并繪制部分的晶體。它將繪制任何單晶和大多數雙胞胎和外延共生。前面這是個主要是材料相關的,下載鏈接:http://pan.baidu.com/s/1eSxN6cq
下面是化學常用的繪圖軟件:
ChemOffice系列
ChemOffice是美國劍橋公司的研究開發的桌面化學軟件,功能非常強大。
展開 靜電學中LambertW函數的應用以及Mathematica繪圖
背景介紹
靜電學中的一些結論,會涉及到一些復雜函數的使用。有時我們想要進行結果的可視化展示直觀感受推導的正確性。這時可以使用Mathematica豐富的繪圖支持和數學運算函數支持來完成該任務。
推導
Schwartz-Christoffel變換提供了一個從復數平面的封閉多邊形內部到復數平面的無窮平行板的映射,正如下圖所示。
這種類型的一種共形映射可以用來推導平行平板的電勢的近似公式(考慮邊緣效應)。
平面上點的電勢容易計算出,并且可以通過反變換回到平面來得到應該的電勢。
我們這里使用的共形變換是
效果大致如下圖。
對進行改寫,
其中,如果條件良好滿足一些要求,可以確定。
總之,用Lambert W函數的形式來寫,就是
其中,,表示向下取整,Im表示取虛部。在點處的電勢是
Mathematica繪圖
\[Phi][{x_, y_}] :=
With[{z = x + I y},
Im[z - 1 - ProductLog[Ceiling[(y - Pi)/(2 Pi)], Exp[z - 1]]]]
ContourPlot[\[Phi][{x, y}], {x, -2, 10}, {y, -20, 20},
Epilog -> {Red, Thickness[0.02], Line[{{-2, Pi}, {0, Pi}}],
Line[{{-2, -Pi}, {0, -Pi}}]}, ContourShading -> False,
Contours -> 20]
最后,有相關需求歡迎通過公眾號聯系我們.
公眾號:320科技工作室
展開 mathcad14常用內置函數啟蒙之1—基本數學函數
這是mathcad14常用內置函數啟蒙之1—基本數學函數
因為特殊需要,計劃寫幾篇mathcad14的《頁面程序語言啟蒙》,大概包括“常用運算符”、“常用內置函數”、和“符號運算關鍵字”三個部分。
基本數學函數.rar

C語言常用轉換函數實現原理
= '\0' && *str <= '9' && *str >= '0')
{
value = value * 10 + *str - '0'; //將數字字符轉為對應的整形數
str++;
}
if (flag == 0) //負數的情況
{
value = -value;
}
return value;
}
效果:字符串:”-123” 轉為 -123
第二種,如果不帶負號
void StrtoDec(uint32_t *pbDest, char *pbSrc, int nLen)
{
int i;
int tmp=0;
if(nLen > 10)
*pbDest = 0;
tmp = 1;
*pbDest = 0;
for (i=nLen-1; i>=0; i--)
{
*pbDest += tmp*(*(pbSrc+i)-'0');
tmp = tmp*10;
}
}
效果:字符串:”123” 轉為 123
第三種:包含轉為浮點數
//m^n函數
//返回值:m^n次方.
u32 NMEA_Pow(u8 m,u8 n)
{
u32 result=1;
while(n--)result*=m;
return result;
}
//str轉換為數字,以','或者'*'結束
//buf:數字存儲區
//dx:小數點位數,返回給調用函數
//返回值:轉換后的數值
int NMEA_Str2num(u8 *buf,u8*dx)
{
展開 ADAMS常用函數總結!
在使用adams的過程中,由于函數比較多,大概有11種之多,如 1、Displacement Function 2、Velocity Functions 3、 Acceleration Functions 4、 Contact Functions 5、 Spline Functions 6、 Force in Object Functions 7、Resultant Force Functions 8、 Math Functions 9、 Data Element Access 10、User-Written Subroutine Invocation 11、Constants & Variables。
在adams中也有幫助文檔,但是對于初學者來說還是有一定的難度的,基于這種情況我總結了一下幾種常用的函數,希望能夠起到拋磚引玉的作用!
展開 ADAMS的常用函數!
ADAMS的函數種類比較多:
1、Displacement Functions
2、Velocity Functions
3、 Acceleration Functions
4、 Contact Functions
5、 Spline Functions
6、 Force in Object Functions
7、Resultant Force Functions
8、 Math Functions
9、 Data Element Access
10、User-Written Subroutine Invocation
11、Constants & Variables
雖然在ADAMS的幫助文檔有些說明, 但實際使用時初學者可能往往遇到困難,
所以在此,提議大家把自己熟悉的函數簡單說明一下:歡迎踴躍參加!
展開 umat子程序編寫常用的fortran函數分享(一)
計算2*2矩陣的跡:
subroutine trace2x2(a,aii)
implicit none
real(8), intent(in) :: a(2,2)
real(8), intent(out) :: aii
aii = a(1,1)+a(2,2)
return
end subroutine trace2x2
計算3*3矩陣的跡:
subroutine trace3x3(a,aii)
implicit none
real(8), intent(in) :: a(3,3)
real(8), intent(out) :: aii
aii = a(1,1)+a(2,2)+a(3,3)
return
end subroutine trace3x3
將向量(9*1:變形梯度)轉化為3*3矩陣存儲
subroutine vecmat9(dvin,dmout)
implicit none
real(8), intent(in) :: dvin(9)
real(8), intent(out) :: dmout(3,3)
integer :: i
dmout(1,1) = dvin(1)
dmout(1,2) = dvin(2)
dmout(1,3) = dvin(3)
dmout(2,1) = dvin(4)
dmout(2,2) = dvin(5)
dmout(2,3
展開 umat子程序編寫常用的fortran函數分享(四)
subroutine Voigt_to_forth(b,a)
include 'ABA_PARAM.INC'
dimension a(3,3,3,3), b(6,6)
do i = 1,3
do j = 1,3
ia = i
if (i.ne.j) ia=9-i-j
do k = 1,3
do l = 1,3
ib = k
if (k.ne.l) ib=9-k-l
a(i,j,k,l) = b(ia,ib)
if (ia.gt.3) a(i,j,k,l) = a(i,j,k,l) / 2
if (ib.gt.3) a(i,j,k,l) = a(i,j,k,l) / 2
end do
end do
end do
end do
return
end
sgn函數
展開 umat子程序編寫常用的fortran函數分享(三)
計算3*3矩陣的逆矩陣
subroutine inv3x3(A,invA,det)
implicit none
real(8), intent(in) :: A(3,3)
real(8), intent(out) :: invA(3,3), det
integer :: i,j
call deter3x3(A,det)
if (abs(det) < 1e-6) then
invA=0.0d+0
else
invA(1,1)=((A(2,2)*A(3,3))-(A(2,3)*A(3,2)))/det
invA(2,1)=-((A(2,1)*A(3,3))-(A(2,3)*A(3,1)))/det
invA(3,1)=((A(2,1)*A(3,2))-(A(2,2)*A(3,1)))/det
invA(1,2)=-((A(1,2)*A(3,3))-(A(1,3)*A(3,2)))/det
invA(2,2)=((A(1,1)*A(3,3))-(A(1,3)*A(3,1)))/det
invA(3,2)=-((A(1,1)*A(3,2))-(A(1,2)*A(3,1)))/det
invA(1,3)=((A(1,2)*A(2,3))-(A(1,3)*A(2,2)))/det
invA(2,3)=-((A(1,1)*A(2,3))-(A(2,1)*A(1,3)))/det
invA(3,3)=((A(1,1)*A(2,2))-(A(1,2)*A(2,1)))/det
endif
return
end subroutine inv3x3
計算2*2矩陣的逆:
subroutine inv2x2(A
展開 umat子程序編寫常用的fortran函數分享(二)
3*1向量叉乘:
subroutine vecprod(dvin1,dvin2,dvout)
implicit none
real(8), intent(in) :: dvin1(3), dvin2(3)
real(8), intent(out) :: dvout(3)
dvout(1)=dvin1(2)*dvin2(3)-dvin1(3)*dvin2(2)
dvout(2)=dvin1(3)*dvin2(1)-dvin1(1)*dvin2(3)
dvout(3)=dvin1(1)*dvin2(2)-dvin1(2)*dvin2(1)
return
end subroutine vecprod
3*1向量點乘:
subroutine dotprod(dvin1,dvin2,dvout)
implicit none
real(8), intent(in) :: dvin1(3), dvin2(3)
real(8), intent(out) :: dvout(3)
dvout = dvin1(1)*dvin2(1)+dvin1(2)*dvin2(2)+dvin1(3)*dvin2(3)
dvout = abs(dvout)
return
end subroutine dotprod
3*3矩陣的行列式的值:
subroutine deter3x3(dmin,d)
implicit none
real(8), intent(in) :: dmin(3,3
展開 
數控車床常用計算公式及三角函數計算公式,推薦收藏!
直徑Φ 倒角量 a 角度θ 正切函數tan θ 正弦函數 sin θ 余弦函數 cos θ 圓弧半徑R 乘以號x 除以號÷ 先運算( )內結果,再運算【 】,再運算全式。
數控車床必備常用三角函數計算公式,收藏隨時用!
在編程的時候,很多時候會用到函數來計算坐標,而且不是每個車間都會有電腦,如果沒有就無處下手了,相信很多同學都把知識還給老師了,所以學習三角函數就很有必要。。
getMask()討論:Abaqus Part對象的成員變量常用函數 ¥1
但是當開始寫程序的時候才發現一個巨大的坑點:Part對象的Skin函數不接受列表類型的參數或者數組類型的參數,它只接受ABAQUS特定的幾何數組類型或者序列類型,按理說list類型屬于序列類型,但是該函數并不接受。如果通過getSequenceFromMask生成可用faces,mask究竟如何獲得又是一個問題。
mask為什么難以獲得呢?因為getMask()函數是FaceArray對象的成員函數,而該對象的建立是通過part對象建立的(p.faces),它會生成所有faces的合集(比如[0,1,2,3,4,5,6]),而我要進行skin的cell只包含這些faces中的一部分,并且編號是隨機的不可預測的,但是組成該cell的face編號可以通過c.getFaces()((2,3.4,5))。按照我最初的想法,我有了這些面的ID號,把它們從p.faces中讀取出來重新組合就可以了,但是組合完成的類型是list,Skin函數不接受它作為參數。我嘗試了多種方法均不能將最終的結果轉化成Skin可以使用的格式。并且由于組合后的不是abaqus的幾何數組類型,所以它并沒有getMask()方法,也就無法通過該方法獲得可以使用的mask。
無奈之下只好使用getSequenceFromMask函數,這就要解決一個麻煩的問題:getSequenceFromMask的mask值究竟怎么來?目前看來唯一的辦法就是解密getMask()函數。(未知原因,公司網絡連接不了ABAQUS幫助文件。)
展開 #ABAQUS2016常用庫函數Numpy,Scipy,Xlrd及Xlwt,Reportlab安裝
網絡資源http://blog.sina.com.cn/s/blog_14f71f4ef0102x1y2.html
當用abaqus進行二次開發的時候,為了充分利用python的強大計算編程功能,因此為abaqus中的python文件安裝常用的庫函數文件,像Numpy,Scipy,Xlrd和Xlwt等非常有用,接下來講解如何安裝這些插件。
值得注意的是,由于python主要有2.7和3.4兩個版本,對庫函數的安裝要嚴格相對應,Windows還分是32位還是64位,這些都要嚴格對應,對應不成功,安裝的插件很可能就用不了。當用abaqus進行二次開發的時候,為了充分利用python的強大計算編程功能,因此為abaqus中的python文件安裝常用的庫函數文件,像Numpy,Scipy,Xlrd和Xlwt等非常有用,接下來講解如何安裝這些插件。
首先查看自己的abaqus中安裝的是哪個python版本,查看abaqus中的python版本的方法如下:如圖1,點擊Abaqus Command,打開Abaqus 命令;再在命令窗口輸入:abaqus python回車,就可以看到abaqus2016安裝的是python2.7.3這個版本。由于我的電腦安裝是Win7 64位,安裝的abaqus2016也是64位的。因此在自己的電腦上也安裝python 2.7.3 64位的python軟件,這樣在python2.7.3中安裝的插件直接拷貝到ababqus2016的python中就可以直接使用了。接下來講解如何安裝插件。由于abaqus中的python中已經集成了Numpy插件,因此不用再安裝這個插件了。
展開