
JuliaNote
chder_白南
无话可说
展开
-
Julia:juliaPro1.0.1 Plots画图并保存
julia> using Plotsjulia> gr()Plots.GRBackend()julia> plot(rand(10),rand(10))julia> savefig("1.png")julia>原创 2018-10-16 21:49:23 · 5610 阅读 · 0 评论 -
julia:字符串操作
s1 = "The quick brown fox jumps over the lazy dog α,β,γ"# returns the first index of a chari = search(s1, 'b')println(i)#> 11# the second argument is equivalent to the second argument of spli...原创 2018-09-23 19:28:25 · 966 阅读 · 0 评论 -
julia:String:转化和输出格式化
# String: 转化和格式化# strings can be converted using float and Inte_str1 = "2.718"e = float(e_str1)println(5*e)#> 13.5914num_15 = parse(Int, "15") # 对于整数的字符串,需要Int与parse配合使用println(3*num_15)#&g...原创 2018-09-23 19:06:02 · 2934 阅读 · 0 评论 -
julia:字符串基本知识
# strings are defined with double quotess1 = "The quick brown fox jumps over the lazy dog α,β,γ"println(s1)# println: adds a new line to the end of output# print: can be used if u dont want adds ...原创 2018-09-23 18:45:44 · 357 阅读 · 0 评论 -
Julia:如何调用其他sub文件中的函数
# 本文将简单地介绍julia如何其他sub文件中的函数# 1. 先创建一个sub.jl文件。内容如下:function fun1(x::Float64, y::Float64) z = x + yendfunction fun2(x::Float64, y::Float64) z = x * yend# 2. 建立主程序文件main.jl。内容如下:includ...原创 2018-08-25 18:37:09 · 2263 阅读 · 0 评论 -
Julia:如何优雅的改变数组的下标
# 楼主原来一直用fortran语言写代码,最近想学学julia语言。在数组下标这块感觉和fortran有点不一样。特此记录# 在fortran中,比如定义如下数组# real(kind=8) :: a(10) !// 表示有10个元素,默认下标从1开始,即a(1),a(2),...,a(10)# 当然你也可以指定下标的起始位置与终止位置,比如# real(kind=8) :: a(-5...原创 2018-08-19 22:11:30 · 1917 阅读 · 0 评论 -
Julia: 1.0读取文本文件
# 有如下数据1,23,45,67,89,10# 说明,本例代码在julia1.0上测试通过# 直接用数组读取using DelimitedFilesa = readdlm("123.txt", ',') # 数据之间用英文逗号隔开,注意readdlm中是单引号# a = readdlm("123.txt") # 读取用空格分割的数据println(a)for i i...原创 2018-08-18 17:35:49 · 2842 阅读 · 0 评论 -
Julia:基本线性代数--函数使用方法
在开始讲解之前,我们先建立一个简单的线性系统:A = rand(3,3)x = fill(1, (3,1))b = A * x**Factorizations:**1. LU分解PA = LU此处P为置换矩阵,L是下三角矩阵(对角线元素为1),U是上三角矩阵julia使用函数lufact可以获得矩阵A,L,UAlu = lufact(A) # 在julia1.0中,Alu =...原创 2018-08-08 23:37:44 · 3881 阅读 · 0 评论 -
Julia:1.0更新后有关文件的函数
本文将简要介绍julia1.0发布以后,有关文件的函数介绍下面的代码为批量产生10个文本文件,并在每个文本文件中写入其文件名的示例代码using DelimitedFilesn = 10filelist = Vector{String}(undef,n) # 用来存储文件名的字符串数组for i in 1:n filelist[i] = string(i, ".txt") ...原创 2018-08-15 13:05:06 · 1069 阅读 · 0 评论 -
Julia:数组简介
function printsum(a) # summary generates a summary of an object println(summary(a), ": ", repr(a))end# arrays can be initialised directly:a1 = [1, 2, 3]printsum(a1)# or initialised emp...原创 2018-09-24 17:35:43 · 2071 阅读 · 0 评论 -
Julia:高维数组
function printsum(a) # summary generates a summary of an object println(summary(a), ": ", repr(a))end# repeat can be useful to expand a gridm1 = hcat(repeat([1,2], inner=[1], outer=[3*2])...原创 2018-09-24 20:24:21 · 1082 阅读 · 0 评论 -
Julia:Dict的用法以及一些dict的常用函数
function printsum(a) println(summary(a), ": ", repr(a))end# dicts can be initialised directly:a1 = Dict(1=>"one", 2=>"two")printsum(a1)#> Dict{Int64,String} with 2 entries: Dict(2=...原创 2018-09-25 13:53:59 · 2355 阅读 · 0 评论 -
Julia:juliaPro1.0.1使用Plots画图题记
千呼万唤始出来,juliaPro1.0.1终于出来了。在使用Plots画图时,与以前有点不一样,现在记录如下。juliaPro1.0.1首先要安装Plots。本人安装步骤如下:1. using Pkg2. Pkg.add("Plots")耐心等待安装完成......3. using GR测试代码如下:using GRx = rand(100);y = rand(100);p...原创 2018-10-15 22:29:00 · 4497 阅读 · 0 评论 -
julia:挑选每个旧数据文件中的数据写入新数据文件
在处理数据的过程中,我们有时候要对旧文件中的数据进行挑选,写入新的数据文件本博文给出julia0.6下运行的程序n = 10# 打开要写入数据的文件名newfile = open("newfile.txt", "w")for i = 1:n filename = string(i, ".txt") fileio = open(filename, "r") # 打开每一...原创 2018-09-22 23:55:21 · 303 阅读 · 0 评论 -
julia:1.0依次对多个文件中写入数据
using DelimitedFilesn = 10for i = 1:n filename = string(i, ".txt") fileio = open(filename, "w") # 注意这里是双引号 # writedlm(fileio, [1 2 3]) 按行写 # writedlm(fileio, [1, 2, 3]) 按列写 writ...原创 2018-09-22 23:34:37 · 875 阅读 · 0 评论 -
julia:simple function
# function to calculate the volume of a spherefunction sphere_vol( r ) return 4/3*pi*r^3end# 如果函数只有一个表达式,可以用下面简洁的形式quadratic( a, sqr_term, b ) = ( -b + sqr_term ) / 2*a# 计算x 0 = * x ^ 2 + b...原创 2018-09-22 22:43:50 · 338 阅读 · 0 评论 -
Julia:DataFrame简介
using DataFramesshowln(x) = (show(x); println()) # 这句代码很重要# A DataFrame is an in-memory databasedf = DataFrame(A = [2, 5], B = [e, pi], C = ["x", "y"])showln(df)#> 2x3 DataFrame#> |----...原创 2018-09-25 20:32:42 · 1690 阅读 · 0 评论 -
Julia:IO简介
fname = "test.txt"# using [do] means the file is closed automaticallyopen(fname,"r") do f for line in eachline(f) print(line, "\n") endend#> this is a simple file containing#> text ...原创 2018-09-25 20:16:15 · 588 阅读 · 0 评论 -
Julia:type的用法
# 这一节讲解type的使用function printsum(a) println(summary(a), ": ", repr(a))endtype Person name::AbstractString male::Bool age::Float64 children::Int64endperson1 = Person("luk", f...原创 2018-09-25 19:58:43 · 681 阅读 · 1 评论 -
Julia:loops与map
for i in 1:5 print(i, ", ")end#> 1, 2, 3, 4, 5,# =与in作用相同print("\n")for i = 1:5 print(i, ", ")endprint("\n")# array can also be looped over directly:a1 = [1,2,3,4,5]for i in a1...翻译 2018-09-25 19:40:15 · 292 阅读 · 0 评论 -
Julia:Multiple dispatch
Multiple dispatch是julia语言的一大特色,也叫多重分派。可以使Julia更通用更快捷。为了理解Multiple dispatch,我们看下面的例子。f(x) = x^2julia语言会自动判断接收参数的类型并对其进行运算f(10) = 100而对于f([1,2,3,4])则会报错,因为在数学里没有定义两个向量相乘,只定义了两个向量的内积**指定输入参数的类型**...原创 2018-08-07 22:37:37 · 1051 阅读 · 1 评论 -
Julia如何使用Plots(不是PyPlot)
# 本人为了使用Plots简直快吐血了,因为是新手,对整体流程拿捏很不清楚。现在把我的经历写成log,供大家参考# 本人一开始安装了PyPlot,但是用得很不舒服。在网上重新寻找别的package,感觉Plots更适合我的口味。再安装了PyPlot之后add Plots各种报错。# 最终不得以把.julia下的lib文件夹以及cache文件夹删除。重新Pkg.add("Plots").这次安装...原创 2018-08-07 20:15:47 · 9353 阅读 · 1 评论 -
Julia如何读取有注释的数据
# 假设文本文件test.txt中有如下数据100,200,300 # this is the number# 如何只读取前三个数据呢?注意这里的英文逗号以及300后面的空格都是要有的(阵对本文的方法)str = readuntil("test.txt"," ")list = Vector{String}(3) # 这里的3是文件中所要读取的数据个数list = split(str...原创 2018-08-07 15:42:03 · 721 阅读 · 0 评论 -
julia如何向文本文件中写入数据
# 本文将简要介绍怎样向文本文件中写入数据# 代码如下x = linspace(1,10,10)y = linspace(11,20,10)f = open( "dat.txt", "a" ) # 由于一开始可能并没有dat.txt,所以这里用"a"for i = 1:length(x) writecsv( f,[x[i],y[i]] )end close( f )#...原创 2018-08-05 13:11:37 · 4587 阅读 · 1 评论 -
julia如何批量产生文本文件
# 本代码将展示如何批量产生文本文件# 第一种方法:利用外部程序实现[可参考我写的这一篇博文](https://blog.youkuaiyun.com/chd_lkl/article/details/81430166)n = 10for i = 1:n str = string( i, ".txt" ) run( `touch $str` )end # 第二种方法,利用Julia语...原创 2018-08-05 13:03:05 · 499 阅读 · 0 评论 -
julia如何运行外部程序
# 在写代码的过程中,有时候会用到外部程序# julia提供了run函数可以实现, run的函数格式为run( `command line` ): 此处的command line以linux/unix命令行为准# 比如要创建10个文件夹(win10环境)n = 10for i = 1:n str = string( i ) run( `mkdir $str` ) # 此...原创 2018-08-05 12:57:25 · 2625 阅读 · 0 评论 -
julia如何从屏幕读取数据
# 本博文将简单讲述julia如何从屏幕输入数据(包括字符与数字)str = readline() # 在屏幕上输入数据a,b时,用英文逗号分隔开a, b = split( str, "," )println( "a : ", a )println( "b : ", b )...原创 2018-08-05 12:50:18 · 1417 阅读 · 0 评论 -
julia读取含有字符和数字的文本数据
# 假设有如下的文本文件dat.txta, 1.0b, 2.0c, 3.0d, 4.0e, 5.0f, 6.0g, 7.0# 目标:只存储第二列数据到数组f = open( "dat.txt", "r" )n = countlines( f )seekstart( f )x = zeros(n)for i = 1:n str1, str2 = split( r...原创 2018-08-05 12:45:39 · 1892 阅读 · 0 评论 -
julia读取文本中的中英文字符
# 假设有文本文件中存储中英文字符如下chineseenglish我爱周杰伦# -----------------------------# 代码如下f = open( "str.txt", "r" )n = countlines( f )seekstart( f )for i = 1:n str = readline( f ) println( str )...原创 2018-08-05 12:36:11 · 475 阅读 · 0 评论 -
Julia:用benchmarkTools检测Performance
在julia中优化代码的一种方法是确保类型的稳定性。如果函数中一些变量的类型不确定,编译器无法对这些变量进行确认,执行效率就会降低。当函数内部变量的类型是确认时,执行效率会提高我们来看下面的两个函数func1和func2下面的代码就是典型的函数内部变量类型“模糊”现象:因为输出时的数据类型可能是Float,Int,Rationalfunction func1() s = ran...原创 2018-08-09 16:05:26 · 1411 阅读 · 0 评论 -
julia读取纯数字的文本数据方法
# 假设有文本文件dat.txt,里面存储的数据如下1,22,33,44,55,6# **用第一种方式读取,上面数据末尾的空行一定要有**# 下面本文将演示如何读取# 第一种方法f = open( "dat.txt", "r" )n = countlines( f ) # 计算数据行数seekstart( f ) # 返回文件起始位置for i = 1:n ...原创 2018-08-05 09:15:13 · 3236 阅读 · 0 评论 -
julia如何同时打开多个文本文件并对其写入数据
# 本文将简要介绍一下如何同时打开多个文本文件并对其写入数据# 代码如下n = 10 # 文件数filelist = Vector{String}(n) # 创建10个空字符串for i = 1:n filelist[i] = string( i, ".txt" ) # 批量产生文件名endx = linspace(1,10,10)y = linspace(11,20,1...原创 2018-08-05 13:17:57 · 916 阅读 · 0 评论 -
julia如何使用moduel
# 本文将简单介绍julia如何使用module,[进一步的学习请参考文档](https://docs.julialang.org/en/stable/manual/modules/)或自己琢磨# 首先建立一个module文件,假设叫module.jl,内容如下module MyModule export my, he, f my = 123 he = 24 function...原创 2018-08-05 13:28:33 · 1421 阅读 · 5 评论 -
julia换行输出与不换行输出数据
# 下面这个代码演示输出到文本的数据不换行输出x = linspace(1,10,10)f = open( "dat.txt", "a" )for i = 1:length(x) print( f, x[i], " " ) # print默认不换行endclose( f )# 下面的代码演示换行输出x = linspace(1,10,10)f = open( &原创 2018-08-06 00:01:28 · 2978 阅读 · 0 评论 -
Julia三次样条插值函数
# 本文将演示如何使用Julia语言实现三次样条插值# 如果没有安装Dierckx包,首先要Pkg.add("Dierckx"),然后Pkg.update()# 当然也可以用Interpolations.jl,但对其语法不太熟悉# 用下面代码做示例x = linspace(0,pi)v = sin.(x)xq = linspace(pi/2,pi)# 计算三次样条插值spl = ...原创 2018-08-06 23:10:43 · 1754 阅读 · 0 评论 -
Julia使用PyPlot包在一个画布上画多张图
# 本文将简单描述使用PyPlot包在一个画布上画多张图using PyPlotx = -10:0.001:10subplot(221)plot(x, x)subplot(222)plot(x, x.^2)subplot(223)plot(x, x.^3)subplot(224)plot(x, x.^4)...原创 2018-08-06 22:22:02 · 1844 阅读 · 0 评论 -
Julia的function
# function的声明方法# 第一种function myadd(x, y) x + yend function# myadd(2,3) = 5# 第二种f(x, y) = x * y# f(2, 3) = 6# 第三种f = x -> x / 10 # 这种形式的函数貌似只能是单变量函数# f(1) = 1 / 10 = 0.1# Duck-typ...原创 2018-08-06 22:04:15 · 692 阅读 · 0 评论 -
Julia条件语句
# if语句的结构为if *condition 1* *option 1*elseif *condition 2* *option 2*else *option 3*end# 判断一个数的范围a = 51if ( a > 50 ) && ( a <= 100 ) println( "a" )elseif ( a > ...原创 2018-08-06 21:40:21 · 1281 阅读 · 0 评论 -
Julia:循环
# while循环:格式如下while *condition* *loop body*end# 例如用while计算1-100的和s = 0i = 1while i &lt;= 100 s += i i += 1endprint( s ) # for循环:结构如下for *var* in *loop iterable* *loop body*...原创 2018-08-06 21:23:51 · 1856 阅读 · 0 评论 -
Julia:关于1.0发布之后语法更新
julia1.0发布之后,有的函数被废弃,有的语法被更改。不过不要抱怨因为1.0发布之后,julia的语法会趋于稳定,而且修改语法也是为以后更好地发展。1. 与文件有关的语法julia1.0发布之后,需要using DelimitedFiles之后,相关的writecsv等函数才能使用2. 线型代数相关的函数首先需要using LinearAlgebra。而且相关的lufract, ...原创 2018-08-14 11:24:08 · 1090 阅读 · 0 评论