• matlab自定义函数的五种表示(前2种重点)


    1.命令文件/函数文件+函数文件:多个M文件

    2.函数文件+子函数:一个M文件

    3. inline:无需M文件

    4.符号表达式+subs方式:无需M文件

    5.字符串+subs方式:无需M文件


    第一种:命令文件/函数文件+函数文件

    %命令/函数文件:myfile1.m

    clear

    for t=1:10

         y=mylfg(t);

         fprintf('%4d^(1/3) = %6.4f ',t,y);

    end

    %函数文件:mylfg.m

    function y = mylfg(x)

    y=x^(1/3);

    NOTE:

       1.函数调用时注意实参与形参的匹配

       2.函数必须单独写在一个文件!

         不你能与命令文件写在同一个文件中。

       3.函数名最好与文件名一致。


    第二种方式:函数文件+子函数

        %函数文件:funtry2.m

         fumction [] = funtry2()

        for t= 1:10

         y=lfg2(t);

        fprintf('%4d^(1/3)  %6.4f ',t,y);

        end

    %%子函数

       function y = lfg2(x)

        y =x^(1/3);

     NOTE:

        函数文件中可以定义一个或多个子函数,此时我们称该函数为主函数,子函数只能被主函数或同一个函数文件中的其他函数调用。

    疑问:方式一中的函数文件与方式二种的主函数如何区别呢????是一个概念吗???


    方式三:inline+命令/函数文件

    1.inline命令可以用来定义一个内联函数

        f = inline('函数表达式',‘变量1’,‘变量2’,....)

     2.调用方式:y=f(数值列表)

         带入的数值列表顺序应与定义时的变量名顺序一致

    eg:   f = inline('x^2+y','x','y');

           z = f(2,3);

          z =7

        优点:运算速度快

         缺点:1.占用内存多2.只能对数值带入不能进行求导等符号运算

      


    方式四:syms + subs

      syms定义一个符号表达式,用subs命令调用

       syms f x %定义符号

       f =1/(1+x^2);   %定义符号表达式

      subs(f,'x',代替x的数值或符号)

        优点:可以用符号替换

        缺点:运算速度低


    方式五:字符串 + subs

    直接定义一个字符串,用subs命令完成调用

    f= ' 1/(1+x^2)'

    z=subs(f,'x',2)

    g = subs(f,'x','y^2')

    优点:占用内存少,格式方便自由

  • 相关阅读:
    Appium python环境搭建
    打印各种三角形 正方形
    python学习笔记之---多进程实例
    selenium简介及发展
    python使用selenium自动化实现126邮箱登录的简单实例
    使用多进程访问网址的实例
    python学习笔记之---多进程【理论】
    爬虫设置定时任务
    python中eval和exec用法比较
    python使用文件处理加函数的方式写ATM简易操作
  • 原文地址:https://www.cnblogs.com/chip/p/4784094.html
Copyright © 2020-2023  润新知