




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自定义函数 简单函数的定义复杂情况纯函数函数的属性 简单函数的定义 自定义函数的方法f x x 2 yf 2 f y f a 1 在例中 In 1 定义了数学意义上的函数f x x 2 y 自定义函数仍用 函数名 自变量 的形式 其中自变量x用x 表示 而 用 表示 等号右边的数学表达式按常规形式 这一步执行后 没有输出结果 但Mathernatica记忆了关系式f x x 2 y 在例中首先定义了自变量是u v的二元函数f u v u 2 v 2 在In 3 中以u 1 v l x代入得到函数值1 l x 2 在In 4 和In 5 中就是对表达式1 1 x 2求导和积分 这说明 对自定义函数仍可按人的意图进行各种符号运算 不过在Mathematica中自定义函数时 格式较为特殊 容易出现错误 x与x 的区别 g x x 2 y f x x 2 yg 2 f 2 g y f y f x 可以定义函数 g x 不能定义一个函数Mathematica只记住了符号g x 表示x 2 y 但g 2 和g y 等并没有值被求出 Mathematics约定f x 中的x 表示函数f的自变量 而f x 表示函数f当自变量取值为x时的函数值 与 的差别 如果将例中的 改用 却一切正常 看不出问题 但它们的差别可由下例说明 两种等号的差别之一 x 2 f x 2x g x 2x f gf 3 g 3 在例中因为开始己经定义x 2 当使用 定义f x 时 立即将右边的数学表达式进行求值 将x 2代入得到函数定义式f x 4 Mathematica记忆的是f x 4 而使用 时 Mathematics总是将输入的函数定义式原样记忆 如果事先没有定义x 2 则不会出现上述问题 被Mathematica记忆的仍是f x 2x 使用表达式f x 2x与使用表达式f x 2x没有区别 再求f 3 时都是将x 3代入定义式右边的数学表达式 得到6 也就是说 都可以理解成了f x 2x了 因此两种等号没有差别 二种等号的差别之二 在例中前一个函数定义后右边的积分立即被求出 而后一个函数在定义后并不进行积分 再求函数值时才进行积分 使用 查看可知 被Mathematica记忆的函数表达式不同 使用 时立即对右边的数学表达式进行计算 使用 时右边的数学表达式不变 当求函数值时才进行计算 定义函数时 两种等号都可以使用 应当弄清两者的差别适当选用 不要造成定义函数必须使用 的错觉 由多个表达式定义的函数 可以使用递推公式定义函数 自定义计算n 的函数 f 0 1 f n nf n 1 f 10 说明 在例中In 1 定义了函数值f 0 In 2 的函数定义式是递推公式 由此实际上定义了f n n 但以上定义有缺陷 如果求f 0 5 就会出错 因为Mathematica并不认为n表示非负整数 解决方法是用n Integer Positive替代n 说明n是整数 头为Integer 并且满足是正数的条件 其中问号是后一条件的分隔符 参数个数不确定的函数 定义一个函数时 允许事先对参数指定默认值 如果使用时不给出参数值 就自动将默认值作为参数值 这样的参数格式如下 x v其中冒号后面的v表示参数x的默认值 f x y 0 x 2 y 2 f 3 f 3 4 以上In 1 中定义了第2个参数的默认值为0 这样在求值时允许不给出第2个参数的值 但是如果两个参数都使用默认值 就会出问题 在In 2 中就无法识别所给的一个参数值究竟是赋给哪一个参数的 当只有一个可选参数时 使用以上方法是最方便的 复杂情况 1 参数的一般表示法 可以表示任何一个表达式x 代表一个名为x的表达式 x h代表一个名为x附加有限制性说明h的表达式 可以代表任何一个或多个表达式x 可以代表名为x的一个或多个表达式 x h代表名为x附加说明h的一个或多个表达式 可以代表任何零个或多个表达式x 可以代表名为x的零个或多个表达式 x h代表名为x附加说明h的零个或多个表达式 f 2a f x f y 2 f 1 2 说明 上例定义的是一元函数 无论自变量取何值都得到同一函数值 实际上定义了一个常值函数 最后的f 1 2 是不合法的 因为一个下划线只能代表一个参数 Mathematica不能求值 f x y g ab f a f 1 2 s g g r g 1 2 说明 上述两个例子演示了单下划线 双下划线 三下划线的区别 一然而它们却没有实用价值 因为它们时函数定义式右边的数学表达式不起作用 真正有实用价值的应用是自定义带有可选参数的函数 Plotsin a b opt Plot Sin x x a b opt Plotsin 0 2Pi AxesLabel t r AxesOrigin Pi 0 可选项可以是任意多个或没有 因而在定义式中使用了三下划线 f x 0 x g x y xy f 1 2 3 4 5 g 1 2 3 4 5 说明 这两个自定义函数并不复杂 但会使人感觉到 使用个数不确定的参数 既令人费解又容易出错 以上作为函数参数使用的带有下划线的那些表达式称为模式 模式指明了参数的结构与名称 设置可选参数默认值的普遍方法如果可选参数较多 可以使用以下两种方法设置默认值 SetOptions f option1 value1 设置函数f的一个或多个可选参数的默认值 Options f option1 value1 设置函数f的全部可选参数的默认值 以上两种设置方法的差别在于 后一个是设置全部可选参数的默认值 而前者可以只设置或改变部分默认值 后一函数还可以用于查阅默认值 Options f a 1 b 2 f x opt ax b opt Options f f f 2 f 2 b 3 f 2 a 2 f 2 a 2 b 3 以上函数的定义式的形式为 函数表达式 输入的可选参数表 默认的可选参数表 执行过程是 首先将非可选参数的值代入函数表达式 然后将输入的可选参数表中给出的可选参数值代入函数表达式 因为用户给出的可选参数值先进行替换 就不会再用默认值替换了 用户没有给出值的可选参数 最后一律被默认值替换 这里需要注意 opt 的格式 是将所有输入的可选参数表达式放入一个表中 这是操作符 要求的 纯函数 纯函数的表达式Mathematica还使用一种特殊的函数表示式 能定义一种没有函数名字的函数 称这种函数为纯函数表达式 Function 自变量 函数表达式 表示一个函数 Function x x 2 Function x x 2 2 Function x x 2 3 也可以定义多元纯函数 Function x y Sin x Cos y Function x y Sin x Cos y 2 3 纯函数表达式的缩写形式 以上纯函数表达式比普通函数的表达式还复杂 需要键入更多的字符 然而改用纯函数的缩写形式就方便了 缩写形式是 函数表达式 用 替代Function并省略自变量一项 其中一元自变量用特殊符号 表示 多元时用 n表示第n个自变量 2 f Sin 1 Cos 2 f 2 3 说明 在例中In 1 是前例中定义的纯函数的缩写形式 在Out 1 中的 1与 意义相同 都表示自变量 缩写形式使纯函数表示法大大简化 用 字符表示自变量 用 表示纯函数 In 2 中的表达式 2 即 1 2 2 表示当 1 2时的函数值 In 3 中将纯函数用f表示 因此In 4 中的f 2 3 也是求纯函数的函数值 引入纯函数 实际上给出了另一种定义函数f x y sin x cos y 的方法 而且不必考虑自变量使用什么字符表示 还有符号 表示所有自变量 n表示从第n个起往后的所有自变量 函数的属性 查看函数的属性函数的属性用于指明函数所具有的某些特殊性质 Mathematica的内部函数大都带有一些属性 也可以给自定义函数添加属性 查看Sin x 的属性 Attributes Sin 查看 建立和清除属性的Attributes f 查看名为f的函数的属性 Attributes f attr1 attr2 设置f的属性Attributes f 设置f的无任何属性 添加和清除属性的函数 SetAttributes f attr1 attr2 添加属性到f的属性表中ClearAttributes f attr1 attr2 清除f的指定属性Clear f 清除f的定义但不清除属性 ClearAll f 清除f的定义和属性但不清除符号f Remove f 清除符号f 常用的函数属性 1 ProtectedProtected使函数的定义式受到保护 不能重新定义 Mathematica的内部函数都有此属性 以防被用户修改 除了使用上面列出的设置 添加 清除函数外 还有对这一属性的专门操作函数 Protect f 给函数f加上Protected属性 UnProtect f 清除函数fProtected属性 注意 内部函数也能被解除保护 重新定义和重新加上保护 但重启Mathematica时自动恢复原状 f x 2xProtect f ff x 3x 2 ReadProtected属性ReadProtected使函数的定义式不能用 查看 但是并不保护这个函数 f x 2x SetAttributes f ReadProtected f f x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理服务方法
- 网络文学作品影视改编权合作与分成协议
- 虚拟游戏装备交易平台分割及收益协议
- 花园围栏翻新与维护责任协议
- 谵妄个案护理
- 夫妻忠诚保证及共同债务处理协议
- 外籍技术顾问驻场咨询与技术服务协议
- 生物医药数据出境安全审查及合规操作协议
- 知识产权代理机构股权合作与知识产权战略布局协议
- 智慧社区智能安防系统服务与物业管理平台合作协议
- 2025届高考语文作文备考之审题立意30道选择题训练(附答案)
- 21. 三黑和土地 课件
- 挖掘机理论试题及答案
- 2025年银行从业资格考试个人理财真题卷权威解读
- 兴安盟2025年兴安盟事业单位春季专项人才引进30人笔试历年参考题库附带答案详解
- 西部计划考试试题及答案
- 2023江苏南通轨道交通集团有限公司运营分公司公开社会招聘97名工作人员笔试参考题库附带答案详解
- 婴儿保姆协议书范本
- 装修施工危险性较大工程应急处理预案:保障施工安全
- 出版行业书籍的包装与运输实施方案
- 光缆线路工程验收标准
评论
0/150
提交评论