zoukankan      html  css  js  c++  java
  • Matlab高效编程笔记

    1.matlab是按列顺序存储数据的,因此按列访问,遍历数值数组要比按行访问,遍历快

    2.简短的数学表达式函数可以选用匿名函数来实现;而复杂的,内部要做较多事情的函数可以选用子函数和嵌套函数来实现;

    其中,在变量共享以及传递方面,嵌套函数具有较大的优势,尤其是用子函数实现并且用到全局变量的场合,用嵌套函数可以避免用全局变量,并且实现起来方便容易。(?)

    3.就访问效率,double型数组和struct数组的访问效率相当,cell型数组最慢。struct占用内存大

    4.cell型的数组可以存放包括匿名函数在内的函数句柄。这样,通过cell数组,可以存储多个函数,并且可以批量执行函数。

    epl:求各个函数在x=2处的函数值

    fun=cell(3,1);

    fun{1}=@(x)x^2+sin(x);

    fun{2}=@(x)x^3-5;

    fun{3}=@(x)sin(1/sqrt(x));

    val=cellfun(@(x)x(2),fun)

    5.彼此没有嵌套关系的嵌套函数间是不能简单得共享变量的。如果非要共享,只能通过它们所在的主函数来进行

    epl:有嵌套关系

    function r=NestedFunctionVarScopeDemo(a)

    b=a+1;

      function Nested1

      c=b+1;

        function Nested11

        d=c+a;

        end

        Nested11;

      end

    Nested1

    r=d;

    end

    保存后在命令窗口输入:r=NestedFunctionVarScopeDemo(1)

    r=

      4

    epl:没有嵌套关系

    function r=NestedFunctionVarScopeDemo2(a)

    b=a+1;

      function Nested1

      c=b+1;

      c1=10;

      Nested2;

      c2=d^2;

      end

      function Nested2

      d=2*b;

      end

    Nested1

    r=c2

    end

    运行结果:r=NestedFunctionVarScopeDemo2(1)

    ???Undefined function or variable 'd'.

    Error in==>NestedFunctionVarScopeDemo2>Nested1 at 7

        c2=d^2;

    Error in==>NestedFunctionVarScopeDemo2 at 12

    Nested1

    6.父函数和嵌套函数之间的变量共享需要通过调用来实现,父函数可以调用嵌套在其中的第一重嵌套函数,而不能调用第二重或者更深重的嵌套函数。

    嵌套函数可以调用父函数。

  • 相关阅读:
    jquery datatable[表格处理]之AdminLTE
    kdevtmpfsi挖矿病毒导致服务器cpu高负荷运行
    Python3 '%Y-%m-%dT%H:%M:%S.000Z' 时间格式转换
    python-生成动态路由轨迹图(scapy模块)
    Python之XlsxWriter模块(数据报表)
    python之web服务质量探测(pycurl模块)
    Django-图片验证码
    最简容器化动手小实践——再战flappybird
    基于OAS设计可扩展OpenAPI
    Istio最佳实践:在K8s上通过Istio服务网格进行灰度发布
  • 原文地址:https://www.cnblogs.com/duoduo--up/p/6425340.html
Copyright © 2011-2022 走看看