matlab定义函数表达式
matlab⾃定义复杂函数,Matlab⾃定义函数的⼏种⽅式.PPT Matlab⾃定义函数的⼏种⽅式
数学软件 Matlab ⾃定义函数的⽅式 函数⽂件 ⼦函数 内联函数 匿名函数 匿名函数 符号表达式 上机作业 * * —— ⾃定义函数的⼏种⽅式Matlab 中⾃定义函数的常见⽅式 脚本⽂件/函数⽂件+ 函数⽂件 函数⽂件 + ⼦函数 内联函数和匿名函数 符号表达式 + subs % 脚本⽂件:myfile1.m clear for t=1:10; y=mylfg(t); fprintf('%4d^(1/3) = %6.4f\n',t,y); end % 函数⽂件:mylfg.m function y =
mylfg(x) y=x^(1/3); 函数必须单独写⼀个⽂件!不能与命令⽂件写在同⼀个⽂件中! 函数名与⽂件名必须⼀致! 调⽤函数时要注意实参与形参的匹配! ⽅式⼀:命令⽂件/函数⽂件 + 函数⽂件 % 函数⽂件:funtry2.m function []=funtry2() for t=1:10 y=lfg2(t);
fprintf('%4d^(1/3) = %6.4f\n',t,y); end function y=lfg2(x) % ⼦函数 y=x^(1/3); 函数⽂件中可以定义⼀个或多个⼦函数,此时我们称该函数为主函数,⼦函数只能被主函数或同⼀个函数⽂件中的其它⼦函数调⽤! ⽅式⼆:函数⽂件 + ⼦函数 函数可以使⽤ end 表⽰结束,但这不是必须的。 f=inline('函数表达式','变量1','变量2',...) y=f(实参列表) 实参列表应与定义时的变量顺序保持⼀致 例: ⽅式三:内联函数和匿名函数 内联函数 调⽤⽅式 f=inline('x^2+y','x','y') y=f(2,3) 根据实际情况,定义函数时可能需要使⽤数组运算 例: ⽅式三:内联函数和匿名函数 匿名函数 + 函数句柄 f = @ (变量列表) 表达式 y=f(实参列表) 调⽤⽅式 f = @(x,y) x^2 + y; y = f(2,3) 实参列表应与定义时的变量列表保持⼀致 根据实际情况,可能需
要使⽤数组运算 这种函数定义⽅式是将 f 作为⼀个内部函数调⽤。其特点是:调⽤⽅式最接近于我们平时对函数的定义,使程序更具可读性。同时由于它是基于 Matlab 的数值计算内核的,所以它的运算速度较快,程序更有效率。 这种定义⽅式的缺点: 只能定义⼀些简单的函数; 不⽀持符号运算。 ⾸先定义⼀个符号表达式/函数,⽤ subs 命令调⽤ syms x f=1/(1+x^2); subs(f,x,代替 x 的数值或符号) ⽅式四:符号表达式 + subs 优点:可以进⾏符号计算 缺点:由于使⽤符号运算内核,运算速度会⼤⼤降低。 1、已知 Chebyshev 多项式定义如下: 利⽤符号计算,编程计算 T10(x) (注:Tn(x) 为 n 阶多项式) 程序取名
m82.m 2、利⽤多项式运算,采⽤递归⽅法,实现上题 程序取名 m81.m