scal的函数定义(day01)

函数定义、函数作为参数、函数调用:

  //定义函数
  /*def 是函数,sum是函数名,a是变量,b是变量,返回值Int*/
  def sun(a:Int,b:Int):Int={return a+b}
  //函数的写法,提前返回值的时候可以用return
  def abs(a:Int,b:Int):Int={
    if(a>b){
      return a;
    }
    return -a;
  }
  //函数写法,直接返回,省略函数返回值
  def sum(a:Int,b:Int)={a+b}
  //函数写法,省略return和函数返回值
  def max(a:Int,b:Int)={
    if(a>b){
      a
    }else{
      b
    }
  }
  //求阶乘的列子,函数少了一个花括号{}
  def fac(n:Int):Int=if(n==0) 1 else n * fac(n-1)

  //
  def str(a:Int,b:Int) = a+b

  def ss(a:Int)(b:Int) = a+b

  //函数的执行体我们还没有想好,也可以定义,空的执行体,抽象方法
  def htt(a:Int,b:Int) = ???
  //(返回一个Nothing)
  def htt1(a:Int,b:Int):Int = ???
  //返回提是一个Int

  //参数列表
  def dg(a:Int)(b:Int,c:Int)=a+b+c

  //其他情况
  //Uint表示没有值,相当于java里面的void
  def process(a:Int):Unit={
      println(a)
  }
  //另外一种,省略掉Unit表示没有返回值
  def pres(a:Int){
     println(a)
  }
  //无参数的函数,相当于普通变量
  def start()={2}
  //去掉(),相当于定义一个普通变量
  def startt={2}
  //在定义一下
  def starttt={
  println("this is start")
  2
  }

匿名函数:

//函数的另外一种表达
  def constr(callback: (Int) => Uint) {
    var i=0;
    while(i<5){
      callbakc(i)
      Thread.sleep(1000)
      i+=1;
    }
  }
  def timeFile(i:Int): Unit ={
    println("kaishi"+i)
  }

第一种方法:
def main(args:Array[String]):Unit= {
constr(timeFile)
}

第二种方法:
def main(args:Array[String]):Unit= {
val d=(i:Int)=>{
    println("dudu"+i)
}
    constr(d);
}
第三种方法:(匿名函数)
def constr((i:Int)=>{
     println("dudu"+i)
})

第四种方法:
val g=timeFile _;
//告诉编译器我们传递的事函数本身,不是函数执行的结果(_)
constr(g);

嵌套函数:

//嵌套函数定义
  def sumDouble(n:Int):Int={
    def dbl(v:Int) =2 * n
    if(n>0){
      dbl(n)+sumDouble(n-1)
    }else{
      0
    }
  }

调用:
def main(args:Array[String]):Unit= {
sumDouble(2)
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
matlab中的scal2frq函数是一个用于计算频率尺度的工具函数。频率尺度是一种用于描述信号的频率特性的尺度,它不同于常规的频率单位(如Hz),而是用无量纲的尺度来表示。scal2frq函数的作用就是将某个信号在频率尺度上的特性转换为常规的频率表示。 该函数的语法为:f = scal2frq(a, 'wavename', fs),其中a是一个向量,表示信号的尺度参数;'wavename'是一个字符串,用于指定小波函数的名称;fs是采样率。 scal2frq函数的计算公式为:f = (C * scales) / (sampInt),其中C是一个常数,sampInt是采样间隔。该函数根据给定的信号尺度参数和小波函数名称,计算出信号在频率尺度上的特性。 使用scal2frq函数的具体步骤如下: 1. 准备好信号的尺度参数a、小波函数名称'wavename'和采样率fs。 2. 调用scal2frq函数,传入上述参数,并将返回值存储在变量f中。 3. 根据需要,对返回的频率数组f进行进一步处理或分析。 需要注意的是,使用scal2frq函数时需要选择合适的小波函数名称,以适应信号的特性。不同的小波函数适用于不同类型的信号分析,因此选择合适的小波函数非常重要。 总之,scal2frq函数是一个用于计算信号频率尺度特性的工具函数。通过使用该函数,可以将信号在频率尺度上的特性转换为常规的频率表示,方便信号的进一步分析和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值