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

阿弥陀佛

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

 
 
 

日志

 
 
关于我

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

网易考拉推荐

scala 一维二阶切比雪夫多项式  

2013-08-31 14:42:44|  分类: Scala |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
package chebList
/**
 * 一维2阶切比雪夫多项式
 * 何险峰
 * 2013-08-31
 */

case class CbVal(I0: Int) {
  val K0 = 2
  //二阶切比雪夫多项式系数
  val cb = new Array[Seq[Float]](K0 + 1)
  for (k <- 0 to K0) cb(k) = k match{
    case 0 => (1 to I0).map (x => 1.0f)
    case 1 => (1 to I0) map (x => x - (I0 + 1.0f) / 2.0f)
    case 2 => cb(1) map (x => x * x - (I0 * I0 - 1) / (4 * (4 - 1)))
  }
 
  //标准化处理后的二阶切比雪夫多项式系数
  val v = new Array[Seq[Float]](K0 + 1)
  def sq(v: Seq[Float]) = {
    Math.sqrt(v.map(x => x * x).sum).toFloat
  }
  for (k <- (0 to K0).par) {
    v(k) = cb(k).map(x => x / sq(cb(k)))
  }
}

class D1Cheb(f: Array[Float]) extends CbVal(f.length) {
  //一维要素的多项式权重
  val A = Array[Float](K0 + 1)
  for (k <- (0 to K0).par) {
    A(k)= v(k).zip(f).map(x => x._1 * x._2).sum
  }
  //一维要素拟合
  val fit = Array[Float](f.length)
  for (i <- (0 to f.length).par){
    fit(i) = Seq(v(0)(i),v(1)(i),v(K0)(i)).zip(A).map(x => x._1 * x._2).sum
  }
  //一维要素拟合
  def invers(len: Int, AA : Array[Float]):Array[Float]={
    val xx = new CbVal(len)
    val ffit = Array[Float](len)
    for (i <- (0 to len).par){
      ffit(i) = Seq(xx.v(0)(i),xx.v(1)(i),xx.v(K0)(i)).zip(AA).map(x => x._1 * x._2).sum
    }
    ffit
  }
}

object CbVal extends App {
  val c = CbVal(5)
  for (k <- (0 to c.K0).par){
    println(c.v(k))
  }
}
===========================================
Vector(-0.6324555, -0.31622776, 0.0, 0.31622776, 0.6324555)
Vector(0.5345225, -0.26726124, -0.5345225, -0.26726124, 0.5345225)
Vector(0.4472136, 0.4472136, 0.4472136, 0.4472136, 0.4472136)
  评论这张
 
阅读(471)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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