精华内容
下载资源
问答
  •  在传统的观念里,都认为JavaScript函数传递的是引用传递(也称之为指针传递),也有人认为是值传递和引用传递都具备。那么JS的参数传递到底是怎么回事呢?事实上以下的演示也完全可以用于Java  首先来一个比较...

    博客分类: 

    JavaScript

        在传统的观念里,都认为JavaScript函数传递的是引用传递(也称之为指针传递),也有人认为是值传递和引用传递都具备。那么JS的参数传递到底是怎么回事呢?事实上以下的演示也完全可以用于Java

        首先来一个比较简单的,基本类型的传递:

     

    Java代码  收藏代码
    1. function add(num){  
    2.    num+=10;  
    3.    return num;  
    4. }  
    5. num=10;  
    6. alert(add(num));  
    7. aelrt(num);  
    8. //输出20,10  

     

      对于这里的输出20,10,按照JS的官方解释就是在基本类型参数传递的时候,做了一件复制栈帧的拷贝动作,这样外部声明的变量num和函数参数的num,拥有完全相同的值,但拥有完全不同的参数地址,两者谁都不认识谁,在函数调用返回的时候弹出函数参数num栈帧。所以改变函数参数num,对原有的外部变量没有一点影响。

        再来看一个较复杂的,对象引用类型的传递:

     

    Java代码  收藏代码
    1. function setName(obj){  
    2.     obj.name="ted";  
    3. }  
    4. var obj=new Object();  
    5. setName(obj);  
    6. alert(obj.name);  
    7. //输出ted  

     

         以上代码的运行的实质是:创建了一个object对象,将其引用赋给obj(在C里面就直接是一个内存地址的赋值),然后在传递函数参数的时候,做了一件与前一个方法相同的事情,复制了一个栈帧给函数参数的obj,两者拥有相同的值(不妨将其理解为object对象的地址),然后在setName做改变的时候,事实上是改变了object对象自身的值(在JAVA里称之为可变类),在改变完成之后同样也要弹出函数参数obj对应的栈帧。

          所以对应的输出是改变后object对象的值

         那么可能有的朋友可能会问,这样也可以理解为一个引用传递(指针传递)呀?不,这里严格的说,在和JAVA类似的语言中,已经没有了指针,在JAVA里将上述过程称之为一个从符号引用到直接引用的解析过程。在C里面,指针就是一个具有固定长度的类型(在大多数的C编译器里是2个字节),但在JAVA类似的语言里,引用也有自己的属性和方法,只是你不能直接去访问和控制它,所以它从某种意义上也是一种对象,这种机制也很大程度的避免了内存泄露,术语称之为内存结构化访问机制。

        为了证明上述观点,稍微改造下上述例子:

     

    Js代码  收藏代码
    1. function setName(obj){  
    2.     obj.name="ted";  
    3.     obj=new Object();  
    4.     obj.name="marry";  
    5. }  
    6. var obj=new Object();  
    7. setName(obj);  
    8. alert(obj.name);  
    9. //输出ted  

     

      这个例子与上一个例子的唯一不同是这里将一个新的对象赋给了函数参数obj,这样函数参数obj和原有的引用obj参数,有着完全不同的值和内存地址。

     

        值的一提的是,在Python中就没有这样的争论,因为Python里面一切都是对象,只是对象可以按照存储类型(容器类型还是标量模型) 、更新类型(是否可变)、访问模型(直接访问、序列访问、映射访问)来划分,访问模型是最多被讨论的,也是最清晰的区分方式。所以毫无疑问,在Python里面,函数传递方式只有一种---引用对象传递

    展开全文
  • 线性时不变电路,是一种线性时不变系统,其数学模型是线性常微分方程。对于任何线性时不变电路,可根据基尔霍夫定律KCL、KVL和元件V-I约束特性VCR,建立线性常系数微分方程组。通过消元可以得到关于电路中任何信号的...

    说明:x(t)在数学上表示一个关于时间的函数,在电路工程上表示一个随时间变化的信号。所以,在本文中,函数和信号是一个概念。

    一、(齐次)通解、(非齐次)特解

    线性时不变电路,是一种线性时不变系统,其数学模型是线性常微分方程。对于任何线性时不变电路,可根据基尔霍夫定律KCL、KVL和元件V-I约束特性VCR,建立线性常系数微分方程组。通过消元可以得到关于电路中任何信号的微分方程及初值条件:
            
        a(n)* d^ny(t)/dt^n + ...+ a(1)* dy(t)/dt + a0
      = b(m)* d^mx(t)/dt^m + ...+ b(1)* dx(t)/dt + b0

      y^(n-1)(0+) = Y(n-1)
       .
       .
       .
      y'(0+)          = Y1
      y (0+)          = Y0

    建立齐次微分方程对应的特征方程,可得通解,
    根据x(t)的形式,可得特解。故可得全解:

    y(t) = c(n)e^(s(n)t) + ... + c(1)e^(s(1)t) + f(x(t))
               ------------------------------------            -------
                     (齐次)通解                 (非齐次) 特解


    二、暂态(响应)、稳态(响应)

    其中,通解为指数函数,实际应用中都要求是衰减函数,当t趋于无穷大时,通解项趋于0,意味着系统稳定,剩下特解项,代表系统最终稳定的状态。故根据物理意义:
         通解 称为  暂态
         特解 称为  稳态


    三、零输入(响应)、零状态(响应)

    根据n个初态条件建立n个线性方程,确定通解系数是关于n个初值、特解在0+时刻函数值的函数

      c(n:1) = F(Y(n-1:0),f(x(0+)))   

    由此,可将全解重新拆分成:
      与Y(n-1:0)相关的项       (零输入响应,与x(t)无关,只含指数项)
      与Y(n-1:0)无关相关的项(零状态响应,与初态无关,可能含指数项)

    这种分解方式的物理意义是,初态可是一种内部激励、内部能量源。输入是一种外部激励、外部能量源。一个系统要运行,必须有能量。如果外部激励、内部初态都为0,那么系统就失去能量源,所有信号不会发生变化,保持静止,即为0。


    上面的分析描述,都是基于假设x(t)的特解函数是可以解析求解的。对于任意输入信号x(t),通常是不可通过解析方式求出其特解函数的。但根据线性常系数微分方程的可加性,依然可以证明:
          任意输入信号x(t)的全响应可分解为零输入响应、零状态响应。

    证明方法如下:
    假设y1(t)是零输入响应(由求解特征方程、待定系数法可求出零输入响应,证明了其存在性;当然,也可借由拉普拉斯变换大法证明),即满足微分方程及初值条件:
         a(n)* d^ny1(t)/dt^n + ...+ a(1)* dy1(t)/dt + a0
      = 0

      y1^(n-1)(0+) = Y(n-1)
       .
       .
       .
      y1'(0+)          = Y1
      y1 (0+)          = Y0

    y2(t)是零状态响应(由拉普拉斯变换可求出零状态响应,证明了其存在性),即满足微分方程及初值条件:
       a(n)* d^ny2(t)/dt^n + ...+ a(1)* dy2(t)/dt + a0
      = b(m)* d^mx(t)/dt^m + ...+ b(1)* dx(t)/dt + b0

      y2^(n-1)(0+) = 0
       .
       .
       .
      y2'(0+)          = 0
      y2 (0+)          = 0

    令y(t) = y1(t) + y2(t),y(t)必然满足原微分方程及初值条件:
        a(n)* d^ny(t)/dt^n + ...+ a(1)* dy(t)/dt + a0
      = b(m)* d^mx(t)/dt^m + ...+ b(1)* dx(t)/dt + b0

      y^(n-1)(0+) = Y(n-1)
       .
       .
       .
      y'(0+)          = Y1
      y (0+)          = Y0

    根据线性常系数微分方程解的唯一性,y(t)就是该微分方程的唯一解。即得证,y(t)可分解成零输入响应、零状态响应。

    零输入响应可能包含指数项,这个结论依然成立,因为它不依赖于输入信号x(t)。但我们无法证明零状态响应是否可能包含指数项。这是不可能的,因为x(t)无法解析,怎能保证零状态响应可解析呢。我们必须有一种非解析的方法来求得零状态响应,需要用到刚才提到的拉普拉斯变换,先得到传递函数H(s),再得到零状态响应

       y(t) = x(t) * h(t) 。


    四、稳定性、传递函数

    系统稳定要求全响应稳定,要求零输入响应、零状态响应都稳定。

    首先考虑零输入响应稳定性。零输入响应是微分方程的通解。如果遍历初态空间,零输入响应必然遍历通解空间,即所有指数项都有可能出现在零输入响应中。所以,为了使零输入响应在所有条件下稳定,必须要求特征方程的所有根的实部小于0。

    再来考虑零状态响应稳定性。关于零状态响应稳定性,有一个定义叫BIBO(有限输入导致有限输出)。加入BI这个前提显然是必要的,如果输入无限,根据叠加原理,线性系统的输出要么为0,要么无限。在线性工作条件下,输出变得无限,系统就会工作在线性区以外,通常意味着系统崩溃)。当然,BI也是可以满足的,实际信号都是有限
    的。

    隐藏一个问题:即使系统是数学上BIBO的,但这个BO的界限在数学上可以是很大很大,超过实际系统正常工作允许的BO。所以,数学上BIBO的稳定,是实际电路BIBO稳定的必要而不充分条件。实际系统一定有一个BI,这个BI不是由稳定性决定的,而是由电路的其它性能决定的,比如运算放大器的有输入范围限制。

    要满足BIBO,x(t) * h(t) = y(t)有限,就要求h(t)是有限的,就要求H(s)的极点的实部小于0,即H(s)分母多项式的根的实部小于0。对消元后的微分方程做拉普拉斯变换可知,H(s)的分母多项式就是特征方程多项式。所以,为了保证零状态响应BIBO稳定,也要求特征方程的所有根的实部小于0。


    五、稳定性 —— 深入

    1)系统内所有信号的稳定性
    前面我们通过讨论某个输出信号y(t)的稳定性,证明了系统的稳定性。但这是不够严谨的,因为我们并没证明系统中所有信号的稳定性。系统中所有节点的响应信号(非源性支路电流、支路电压)的传递函数的极点都是一样的吗?我们可以在求解系统响应的更早阶段使用拉普拉斯变换,证明这一点。

      1)对电路系统建立线性常系数微分方程组
      2)使用拉普拉斯变换,得到线性代数方程组,
      3)对分项的分母中含有s的VCR方程,等号两边同时乘以s,消去分母中出现的s
      4)使用克莱默法则,求解各未知变量(各支路电流、支路电压)
           可知,各信号的传递函数H(s)的分母都为代数方程系数矩阵组成的行列式,是s的n次多项式(n为电路中L/C的总个数,其中并联电容、串联电感被合并,方程组中不会出现相同的支路电压微分、支路电流的微分),H(s)的分子多项式、分母多项式不必约掉可能存在的公因式。
     
          该代数方程系数矩阵,由电路拓扑结构决定,而与输入信号、初态无关。

    2)稳定性的数学理论定义、物理客观需求

         数学理论定义
           李雅普诺夫稳定性定义
         
         物理客观需求
           对物理世界使用微分方程分析时,需要对初态进行测量,这存在两个问题:
                1)初态即使可以控制、测量,但不可能准确
                2)初态可能无法控制、测量

           其次,我们对系统做线性近似,与系统实际特性之间存在误差,故存在另外一个问题
               3)线性近似方程的稳定,是否保证真实系统的稳态
         
           对于第一个问题,要求微分方程/系统因初态误差而导致解/响应误差最终(t->∞)是收敛的。
           H(s)的极点都在左半平面,可以保证这一点。

           对于第二个问题,要求微分方程/系统在不同初态下的解/响应最终(t->∞)都是收敛的。
           H(s)的极点都在左半平面,可以保证这一点。

           前个问题的证明都不难,由前述知识容易得出。此外注意到,第二个问题能够保证第一个问题:所有
           响应都收敛的话,相互之间的偏差也是收敛的。
     
           对于第三个问题,证明不是那么容易,但幸运的是,数学上可以证明,对系统线性近似而建立的微分方
           程的稳定性,可以保证真实系统的稳定性。

    综上,线性时不变系统的稳定性的条件虽然简单,但其意义却是相当丰富的。


    六、结束语

    《信号与系统》这门课,有人说简单,有人说难。如果只要求会做题,考高分也很容易,但可能考完试没多久就忘得一干二净。《信号与系统》难在理解这些分析方法的数学基础、物理意义、历史渊源、哲学方法。

     

    展开全文
  • 本文通俗易懂地介绍了深度学习中“门函数”的主要作用及其在LSTM中是如何组合使用的。
    /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/

                                                         author: 张俊林



    看深度学习文献,门函数基本上已经是你必然会遇到的一个概念了,最典型的就是LSTM,首先上来你就得过得去“遗忘门”“输入门”“输出门”这三个门。门函数本身是个独立概念,不过LSTM使用多个门函数来组合出一个带有状态记忆的计算模型而已。随着LSTM大行其道,各种计算模型开始在计算过程中引入门函数的概念,相信这些论文你也没少看,其实这也是一种研究模式,比如你看看你手头的模型,想想能不能把门函数引进来?会不会有效?也许能走得通。


    RNN概念非常直接简单很好理解,但是看到了LSTM,估计不少人会挠头。学习LSTM刚开始看模型一般都不太容易立马搞明白到底这是怎么回事?其实很重要的原因一个是一下子引入了三个门,太多,另外一个是把记忆状态存储单独独立出来,所以看上去整个逻辑很复杂,其实你要是把门函数到底在干嘛搞清楚,那么LSTM的计算逻辑是非常清晰直接好理解的,跟RNN在概念上其实是一样的。所以首先得搞明白“门函数”们到底在干什么事情。


    |猪家的神经网络门控系统


    既然叫做门,那么我们可以和现实生活中的门的作用进行类比,比如我们在家里安装门是干嘛的呢?是个控制人进出房间的控制设备,门打开了,那么人就能通过,门闭上了,那么人就过不去,被锁在门外了,门要是半开半闭呢,如果不进一步推门的情况下,如果你体积小,可以侧着身子蹭进去。门打不打得开,打开能打多大,这是由谁来决定的?是由门控设备来决定的。什么是门控呢?我们都听说过“小红帽和狼外婆”以及“三只小猪”的故事,是吧?如果忘了可以看看下面图片辅助回忆一下:



    在两个故事中,门控的作用就是狼字辈的不允许进入,妈妈和吃草的动物可以进,不过故事里的门控是通过室内的人或动物的观察来手动实现的,属于真正的“人工智能”或“猪工智能”。我们现在科技发达了,都使用刷卡或者刷脸的方式由门控设备来判断你是猪妈妈还是狼外婆,依此来决定是否让你进入。


    假设现在我们帮小红帽或者三只小猪做个刷脸的门控设备,而且我们用目前流行度爆棚的神经网络来做这个门控,怎么做呢?


    我们假设猪家其实是当地土豪,人称“豪猪”,有经济实力购买北京三环内学区房,而且房子还挺大,为了方便进出,在东南西北各个方向各有一个门,其神经网络建筑图如下:


    当然,目前每个门还没有安装门控设施,所以每个门都可以随意进出,不论”X=猪妈妈也好,还是“X=狼外婆”也好,X顺着实线箭头路径找到四个门,推门就能闯进卧室跟你抬手say hello。很明显,此时室内安全指数为负数,这个房子的设计师按理说是需要负分滚粗的。这绝对是不允许的,得想想办法,于是经过李开复老师的引荐,猪妈妈用了250万美金聘请了深度学习房屋架构师老狼来给房子加上安全措施,老狼ML经验丰富,尤其是DL,一拍脑袋就给了个解决方案:加个门控不就完了么,而且我们这是DL牌的门控,加上门控的深度学习安防系统长这样:


    图中标为虚线的箭头就是安防门控的神经网络参数了,门控系统的公式如下所示:


    这样东南西北每个门是打开还是关上或者是半开半合就通过这个门控系统参数U来自如控制了。比如拿东门来说,假设输入是“X=猪妈妈”,那么通过UX矩阵计算,也就是猪妈妈的脸的照片乘以U中通向东门的虚线箭头权重,再经过Sigmod非线性映射,东门门控会输出一个值,我们知道Sigmod的分值区间在[0,1]之间,通过训练,可以让U中通向东门那个网络连接的权重学习到合适的数值,使得如果X=猪妈妈”的时候,经过Sigmod的输出是1,就是说东门完全打开,让猪妈妈顺利通过W参数网络那条通向东门的实线箭头路径进入卧室和猪爸爸抬手say hello。而反过来,如果输入是“X=狼外婆”,就是说此刻狼外婆到门外敲门了,争取让U学习到合适的参数,使得Sigmod(UX)的值为0,就是说门控系统决定门紧紧关上,不漏一丝缝隙,绝对不给狼外婆留下一丝性侵猪爸爸的机会。当然,这只是东门,其它四个门也如此处理即可,核心是神经网络门控参数U设置成什么值的问题,只要保证看到狼外婆通过U把四个门都关上,看到猪妈妈就把门都打开热烈欢迎就行了,当然门开的大小也可以控制,比如小松鼠来猪家做客:“X=小松鼠”,那么也没必要四个门都打开显得那么费电,只要把一个门打开一条缝就行了,就是说门控系统控制东南西三个门Sigmod值输出为0,关上门,北门Sigmod值输出为0.2,这就足够了。这下理解为啥门控经常用Sigmod作为非线性函数了吧,因为它很好地在物理含义上解释门开的大小,0就是关上,1就是“我家大门常打开,开放怀抱等你”。


    |深度学习里的门函数


    上面讲了猪家的神经网络门控系统是如何工作的,其实深度学习的各种门作用是类似的,懂了上面小猪家的门控就明白了深度学习里门函数的作用,区别无非是现在这个门控不像现实生活中的门用来控制人或动物的进出,而是控制信息的进出及进出程度的控制设备。如果门函数取值1,那么等于把门大开,允许门前的信息畅通无阻地流入流出,如果门函数取值0,则紧紧关上大门,所有信息被阻断,“此门不开,禁止出入”。如果取得01之间的值,代表允许部分信息进入或者流出后续的部件,如此而已。


    在这个指导思想下我们再回顾下LSTM的几个门及其计算公式,估计此时不用看那个九曲回肠的LSTM神经网络图,光看公式也能明白LSTM到底在干嘛了吧:


    上面是LSTM的计算公式,首先找那几个门,其实好找,那三个Sigmod作为非线性函数的就是三个门,很明显其取值范围在01和门打开关闭的物理意义是很好对应起来的。这个门的计算公式和上面猪家的门控计算公式其实是一样的,区别无非多出了一个h(t-1)部分,这个也好理解,这是因为LSTMRNN模型,决定t时刻节点的除了当前输入值x(t)外,还有t-1时刻的隐层节点输出h(t-1),这代表了历史信息对当前的影响,所以决定门开关程度的除了当前输入 x(t)外,还有h(t-1),仅此区别而已,其计算流程和物理含义和猪家的门控其实是一样的。


    所以含义很清楚,输入门是用来控制输入i’(t)进出多少或者是否允许进出的门控设备;输出门是用来控制t时刻状态值m(t)对外多少是可见的门控设备;遗忘门是控制RNN中历史状态m(t-1)流动到t时刻后允许多少进入t时刻的门控设备;


    所以关键在LSTM的状态值更新函数和隐层节点输出值函数上。对于状态更新函数来说:


    f(t)是遗忘门门控,m(t-1)是历史状态信息,两者相乘代表t时刻允许多少历史信息进入来决定m(t)当前状态,如果遗忘门全关取值0,则历史对当前状态无影响,如果遗忘门全开取值1,则历史信息原封不动的传到t时刻,没有任何信息损失,当然更大可能是取值01之间,代表历史信息的部分流入;


    i(t)是输入门门控,i’(t)是当前t时刻输入值, 两者相乘代表t时刻允许多少当前输入信息进入来决定m(t)当前状态,如果输入门全关取值0,则LSTM忽略当前输入的影响,等于没看到这个输入直接跳过去了,如果输入门全开取值1,则当前输入最大化地决定当前状态m(t),没有任何信息损失,当然更大可能是取值01之间,代表输入信息的部分流入;


    经过上面两个门控控制历史信息的影响以及当前输入的影响,就形成了t时刻的隐层节点状态值m(t)


    隐层节点输出值h(t)好理解,就是说通过输出门控制当前状态m(t)对外有多少是可见的,因为m(t)是内部隐藏的状态信息,除了往t+1时刻隐层传输外,外部其它地方是看不到的,但是它们可以看到h(t)


    这就是LSTM是如何用三个门控以及抽离出的m状态存储器来表达运算逻辑的思路,其实可以看到它本质跟RNN一样,无非是体现历史影响及当前输入的影响,但是相对RNN来说,通过门控来自适应地根据历史和输入来控制信息的流动,当然其实更主要的是通过抽离出的m存储往后传递方式来解决梯度弥散问题的,因为今天主讲门控,所以这块不展开讲。


    很多其它深度学习的工作也引入了门函数,其思路和上面介绍的猪家的门控系统思路本质上是一样的,无非是用门函数来控制信息流动程度的。在计算模型上怎么理解“有门”和“没门”的模型呢?其实你可以缺省地认为所有的模型都是“有门”的,而“没门”只是有门的一种特例情况。为什么呢?因为“没门”等价于什么,等价于:“有门”但是那个门是永远全开的,永远不会关上或者半遮半掩。所以引入门其实在干什么呢,就是加入控制,在有些情况下让你进入,有些情况下不让你进入,比如看见x不让进,看见y则自由出入。


    |其它的类比


    上面为了方便理解门函数的作用,我们用现实生活中的门作为类比例子。其实生活中还有很多起到类似类比作用的设备,比如水龙头,打开水龙头那么水就可以流进来,如果关上水龙头,那么就切断了水源,水龙头打开的大点,那么水流量就大些,水龙头打开的小点,那么水流量就小些。DL中的门函数其实跟这个水龙头调节的作用是一样的,区别无非是控制的不是水流量,而是流入的信息流量。


    再比如,也可以把门函数类比为灯的光调节器,我们常见到带有光调节器的灯控设备,把设备调大,则照明强度增加,把设备调小,则照明强度减少。这个类比也能很形象地说明门函数的作用。


    其实归纳起来,所有这些生活中的门起的是什么作用呢?其实起的作用是个“调节阀”的作用,通过开关调节阀来控制物体的流入;通过开关调节阀大小来控制流入程度;所以,所有起到调节阀作用的生活设施都可以用来做门函数的类比。


    扫一扫关注微信号:“布洛卡区” ,深度学习在自然语言处理等智能应用的技术研讨与科普公众号

    展开全文
  • 序:这个问题确实不容易理解,各种代码实验啊,和c语言比较啊,面试题啊,内存模型啊,你咋不上天︿( ̄︶ ̄)︿头晕。今天我替java程序本身吐吐槽首先,这是发生在方法调用过程中main(){ param func(param){blablabla...

    序:这个问题确实不容易理解,各种代码实验啊,和c语言比较啊,面试题啊,内存模型啊,你咋不上天︿( ̄︶ ̄)︿头晕。今天我替java程序本身吐吐槽

    首先,这是发生在方法调用过程中

    main(){
    param
    func(param){blablabla...};
    
    }

    其次,方法调用是分支,总要回到main这条主线,方法调用前后要保证main主线中param是逻辑正确的

    所以java心里想,管你参数用param想干嘛我给你个【副本】,你慢慢玩去吧,反正调用完了,param还是main原始的

    【结论】不管传基本类型还是对象,都会有副本(基本类型是值,对象除String是引用,因为String的实际字符在常量区,在此可以看做基本类型),在被调用的方法内,不会影响到外部param的值(函数变量作用域),但是这个副本如果是引用,在被调用的方法内,操作引用指向的对象,会影响main对这个对象的取值
    【注】以上只是帮助【大概】理解java方法参数传递,语言并不精确

    展开全文
  • 函数能获取外部写入的数据(输入),能持有自己独特的数据(本地状态),还能向外部写数据(输出)。而理论上程序所拥有的函数数量是无限的,但是寄存器的数量却很少,无限的函数怎么通过有限的寄存器数量来保存它们各自的...
  • 函数的参数和返回值的传递方式

    千次阅读 2011-09-06 14:34:03
    函数的参数和返回值的传递方式有两种:值传递(pass by value)和指针传递(pass by pointer)。C++ 语言中多了引用传递(pass by reference)。由于引用传递的性质象指针传递,而使用方式却象值传递,初学者常常...
  • 1)之前在调程序的时候,用的都是S... 2) 上一种的方法实在是太麻烦了,后来经过在MATLAB中文论坛中查找相应的资料和看了孙忠潇老师的书之后,开始会利用S函数的属性页中的对话框(如图1所示)进行参数变量的传递,然...
  • 主动轮廓线模型又称为Snake模型,自Kass于1987年提出...简单的来讲,Snake模型就是一条可变形的参数曲线及相应的能量函数,以最小化能量目标函数为目标,控制参数曲线变形,具有最小能量的闭合曲线就是目标轮廓。 ...
  • JSONLoader还提供了一个load函数,可以传递一个url地址,改地址指向一个含有json定义的文件。 这里,我们只保存了几何体,其他的信息都丢失了,比如材质、光源、位置等。我们可以使用SceneExporter保存这些信息。...
  •  在我参加工作两年多的时候,工作不算很忙了,《深入理解C++对象模型》开始进入我的视野;或许是因为我要从Symbian.C++ 转向iOS Objective-C,并开始思考语言本身的一些东西的缘故。  其实在一年前,出于对C++的...
  • 深度学习计算模型中"门函数"的作用

    千次阅读 2016-04-24 16:14:05
    上面是LSTM的计算公式,那三个Sigmoid作为非线性函数的就是三个门。LSTM是RNN模型,决定t时刻节点的除了当前x(t)外,还有t-1时刻的隐层节点输出h(t-1).这代表了历史信息对当前的影响,所以决定门开关程度的除了当前...
  • matlab m文件中如何调用simulink模块 参照:...在m文件里调用模型mdl关键是用sim命令。 [ t, x, y ] = sim( model, timespan, options, ut) [ t, x, y1, y2, …, yn] = sim( model, timespan, opt...
  • Visual Basic快捷教程——函数与子程序

    千次阅读 多人点赞 2017-04-19 22:30:14
    函数是结构化程序设计的基础。函数的本质就是为了把程序切分成若干个相对独立的模块各司其职,而各个函数的作用也就是仅仅专门负责自己份内的那份功能。在Visual Basic中,函数是一组以Function开头和End Function...
  • 全面理解Java内存模型(JMM)及volatile关键字

    万次阅读 多人点赞 2017-06-12 11:25:05
    本篇主要结合博主个人对Java内存模型的理解以及相关书籍内容的分析作为前提,对JMM进行较为全面的分析,本篇的写作思路是先阐明Java内存区域划分、硬件内存架构、Java多线程的实现原理与Java内存模型的具体关系,在...
  • 传递函数依赖 确定函数依赖的方法 码 外部码 范式 1NF 2NF 3NF BCNF 多值依赖 4NF 如何判断R为第几范式? 已知一个关系模式的属性之间的语义,也就是相互依赖的关系,如何判断该模式满足第几范式? 1、...
  • PHP匿名函数及闭包

    万次阅读 2013-05-14 18:53:38
    匿名函数在编程语言中出现的比较早,最早出现在Lisp语言中,随后很多的编程语言都开始有这个功能了,目前使用比较广泛的Javascript以及C#,PHP...匿名函数是一类不需要指定标示符,而又可以被调用的函数或子例程,匿
  • js 函数function用法

    万次阅读 2012-11-18 13:15:21
    通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。在继续讲述之前,先看一下函数的使用语法:以下是引用片段:function func1(…){…} var func2=function(…){…}; var func3=...
  • 闭合函数

    千次阅读 2017-03-27 22:52:08
    将一个函数写在另一函数之内,那么这个位于内部的函数便可以访问外部函数中的局部变量,这项特征称之为“词法域”。 names={"Peter","Paul","Mary"} grades={Mary=10,Paul=7,Peter=8} table.sort(names,funtion...
  • Matlab常用函数

    千次阅读 2014-06-03 10:15:00
    Matlab有没有求矩阵行数/列数/维数的函数? ndims(A)返回A的维数 size(A)返回A各个维的最大元素个数 length(A)返回max(size(A)) [m,n]=size(A)如果A是二维数组,返回行数和列数 nnz(A)返回A中非0元素的个数 ...
  • 函数、方法和接口

    千次阅读 2019-08-24 16:50:58
    Go语言中的函数有具名和匿名之分:具名函数一般对应于包级的函数,是匿名函数的一种特例,当匿名函数引用了外部作用域中的变量时就成了闭包函数,闭包函数函数式编程语言的核心。方法是绑定到一个具体类型的特殊...
  • c语言函数详解

    千次阅读 2017-03-12 09:54:02
    程序片段(01):函数.c+call.c+测试.cpp  内容概要:函数 ///函数.c #include #include //01.函数: // 1.函数的作用:重用代码,重用功能 // 表象:代码的封装,代码的重用 // 实质:功能的封装,功能的重用 int main01...
  • Matlab:Matlab中常用...2、MATLAB GUI不同控件函数间变量传递方法 常用函数 Matlab中的bwmorph函数解释 bwmorph:对二值图像的形态学操作。 BW2 = bwmorph(BW,operation) BW2 =bwmorph(BW,operation,...
  • 文章目录Python函数函数式编程1、函数概述1.1函数的基本概念1.2函数的功能1.3Python中函数的分类2、函数的声明和调用2.1函 数对象的创建2.2函数的调用2.3函数的副作用3、参数的传递3.1形式参数和实际参数3.2形式...
  • 函数式编程

    千次阅读 2017-09-20 14:13:40
    "函数式编程", 又称泛函编程, 是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论。它的基础是 λ 演算(lambda calculus)。λ演算可以接受函数当作输入(参数)和输出(返回值)。
  • Python学习笔记 — 函数

    千次阅读 2013-09-12 19:55:05
    函数是对程序逻辑进行结构化或过程化的一种编程方法。函数具有两个方面的意义:1)将代码分块,易于管理和阅读;2)最大化代码复用和最小化代码冗余,节省空间,有助于保持一致性。下面对python语言中函数的基本知识...
  • matlab函数总结

    千次阅读 2018-07-28 10:38:58
    ndims(A)返回A的维数 size(A)返回A各个维的最大元素个数 length(A)返回max(size(A)) [m,n]=size(A)如果A是二维数组,返回行数和列数 nnz(A)返回A中非0元素的...MATLAB的取整函数:fix(x), floor(x) :,ceil(x) , ro...
  • 第二章 函数

    千次阅读 2020-05-12 16:45:17
    文章目录第二章函数2.1 基本概念2.1.1 函数定义2.1.2 多值返回2.1.3 实参到形参的传递2.1.4 不定参数2.2 函数签名和匿名函数2.2.1 函数签名2.2.2 匿名函数2.3 defer2.4 闭包2.4.1 概念2.4.2 闭包的价值2.5 panic 和 ...
  • MATLAB函数速查手册

    千次阅读 多人点赞 2018-03-25 09:06:26
    《MATLAB函数速查手册》较全面地介绍了MATLAB的函数,主要包括MATLAB操作基础、矩阵及其基本运算、与数值计算相关的基本函数、符号运算的函数、概率统计函数、绘图与图形处理函数、MATLAB程序设计相关函数、Simulink...
  • Python 函数

    千次阅读 2013-03-01 01:38:58
    Python 第四部分 函数 目录 第15章 函数基础... 3 函数作用... 3 Def语句是实时执行的... 3 Python 中的多态... 4 第二个例子,寻找序列的交集... 4 什么时候python将会创建函数?. 5 检查传入函数的...
  • JavaScript函数式编程

    千次阅读 2016-12-03 15:58:03
    JavaScript函数式编程摘要以往经常看到”函数式编程“这一名词,却始终没有花时间去学习,暑期实习结束之后一直忙于边养老边减肥,81天成功瘦身30斤+ ,开始回归正常的学习生活。 便在看《JavaScript函数式编程》这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,684
精华内容 33,473
关键字:

外部传递函数模型