Julia語言矩陣運算入門

      網友投稿 1070 2025-04-02

      在科學計算領域,一直對性能有較高的要求,Julia是一個新的高性能動態高級編程語言,功能強大,語法簡潔,易于用戶學習。它擁有豐富的函數庫,提供了數字精度和分布式并行運行方式。它內部使用Just-in-Time實時編譯器很有效地提高了它的運行效率,有些場景下能比得上C和C++。

      根據官網的介紹,Julia 是一門支持過程式、函數式和面向對象的多范式語言。 它像 R、MATLAB 和 Python 一樣簡單,在高級數值計算方面有豐富的表現力,并且支持通用編程。 為了實現這個目標,Julia 以數學編程語言(mathematical programming languages)為基礎,同時也參考了不少流行的動態語言,例如?Lisp、Perl、Python、Lua、和?Ruby。Julia中文文檔可見網站 https://docs.juliacn.com/latest/ 。

      Julia語言矩陣運算入門

      Julia 還擁有以下優勢:

      采用?MIT 許可證:免費又開源

      用戶自定義類型的速度與兼容性和內建類型一樣好

      無需特意編寫向量化的代碼

      為并行計算和分布式計算設計

      輕量級協程支持

      低調又牛逼的類型系統

      優雅、可擴展的類型轉換和類型提升

      對?Unicode?的有效支持,包括但不限于?UTF-8

      直接調用 C 函數,無需封裝或調用特別的 API

      像 Shell 一樣強大的管理其他進程的能力

      像 Lisp 一樣的宏和其他元編程工具

      下面給出一些Julia處理矩陣的示例,感覺和Matlab很像,示例如下:

      julia> a = [ 1 3 5 ; 2 6 8] 2×3 Array{Int64,2}: 1 3 5 2 6 8 julia> a[1,:] 3-element Array{Int64,1}: 1 3 5 julia> a[1:2,1] 2-element Array{Int64,1}: 1 2 julia> b = a' 3×2 LinearAlgebra.Adjoint{Int64,Array{Int64,2}}: 1 2 3 6 5 8

      julia> a = [ 1 2 3 ; 4 5 6 ; 7 8 9 ] 3×3 Array{Int64,2}: 1 2 3 4 5 6 7 8 9 julia> a * a 3×3 Array{Int64,2}: 30 36 42 66 81 96 102 126 150 julia> a ^ 2 3×3 Array{Int64,2}: 30 36 42 66 81 96 102 126 150 julia> a .^ 2 3×3 Array{Int64,2}: 1 4 9 16 25 36 49 64 81

      注意:矩陣運算這里的? .^2? 和 ^2 的區別。

      Julia 有一個用于表示整數精確比值的分數類型。分數通過?//?運算符,示例如下:

      julia> inv(2//3) 3//2 julia> pi π = 3.1415926535897... julia> (3 // 5) * (2 // 3) 2//5 julia> rationalize(0.5) 1//2 julia> denominator(2//3) 3 julia> numerator(2//3) 2

      Julia還支持約等于?≈,示例如下:

      julia> 0.1 ≈ (0.1 - 1e-10) true

      julia> function f(x,y) x^2+2x*y+y^2 end f (generic function with 1 method) julia> f(2,3) 25 julia> 1:5 |> sum |> sqrt 3.872983346207417 julia> ["a", "list", "of", "strings"] .|> [uppercase, reverse, titlecase, length] 4-element Array{Any,1}: "A" "tsil" "Of" 7 julia> a = [2 4 8] 1×3 Array{Int64,2}: 2 4 8 julia> sqrt.(a) 1×3 Array{Float64,2}: 1.41421 2.0 2.82843

      julia> println(factorial(big(15))) 1307674368000 julia> println(factorial(big(1000))) 402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

      關于Julia的其他語法還有比較多,這里先介紹到這里,后期再進行介紹。

      C#

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格里自動調整行高的方法
      下一篇:word怎么重新編號(word怎么重新編號頁碼)
      相關文章
      亚洲国产婷婷香蕉久久久久久| 亚洲国产中文字幕在线观看| 亚洲国产精品无码AAA片| 亚洲成?Ⅴ人在线观看无码| 亚洲精品无码你懂的| 久久久久亚洲AV无码去区首| 亚洲首页国产精品丝袜| 亚洲娇小性xxxx色| 亚洲久悠悠色悠在线播放| 久久久久亚洲国产| 亚洲日韩国产二区无码| 亚洲成a人片在线不卡一二三区| 亚洲欧好州第一的日产suv| 亚洲AV无码资源在线观看| 春暖花开亚洲性无区一区二区| 国产精品亚洲综合网站| 亚洲黄片手机免费观看| 国产亚洲AV夜间福利香蕉149| 亚洲永久精品ww47| 亚洲AV无码国产丝袜在线观看| 久久精品国产精品亚洲色婷婷| 亚洲av福利无码无一区二区| 亚洲尹人香蕉网在线视颅| 亚洲国产成人精品电影| 午夜在线a亚洲v天堂网2019| 亚洲精品成a人在线观看夫| 国产综合激情在线亚洲第一页 | 亚洲综合区小说区激情区| 久久精品国产亚洲AV不卡| 亚洲精品自产拍在线观看| 亚洲AV区无码字幕中文色| 久久综合亚洲鲁鲁五月天| 亚洲午夜精品在线| 亚洲精品乱码久久久久蜜桃| 午夜亚洲国产成人不卡在线| 久久久久亚洲AV成人网人人网站| 国产亚洲免费的视频看| 在线观看亚洲人成网站| 亚洲视频在线观看2018| 国产成人亚洲精品蜜芽影院| 国产专区一va亚洲v天堂|