Julia程序设计1 介绍和基础数学运算
Julia程序設(shè)計(jì)1 介紹和基礎(chǔ)數(shù)學(xué)運(yùn)算
- 介紹
- 簡(jiǎn)單數(shù)學(xué)運(yùn)算
介紹
本來(lái)打算用Matlab來(lái)寫(xiě)MATH 575A和MATH 575B的筆記的,但最近關(guān)于Matlab的新聞讓我覺(jué)得可能還是用免費(fèi)開(kāi)源又強(qiáng)大的Julia比較好。這個(gè)系列的博文介紹Julia程序設(shè)計(jì)和數(shù)值計(jì)算,我也是從Matlab轉(zhuǎn)戰(zhàn)Julia的,就邊學(xué)邊寫(xiě)吧。
Julia下載安裝比較簡(jiǎn)單,在https://julialang.org/downloads/就可以下載
我選的是JuliaPro 1.4.2-1 Windows版本的,安裝過(guò)程就選了一下路徑。安裝好后打開(kāi)JuliaPro 1.4.2-1界面長(zhǎng)這樣(三個(gè)框框是我加的。。。)
這個(gè)界面我覺(jué)得還是比較友好的,第一欄是菜單欄,左邊豎著的是工具欄,整個(gè)界面分為三個(gè)區(qū)域:Atom、REPL和Workplace。藍(lán)框框是編輯器Atom,綠框框是Workplace,黃框框里面的是REPL(Read-Eval-Print-Loop),官方的解釋是
? it reads what a user types,
? the compiler evaluates what it reads,
? it prints out the return value after evaluation, and
? it loops back and does it all over again.
其實(shí)就是命令行窗口。在REPL中輸入命令可以按tab鍵自動(dòng)補(bǔ)全,輸入?加函數(shù)或命令可以搜索幫助文檔,輸入?后REPL會(huì)從Julia mode變成help mode,比如? println:
help?> println search: println printstyled print sprint isprintprintln([io::IO], xs...)Print (using print) xs followed by a newline. If io is not supplied, prints to stdout.Examples≡≡≡≡≡≡≡≡≡≡julia> println("Hello, world")Hello, worldjulia> io = IOBuffer();julia> println(io, "Hello, world")julia> String(take!(io))"Hello, world\n"簡(jiǎn)單數(shù)學(xué)運(yùn)算
更具體的可以參考Julia中文文檔https://juliacn.readthedocs.io/en/latest/manual/mathematical-operations.html
1)復(fù)數(shù)表示: A+Bim
julia> 1+1im 1 + 1imjulia> 2+(1+1im) 3 + 1imjulia> 2.0+(1+1im) 3.0 + 1.0imjulia> (2.0+2.0im)+(1.0+1.0im) 3.0 + 3.0im注意im和虛部B之間不能有空格,不然會(huì)報(bào)錯(cuò)
julia> 1 + 1 im ERROR: syntax: extra token "im" after end of expression2)有理數(shù)表示:Rational(A,B)
julia> Rational(2,3) 2//3julia> Rational(2,3)+2 8//3julia> Rational(2,3)+2.0 2.6666666666666665注意第一個(gè)R是要大寫(xiě)的,不然會(huì)報(bào)錯(cuò)
julia> rational(2,3) ERROR: UndefVarError: rational not defined Stacktrace:[1] top-level scope at none:03)常用的常數(shù)
π\(zhòng)piπ和eee是非常常用的兩個(gè)常數(shù),在Julia中這兩個(gè)常數(shù)被預(yù)定義為pi和?
注意這里的 ? 不是英語(yǔ)字母e!在Julia中的輸入方法是先輸入\euler再按tab就會(huì)轉(zhuǎn)換成?,因?yàn)镴ulia是支持Unicode字符輸入的,通用方法是輸入符號(hào)的Unicode,按tab即可,根據(jù)這個(gè)方法可以定義希臘字母變量
julia> α,β=0,1;julia> α,β (0, 1)4)真值:true,false
做數(shù)值計(jì)算時(shí)true被當(dāng)成1,false被當(dāng)成0
賦值的時(shí)候要注意不能直接=true,要用=Bool(true),并且首字母要大寫(xiě),不然會(huì)報(bào)錯(cuò)
julia> a = Bool(true) truejulia> a = bool(true) ERROR: UndefVarError: bool not defined Stacktrace:[1] top-level scope at none:05)算數(shù)運(yùn)算
再補(bǔ)充一個(gè)整除÷
6)比較運(yùn)算
有幾個(gè)比較特殊的值:
? Positive zero is equal but not greater than negative zero.
? Inf is equal to itself and greater than everything else except NaN.
? -Inf is equal to itself and less then everything else except NaN.
? NaN is not equal to, not less than, and not greater than anything,
including itself.
以及相應(yīng)的用來(lái)判斷的函數(shù):
7)邏輯運(yùn)算
第一個(gè)a改成!a,異或運(yùn)算符號(hào)是?,上表給的符號(hào)已經(jīng)沒(méi)有再使用了,或者用函數(shù)xor(a,b)
8)復(fù)合賦值運(yùn)算
這個(gè)和C語(yǔ)言的很像,沒(méi)什么特別的。
9)運(yùn)算優(yōu)先級(jí)
優(yōu)先級(jí)從上到下遞減:
總結(jié)
以上是生活随笔為你收集整理的Julia程序设计1 介绍和基础数学运算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 矩阵分析与多元统计12 0-1矩阵 交换
- 下一篇: Julia程序设计2 数值类型