<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > Mathematica入門(mén)教程之Mathematica的基本語(yǔ)法特征

          Mathematica入門(mén)教程之Mathematica的基本語(yǔ)法特征

          作者: 時(shí)間:2011-11-02 來(lái)源:網(wǎng)絡(luò) 收藏

          如果你是第一次使用,那么以下幾點(diǎn)請(qǐng)你一定牢牢記?。?/P>

          中大寫(xiě)小寫(xiě)是有區(qū)別的,如Name、name、NAME等是不同的變量名或函數(shù)名。

          系統(tǒng)所提供的功能大部分以系統(tǒng)函數(shù)的形式給出,內(nèi)部函數(shù)一般寫(xiě)全稱(chēng),而且一定是以大寫(xiě)英文字母開(kāi)頭,如Sin[x],Conjugate[z]等。

          乘法即可以用*,又可以用空格表示,如2 3=2*3=6 ,x y,2 Sin[x]等;乘冪可以用“^”表示,如x^0.5,Tan[x]^y。

          自定義的變量可以取幾乎任意的名稱(chēng),長(zhǎng)度不限,但不可以數(shù)字開(kāi)頭。

          當(dāng)你賦予變量任何一個(gè)值,除非你明顯地改變?cè)撝祷蚴褂肅lear[變量名]或“變量名=.”取消該值為止,它將始終保持原值不變。

          一定要注意四種括號(hào)的用法:()圓括號(hào)表示項(xiàng)的結(jié)合順序,如(x+(y^x+1/(2x)));[]方括號(hào)表示函數(shù),如Log[x],BesselJ[x,1];{}大括號(hào)表示一個(gè)“表”(一組數(shù)字、任意表達(dá)式、函數(shù)等的集合),如{2x,Sin[12 Pi],{1+A,y*x}};[[]]雙方括號(hào)表示“表”或“表達(dá)式”的下標(biāo),如a[[2,3]]、{1,2,3}[[1]]=1。

          的語(yǔ)句書(shū)寫(xiě)十分方便,一個(gè)語(yǔ)句可以分為多行寫(xiě),同一行可以寫(xiě)多個(gè)語(yǔ)句(但要以分號(hào)間隔)。當(dāng)語(yǔ)句以分號(hào)結(jié)束時(shí),語(yǔ)句計(jì)算后不做輸出(輸出語(yǔ)句除外),否則將輸出計(jì)算的結(jié)果。

          一.數(shù)的表示及計(jì)算                                                      

          1.在Mathematica中你不必考慮數(shù)的精確度,因?yàn)槌悄阒付ㄝ敵鼍龋琈athematica總會(huì)以絕對(duì)精確的形式輸出結(jié)果。例如:你輸入

          In[1]:=378/123,系統(tǒng)會(huì)輸出Out[1]:=126/41,如果想得到近似解,則應(yīng)輸入

          In[2]:=N[378/123,5],即求其5位有效數(shù)字的數(shù)值解,系統(tǒng)會(huì)輸出Out[2]:=3.073

          2,另外Mathematica還可以根據(jù)你前面使用的數(shù)字的精度自動(dòng)地設(shè)定精度。

            Mathematica與眾不同之處還在于它可以處理任意大、任意小及任意位精度的數(shù)值,如100^7000,2^(-2000)等數(shù)值可以很快地求出,但在其他語(yǔ)言或系統(tǒng)中這是不可想象的,你不妨試一試N[Pi,1000]。

          Mathematica還定義了一些系統(tǒng)常數(shù),如上面提到的Pi(圓周率的精確值),還有E(自然對(duì)數(shù)的底數(shù))、I(復(fù)數(shù)單位),Degree(角度一度,Pi/180),Infinity(無(wú)窮大)等,不要小看這些簡(jiǎn)單的符號(hào),它們包含的信息遠(yuǎn)遠(yuǎn)大于我們所熟知的它們的近似值,它們的精度也是無(wú)限的。

          二.“表”及其用法

          “表”是Mathematica中一個(gè)相當(dāng)有用的數(shù)據(jù)類(lèi)型,它即可以作為數(shù)組,又可以作為矩陣;除此以外,你可以把任意一組表達(dá)式用一個(gè)或一組{}括起來(lái),進(jìn)行運(yùn)算、存儲(chǔ)。可以說(shuō)表是任意對(duì)象的一個(gè)集合。它可以動(dòng)態(tài)地分配內(nèi)存,可以方便地進(jìn)行插入、刪除、排序、翻轉(zhuǎn)等等幾乎所有可以想象到的操作。

            如果你建立了一個(gè)表,你可以通過(guò)下表操作符[[]](雙方括號(hào))來(lái)訪(fǎng)問(wèn)它的每一個(gè)元素,如我們定義table={2,Pi,Sin[x],{aaa,A*I}}為一個(gè)表,那么table[[1]]就為2,table[[2]]就是Pi,而table[[3,1]]表示嵌套在table中的子表{aaa,A*I}的第一個(gè)元素即aaa,table[[3,2]]表示{aaa,A*I}第二個(gè)元素即A*I。總之,表每一層次上并列的部分用逗號(hào)分割,表可以無(wú)窮嵌套。

          你可以通過(guò)Append[表,表達(dá)式]或Prepend[表,表達(dá)式]把表達(dá)式添加到表的最前面或最后面,如Append[{1,2,3},a]表示{1,2,3,a}。你還可以通過(guò)Union[表1,表2,......],Jion[表1,表2,......]來(lái)把幾個(gè)表合并為一個(gè)表,二者不同在于Union在合并時(shí)刪除了各表中重復(fù)的元素,而后者僅是簡(jiǎn)單的合并;你還可以使用Flatten[表]把表中所有子表"抹平"合并成一個(gè)表,而Patition[表,整數(shù)n]把表按每n個(gè)元素分段作為子表,集合成的表。如Flatten[{1,2,{Sin[x],dog},{{y}}}]表示{1,2,Sin[x],y},而Partition[{1,2,Sin[x],y},2]把表每?jī)蓚€(gè)分段,結(jié)果為{{1,2},{Sin[x],y}};還可以通過(guò)Delete[表,位置]、Insert[表,位置]來(lái)向表中按位置插入或刪除元素,如要?jiǎng)h除上面提到的table中的aaa,你可以用Delete[table,{3,1}]來(lái)實(shí)現(xiàn);Sort[表]給出了表中各元素的大小順序,Reverse[表]、RotateLeft[表,整數(shù)n]、RotateRight[表,整數(shù)n]可以分別將一個(gè)表進(jìn)行翻轉(zhuǎn)、左轉(zhuǎn)n個(gè)元素、右轉(zhuǎn)n個(gè)元素等操作,Length[表]給出了表第一個(gè)層次上的元素個(gè)數(shù),Position[表,表達(dá)式]給出了表中出現(xiàn)該表達(dá)式的位置,Count[表,表達(dá)式]則給出表達(dá)式出現(xiàn)的次數(shù)。各種表的操作函數(shù)還有很多,這里就不再一一介紹了。

          三.圖形函數(shù)

          Mathematica的圖形函數(shù)十分豐富,用寥寥幾句就可以畫(huà)出復(fù)雜的圖形,而且可以通過(guò)變量和文件存儲(chǔ)和顯示圖形,具有極大的靈活性。


          上一頁(yè) 1 2 3 4 5 6 7 8 9 下一頁(yè)

          關(guān)鍵詞: Mathematica 入門(mén)教程 Mathematica

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();