matlab程序设计 函数,matlab编程基础(函数).ppt

数学软件 Matlab 本讲主要内容 Matlab 编程 函数文件 编程示例 函数文件举例 函数文件举例 函数调用 递归函数举例 递归函数举例 参数的可调性举例 局部变量与全局变量 全局变量的定义 程序示例 子函数 子函数举例 函数句柄 内联函数 匿名函数 上机作业 数学实验 Matlab 自定义函数 自定义函数的五种方式 自定义函数方式(一) 自定义函数方式(二) 自定义函数方式(三) 自定义函数方式(三) 自定义函数方式(三) 自定义函数方式(三) 自定义函数方式(四) 自定义函数方式(四) 自定义函数方式(五) 自定义函数方式(五) 注:对于在 syms 中已经定义过符号变量,在 subs 中进行替代时,单引号可以省略。但如果在 syms 后又被重新定义为其它类型,则必须加单引号,否则不可替换。 syms 定义一个符号表达式,用 subs 命令调用 syms f x %定义符号 f=1/(1+x^2); %定义符号表达式 subs(f,'x',代替 x 的数值或符号) 方式四: syms + subs 这种函数定义方法的一个特点是可以用符号进行替换 该方法的缺点也是明显的:由于使用符号运算内核,运算速度会大大降低。 注:此处 x 的单引号不可省略。本函数方式可以代入字符,但字符不能参与运算,否则将自行转化成该字符的 ASCII 码运算,这与我们想要的结果可能会大相径庭。 直接定义一个字符串,用 subs 命令完成调用。 例: f='1/(1+x^2)' % 定义字符串 z=subs(f,'x',2) g=subs(f,'x','y^2') 优点:占内存最少,定义格式方便自由。 方式五:字符串 + subs subs 命令的一种比较方便的调用方法: 当所要替代的符号在调用前都已经有了数值定义,则可以直接调用:subs(f) 例: 关于 subs 的一个注解 * * * * —— Matlab 编程(函数) 什么是函数文件 如何编写函数文件 递归函数 函数参数的可调性 局部变量与全局变量 子函数 函数句柄、内联函数、匿名函数 M 文件根据调用方式的不同可以分为两类: Script:脚本文件/命令文件 Function:函数文件 直接输入文件名即可运行 供其它M文件调用,通常带输入参数和输出参数 function 输出形参列表=函数名(形参列表) % 注释说明部分(可选) 函数体语句(必须) 第一行为引导行,表示该 M文件是函数文件 函数名的命名规则与变量名相同 ( 必须以字母开头 ) 当输出形参多于一个时,用方括号括起来 函数文件一般格式 函数文件名必须与函数名一致 函数必须是一个单独的 M文件 函数文件(f2cf.m): 例:将华氏温度转化为摄氏温度: clear; f=input('Please input f:'); c=5*(f-32)/9; fprintf('c = %g\n',c); 脚本文件 (f2cs.m): function c = f2cf(f) c=5*(f-32)/9; fprintf('c = %g\n',c); function [a,b] = myswap(x,y) % swap x and y a = y; b = x; 例:交换两个变量的值 myswap.m 有两个输入参数和两个输出参数 function printyh(n) % 打印杨辉三角形, 本函数没有输出参数 yh = 1; disp(yh); if n==1, return; end yh = [1,1]; disp(yh); for k = 3 : n yh_old = yh; k2 = ceil(k/2); for i = 2 : k2 yh(i) = yh_old(i-1) + yh_old(i); end yh(k2+1:k) = yh(k-k2:-1:1); disp(yh); end 例:打印杨辉三角形 printyh.m 没有输入参数和输出参数 函数调用的一般格式 输出实参列表=函数名(输入实参列表) 函数调用时,实参的顺序应与函数定义时形参的顺序一致 实参与形参之间的结合是通过值传递实现的 函数可以嵌套调用,即一个函数可以被其它函数调用, 甚至可以被它自身调用,此时称为递归调用 函数所传递的参数具有可调性,Matlab 用两个永久变量 nargin 和 nargout 分别记录调用该函数时的输入实参 和输出实参的个数 % 函数文件 myfactor.m function y=myfactor(n) if (n<=1) y=1; else

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值