是美國公司出品的商業(yè)數(shù)學軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括和兩大部分。和、Maple并稱為三大數(shù)學軟件。它在數(shù)學類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。
簡介
是美國公司出品的商業(yè)數(shù)學軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括和兩大部分。和、Maple并稱為三大數(shù)學軟件。它在數(shù)學類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。
可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。
功能特性
應(yīng)用
產(chǎn)品族可以用來進行以下各種工作:
的應(yīng)用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設(shè)計、測試和測量、財務(wù)建模和分析以及計算生物學等眾多應(yīng)用領(lǐng)域。附加的工具箱(單獨提供的專用函數(shù)集)擴展了 環(huán)境,以解決這些應(yīng)用領(lǐng)域內(nèi)特定類型的問題。
C語言簡介
C語言是一門通用計算機編程語言,應(yīng)用廣泛。C語言的設(shè)計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。
C語言基本特性
高級語言
它是把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來的工作單元。
結(jié)構(gòu)式語言
結(jié)構(gòu)式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦阌谑褂谩⒕S護以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。
代碼級別的跨平臺
由于標準的存在,使得幾乎同樣的C代碼可用于多種操作系統(tǒng),如、DOS、UNIX等等,也適用于多種機型。C語言對編寫需要進行硬件操作的場合,優(yōu)于其它高級語言。
使用指針
可以直接進行靠近硬件的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由于這些改進增加語言的復(fù)雜度,也為另一部分所詬病。
Java則吸取了C++的教訓,取消了指針操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低于C++/C。一般而言c++判斷是否在虛擬機中,C/C++/java被視為同一系的語言,它們長期占據(jù)著程序使用榜的前三名。
特有特點
C語言是一個有結(jié)構(gòu)化程序設(shè)計、具有變量作用域( scope)以及遞歸功能的過程式語言;C語言傳遞參數(shù)均是以值傳遞(pass by value),另外也可以傳遞指針(a by value);不同的變量類型可以用結(jié)構(gòu)體()組合在一起;只有32個保留字( ),使變量、函數(shù)命名有更多彈性;部份的變量類型可以轉(zhuǎn)換,例如整型和字符型變量;通過指針(),C語言可以容易的對存儲器進行低級控制;預(yù)編譯處理()讓C語言的編譯更具有彈性;
與C語言的區(qū)別
的底層是C寫的,C的效率比要高,但語法簡單多了而且簡單,但執(zhí)行效率不高是用于特定的方面的,比如說矩陣運算方面、DSP就很有優(yōu)勢。
而C語言不同,很多軟件的底層都是C編寫的提供的是一種基于解釋的語言,雖然也是一種高級語言,但是還是很簡單的,它的目標在于用戶方便,開發(fā)簡單。而實際上這些方便也是有代價的,編譯器承受了這些代價,程序執(zhí)行效率方面也有損失。
另一方面這么做也是基于其專用于科學計算的目的來考慮的,無法應(yīng)用于通用的程序設(shè)計。c語言這么做保持了其編譯的速度,便于大型程序設(shè)計c++判斷是否在虛擬機中,執(zhí)行效率也很高,如os等百萬行以上的代碼。
同時c語言來做很多計算以外的應(yīng)用環(huán)境,如邏輯判斷,I/o操作等嵌入式應(yīng)用,如編譯器。顯然基于向量的計算優(yōu)化,對于這些應(yīng)用反而是負擔。當然還有別的原因,我暫時還想不完整,但是這些已經(jīng)足夠說明了兩者的不同啦。一句話,應(yīng)用的范圍、目的不同,語言的設(shè)計也當然風格迥異了。
是一種解釋性語言,集成化,專門用于和數(shù)學相關(guān)的工程計算,數(shù)值運算是很簡便強大,用起來很方便,比如: 求數(shù)組A的最大值的程序如下:A=[1 2 3 4 5 6],%把值賦給A max(A)%,求最大值,結(jié)果就出來了。
而C語言就麻煩的多C語言是面向?qū)ο蟮幕A(chǔ)語言,更多的用于底層函數(shù)開發(fā),軟件開發(fā),單片機控制等。能做的C語言肯定能做,但是一般要麻煩的多,而C語言能做的不一定能做。
形式上最容易發(fā)現(xiàn)的區(qū)別是,是一句一句編譯的,而c語言是對一個完整的代碼段進行編譯的,并且c中有頭文件(#(。。。)),而中沒有,對于數(shù)值運算是很簡便強大的,c就有點繁瑣,對于算法要求c相對更高點。
主要優(yōu)勢是集成了強大的數(shù)學計算功能,對大規(guī)模數(shù)據(jù)的計算精度和效率可以保證。中集成了很多數(shù)學計算函數(shù),能很方便的調(diào)用,而c語言,你一定知道,任何一個算法都需要自己設(shè)計并調(diào)試,以保證程序能正確執(zhí)行。
優(yōu)勢在于大規(guī)模矩陣運算、解常微分、偏微分方程,包括圖像識別、人工智能、濾波等等,可以說,是一個專業(yè)的數(shù)學軟件,一個高效的專業(yè)工具。 一句話概括,集成了很多數(shù)學計算功能,專注于數(shù)學計算領(lǐng)域,而c語言是一個更大眾化的程序平臺。
是解釋型腳本,c語言是編譯執(zhí)行的語言,簡單說的解釋程序是看一句代碼執(zhí)行一次,而C語言的編譯器必須編譯好源文件生成目標代碼,再執(zhí)行整個目標代碼。
底層是C/C++實現(xiàn)的。.m文件可以使用內(nèi)置的mcc命令編譯成exe文件。