Julia常用函数

Julia常用函数

数组操作

push!

  1. 直接在数组后面添加一个元素

    push!(pts,xk)#pts是数组,xk是要添加的元素
    

reduce

  1. 对数组进行批处理

    reduce(+,[2,3,4])
    ## 结果是9
    
  2. 可以用来做判断的时候能用

    if reduce(&,[条件1,条件2,条件3])
    

map

  1. 可以用来将函数的结果组合成一个数组

    map(x -> x^2,[3,4,5])
    ## 结果:[9,16,25]
    
  2. 可以用来组合多个函数的结果

    map(x -> map(y -> x+y,[2,3]),[3,5])
    ##结果:[5,6][7,8]
    

similar

similar(array, [element_type=eltype(array)], [dims=size(array)])

根据给定的array创建一个相似的未初始化数组,第二个参数和第三个参数是可选的,默认是给定的数组的类型和大小。

例如:

a= [1 2;3 4]
b = similar(a)
b = similar(a,Float64)

第一次的结果:

2×2 Array{Int64,2}:
281479271677952 0
0 0

第二次的结果

2×2 Array{Float64,2}:
4.94066e-324 3.45846e-323
4.94066e-324 1.97626e-323

转化数据类型

  1. T(a)或者convert(T,a):可以将a转化成T类型

    x = convert(Float64,15)
    x = convert(Vector{Float64},[2 3;4 5])
    Int8(3.14)
    

    Vector{Float64}是生成一个Array{Float64,1}

绘图

Gadfly

说实话我不是很喜欢这个包,但是我对Julia不太熟悉,目前只接触了这个绘图包

  1. 画函数
using Gadfly
plot((x,y) -> 3*x +2*y,-1,1-1,1)
plot([sin,cos],-1,1)
  1. 画箭头

    这里有一个非常坑的地方,那就是一旦plot()函数的参数中出现过小数,那么就必须全部参数都是小数,否则会报错。为了方便起见,建议plot的所有参数全部使用浮点型

    plot(x=[1,2],
    	 y=[3,4],
    	 xend=[2,1],
    	 yend=[4,2],
    	Geom.point,Geom.vector(filled = true),
    	Scale.x_continuous(minvalue =0 ,maxvalue = 5),
       Scale.y_continuous(maxvalue=5,minvalue=0))
    

    这里面x参数指的是起点的x坐标,数组里面第一个数是第一个点的x坐标,第二个数是第二个点的横坐标,y同理。

    xend是终点的x坐标,yend同理

    Scale.x_continuousScale.y_continuous分别表示x轴的范围和y轴的范围

    所以上面画出来是如下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VIRX5O0S-1612010765031)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200403222008863.png)]

  1. 将多个图组合在一起

当我们需要将多个图组合在一起的时候,例如将目标函数的等高图和最优化的迭代步图组合在一起,这个时候我们就需要用到layer函数。

layer函数和plot函数的语法一致,只不过是layer会将绘图的数据先保存下来,等到要合并的时候,在通过plot函数一同画出来

rosen = layer((x,y) -> 3*x +2*y,-1,2-1,2)
steps = layer(x=[1,2],
	 y=[3,4],
	 xend=[2,1],
	 yend=[4,2],
	Geom.point,Geom.vector(filled = true))
plot(rosen,steps,
Scale.x_continuous(minvalue = -1,maxvalue = 2),
Scale.y_continuous(maxvalue=-1,minvalue=2))

注释

TODO

# TODO 这里要写一个搜索步长的函数
....

这个注释有特殊的颜色提醒,可以在需要日后完成某样工作的地方写上这个备注,这个也是一个编程技巧。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值