注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

DenseMatrix 测试  

2015-10-02 22:14:49|  分类: breeze |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
package test

/**
* Created by 何险峰,成都 on 2015/9/27.
*/
import breeze.linalg._
import breeze.numerics._
object BreezeTest1 {
def rlat(lat : DenseVector[Double]): Unit ={
println(lat)
val p = (lat :> -50.0) & (lat :< 50.0)
println(I(p.toArray))
lat :*= DenseVector(I(p.toArray))
val v = lat.map(f => if (f <= 0) Double.NaN else f)
println(v) //DenseVector(NaN, NaN, NaN, NaN, NaN, 36.874605616058346, 18.675097671141017, NaN, NaN, NaN)
}
def r100 = {
scala.util.Random.nextDouble() * 200 - 100
}
def test1: Unit ={
val lat = Array.fill[Double](10)(r100)
val latD = DenseVector[Double](lat :_*)
rlat(latD)
}
def rlat(lat : DenseMatrix[Double]): Unit ={
val p = (lat :> -50.0) & (lat :< 50.0)
println(p)
/*
true true false false true
true false true false false
true true true false false
true false true true true
false false true true true
*/
val pi = I(p.toArray)
println(pi)
lat :*= DenseMatrix(pi)
val v = lat.map(f => if (f <= 0) Double.NaN else f)
println(v)
/*
NaN 77.73948360966244 NaN NaN 82.5965005357418
19.46884804061031 85.04509133170208 61.92656800360808 NaN NaN
NaN NaN NaN NaN NaN
NaN 25.550768107187793 NaN NaN NaN
NaN NaN NaN NaN 37.05045388368674

*/
}
def test1_1: Unit ={
val lat = Array.fill[Double](5,5)(r100)
val latD = DenseMatrix(lat :_*)
rlat(latD)
}

def test2: Unit ={
val mat = DenseMatrix((1.0, 2.0, 3.0), (4.0, 5.0, 6.0))
val a = sum(mat(::, *))
println(a) // 5.0 7.0 9.0
}
def test3: Unit = {
val mat = DenseMatrix((1.0, 2.0, 3.0), (4.0, 5.0, 6.0))
mat(*, ::) :+= DenseVector(10.0, 20.0, 30.0)
println(mat)
/*
11.0 22.0 33.0
14.0 25.0 36.0
*/
}
def test4: Unit = {
val mat = DenseMatrix((1.0, 2.0, 3.0), (4.0, 5.0, 6.0))
mat -= 1.0
println(mat)
/*
0.0 1.0 2.0
3.0 4.0 5.0
*/
}
def test5: Unit = {
val mat = DenseMatrix((1.0, 2.0, 3.0), (4.0, 5.0, 6.0))
mat :*= 2.0
println(mat)
/*
2.0 4.0 6.0
8.0 10.0 12.0
*/
}
def test6: Unit = {
val mat = DenseMatrix((1.0, 2.0, 3.0), (4.0, 5.0, 6.0))
mat :^= 2.0
println(mat)
/*
1.0 4.0 9.0
16.0 25.0 36.0
*/
}
def test7: Unit = {
val mat = DenseMatrix((1.0, 2.0, 3.0), (4.0, 5.0, 6.0))
val m = mat.map(f => if (f<=3) NaN else f)
println(m)
/*
NaN NaN NaN
4.0 5.0 6.0
*/
}

def test8: Unit ={
val mat = DenseMatrix((1.0, 2.0, 3.0), (4.0, 5.0, 6.0))
val rows = mat.rows
val cols = mat.cols
println(rows+","+cols)
}

def test9: Unit ={
val mat = DenseMatrix((1.0, 2.0, 3.0), (4.0, 5.0, 6.0))
val rows = mat.rows
val cols = mat.cols
println(rows+","+cols)
}
def test10: Unit ={
val mat:DenseMatrix[Double]= (DenseMatrix.rand(2,3) :* 200.0d :- 100.0d).asInstanceOf[DenseMatrix[Double]]
val p = (mat :> -50.0) & (mat :< 50.0)
val mat1 = new DenseMatrix[Double](2,3,mat.data.zip(p.data).map(f => if (f._2) f._1 else NaN))
println(mat1)
/*
NaN 24.386795885175957 NaN
-32.13808057710747 NaN 35.1455754868673
*/
}
def test11: Unit ={
val mat:DenseMatrix[Double]= (DenseMatrix.rand(2,3) :* 200.0d :- 100.0d).asInstanceOf[DenseMatrix[Double]]
println(mat)
println("==================================================")
val p = I((mat :> -50.0) & (mat :< 50.0)).map(f=> if (f>0.0) f else NaN)
mat :*= p
println(mat)
/*
38.02916045776942 -96.34514074857488 -86.56774734464582
-28.5993952825427 27.88851113754069 -48.68452641643381
==================================================
38.02916045776942 NaN NaN
-28.5993952825427 27.88851113754069 -48.68452641643381

*/
}
def test12: Unit = {
val mat :DenseMatrix[Short]= new DenseMatrix(2,3,Array[Short](1,2,3,4,5,6),0,3,true)
println(mat)
/*
1 2 3
4 5 6
*/
}
def main(args: Array[String]): Unit = {
test12
}
}
  评论这张
 
阅读(266)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017