MATLAB程序设计与应用 2.4 MATLAB常用内部函数
MATLAB程序设计与应用
文章目录
- MATLAB程序设计与应用
- 2. 第2章 MATLAB数据及其运算
- 2.4 MATLAB常用内部函数
- 2.4.1 常用数学函数
- 2.4.2 矩阵的超越函数
2. 第2章 MATLAB数据及其运算
2.4 MATLAB常用内部函数
内部函数是由 MATLAB 系统根据一般用户的需要编制并提供给用户使用的一组程序,也称为系统函数或库函数。
2.4.1 常用数学函数
MATLAB提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量具有相同维数和大小的矩阵,即结果矩阵与自变量矩阵同型。
>> A = [4,2;3,6]A =4 23 6>> B = sqrt(A)B =2.0000 1.41421.7321 2.4495
常用的数学函数
函数名 | 功能 | 函数名 | 功能 |
---|---|---|---|
sin/sind | 正弦函数,输入值为弧度/角度 | abs | 绝对值函数 |
cos/cosd | 余弦函数,输入值为弧度/角度 | rem | 求余 |
tan/tand | 正切函数,输入值为弧度/角度 | mod | 求模 |
asin/asind | 反正弦函数,返回值为弧度/角度 | fix | 向零方向取整 |
acos/acosd | 反余弦函数,返回值为弧度/角度 | floor | 不大于自变量的最大整数 |
atan/atand | 反正切函数,返回值为弧度/角度 | ceil | 不小于自变量的最小整数 |
sinh/asinh | 双曲正弦函数/反双曲正弦函数 | round | 四舍五入到最邻近的整数 |
cosh/acosh | 双曲余弦函数/反双曲余弦函数 | sign | 符号函数 |
tanh/atanh | 双曲正切函数/反双曲正切函数 | gcd | 最大公约数 |
sqrt | 平方根函数 | lcm | 最小公倍数 |
log | 自然对数函数 | factorial | 阶乘 |
log10 | 常用对数函数 | isprime | 判断是否为素数 |
log2 | 以2为底的对数函数 | primes | 生成素数列表 |
exp | 自然指数函数 | perms | 生成所有排列 |
pow2 | 2的幂 | randperm | 生成任意排列 |
使用说明:
三角函数有以弧度为单位的函数和以角度为单位的函数,以角度为单位的函数在函数名后面加“d”,以示区别。
abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。例如, abs(-4). abs(3+4i)、abs(‘a’)的值分别为4、5、97。
求余运算和求模运算有相同的地方但又不完全一致,主要的区别在于对负整数进行除法运算时的操作不同。对于整数a、 b来说,求余运算或求模运算的方法都是先求整数商c=a/b,
再求余数或模r=a-c*b。求余运算在取c的值时,向0方向取整(fix函数),而求模运算在计算c的值时,向负无穷方向取整(floor函数)。rem与 mod 函数的区别是,当b≠0时,rem(a,b)=a-b.*fix(a./b),而mod(a,b)=a-b.*floor(a/b);当b=0时,rem(a,0)=NaN 而mod(a,0)=a。
显然,如果a、b符号相同,那么rem(a,b)=mod(a,b)。如果a、b符号相反,那么
mod(a,b)=rem(a,b)+b。rem(a,b)的符号与a相同,而 mod(a,b)的符号与b相同。例如,rem(7,4)=mod(7,4)=3;rem(-7,-4)=mod(-7,-4)=-3;rem(7,-4)=3,而 mod(7,-4)=-1:rem(-7,4)-3,而mod(-7,4)=1 。用于取整的函数有fix、floor、ceil、round,要注意它们的区别。round 函数的作用是四舍五入。设a为最靠近x的正整数(|x|≥a),则其余3个函数的区别:
设x=2.45,则fix(x)、floor(x)、ceil(x)、round(x)的结果分别是2、2、3、2。又设x=-2.65,则fix(x)、floor(x)、 ceil(x)、 round(x)的结果分别是-2、-3、-2、-3。
- 关于符号函数。当x<0时,sign(x)=-1:当x=0时,sign(x)=0:当x>0时,sign(x)=1。
2.4.2 矩阵的超越函数
MATLAB还提供了一些直接作用于矩阵的超越函数,这些函数名都在上述内部函数名之后缀以m,并规定输入参数A必须是方阵。
矩阵平方根
sqrtm(A)计算矩阵A的平方根√A。
>> A = [4,2;3,6]; >> B = sqrtm(A)B =1.9171 0.46520.6978 2.3823>> B * Bans =4.0000 2.00003.0000 6.0000
若A为实对称正定矩阵或复埃尔米特(Hermitian)正定阵,则一定能算出它的平方根。但某些矩阵,如 A=[0,1;0,0]就得不到平方根。若矩阵A含有负的特征值,则sqrtm(A)将会得到一个复矩阵。
>> A = [4,9;16,25]; >> eig(A)ans =-1.445230.4452>> B = sqrtm(A)B =0.9421 + 0.9969i 1.5572 - 0.3393i2.7683 - 0.6032i 4.5756 + 0.2053i
矩阵对数
logm(A)计算矩阵4 的自然对数。此函数输入参数的条件与输出结果间的关系和函数sqrtm(A)完全一样。
>> A = [4,9;1,5]; >> L = logm(A); >> LL =1.0639 2.43080.2701 1.3340
矩阵指数
expm(A)的功能是求矩阵指数e的A次幂。
L =1.0639 2.43080.2701 1.3340>> B = expm(L)B =4.0000 9.00001.0000 5.0000
普通矩阵函数
funm(A,@fun)对方阵A计算由 fun定义的函数的矩阵函数值。例如,当fun取exp时,funm(A,@exp)可以计算矩阵A的指数,与 expm(A)的计算结果一样。
>> A = [2,-1;1,0]; >> funm(A,@exp)ans =5.4366 -2.71832.7183 0>> expm(A)ans =5.4366 -2.71832.7183 0
funm函数可以用于 exp、log . sin、cos, sinh和 cosh等函数,但求矩阵的平方根只能用sqrtm函数。
MATLAB程序设计与应用 2.4 MATLAB常用内部函数相关推荐
- matlab平面问题编程,有限元平面矩形单元MATLAB程序设计.docx
有限元平面矩形单元MATLAB程序设计 有限元平面矩形单元MATLAB程序设计摘要本论文主要研究内容是有限元平面矩形单元的基本原理和MATLAB软件的图形用户界面及函数编程的基本知识,并根据有限元平面 ...
- MATLAB程序设计与应用 3.1 特殊矩阵
MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 3. 第3章 MATLAB矩阵处理 3.1 特殊矩阵 3.1.1 通用的特殊矩阵 3.1.2 用于专门学科的特殊矩阵 3. 第3章 M ...
- MATLAB程序设计与应用 2. 第2章 MATLAB数据及其运算 2.1 MATLAB数值数据 2.2 MATLAB矩阵的表示 2.3 变量及其操作
MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 2. 第2章 MATLAB数据及其运算 2.1 MATLAB数值数据 2.1.1 数值数据类型的分类 2.1.2 数据的输出格式 2. ...
- MATLAB程序设计与应用 4.1 M文件
MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 4. 第4章 MATLAB程序流程控制 4.1 M文件 4.1.1 M文件的建立与打开 4.1.2 M文件的分类 4. 第4章 MAT ...
- matlab程序设计基础m文件,实验五 M文件和MATLAB程序设计.doc
实验五 M文件和MATLAB程序设计 第 PAGE \* Arabic \* MERGEFORMAT 10 页 实验五 M文件和MATLAB程序设计 一.实验目的 matlab作为一种高级计算机语言, ...
- 常用滤波器Matlab程序设计
常用滤波器Matlab程序设计 (低通滤波器.高通滤波器.带通滤波器.带阻滤波器) 以下四个滤波器都是切比雪夫I型数字滤波器 1.低通滤波器 低通滤波(Low-pass filter) 是一种过滤 ...
- c2064 项不会计算为接受0个参数的函数_无网格法理论与Matlab程序设计(6)——传统径向基点插值(RPIM)形函数...
参考资料 G.R.Liu Y.T.GU著 王建明 周学军译 <无网格法理论及程序设计> 数值实现 Matlab 2019a 前情回顾 形式主义的居士:无网格法理论与Matlab程序设计(1 ...
- matlab watershed函数简单实现_薛定宇教授大讲堂(卷):MATLAB程序设计|文末赠书...
00作者简介 薛定宇 分别在沈阳工业大学.东北大学和英国Sussex大学获得学士(1985年).硕士(1988年)和博士学位(1992年),1997年任东北大学信息学院教授.深耕于计算机在数学与自动控 ...
- matlab设计菜单教程,MATLAB程序设计教程(11)——MATLAB图形用户界面设计
MATLAB程序设计教程(11)--MATLAB图形用户界面设计 第11章 MATLAB图形用户界面设计 11.1 菜单设计 11.2 对话框设计 11.3 图形用户界面设计工具 11.1菜单 ...
- matlab程序设计实例——语音识别
matlab程序设计实例--语音识别 经典的语音识别流程如下 语音输入--去噪滤波--特征提取--形成模板库--输入测试语音--匹配模板库--得出结论. 在语音处理时最常用的是DTW进行模式匹配,运用 ...
最新文章
- mybatis =或这个=提示错误Tag name expecte问题解决
- Java内部类手机专卖店_JAVA——内部类的那些事儿
- Uber AI实验室总结「神经进化」研究:如何利用遗传算法优化网络?
- 面试大法——算法、Python、机器学习等笔试面经资源 | 干货收藏
- asp.net 获取 当前日期时间 及 前后N天日期时间(DropDownList数据绑定)
- 布隆过滤器Bloom Filter简介
- Linux服务器编程之:chown()函数,chown命令
- 程序员必备的 10 大 GitHub 仓库
- python声音信号调制_用python产生正弦波和PWM信号产生脉冲幅度调制
- yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis
- Python爬虫项目--批量下载联合国粮食数据
- Go36-32-context.Context
- .net与.net core学习目录
- java如何设置文本框提示_[Java教程]一个友好的文本框内显示提示语 jquery 插件
- Unity TimeLine学习笔记
- coffeescript html5,CoffeeScript函数
- 战列舰机械计算机,问个事,二战时期的战列舰可以装备垂直稳定仪么?
- 微信签到 表单 mysql_java做的一个简易的微信签到系统
- HDU 5454 Excited Database【线段树】
- requirejs的缺点
热门文章
- appcms手机端点击按钮返回顶部
- oracle给表更名,Oracle重命名表
- win10任务栏卡死桌面正常的解决方法
- JPEG图像格式及文件结构
- 【Xmy的第一次Python】
- [Vue warn]: Extraneous non-props attributes (style) were passed to component but could not be 警告
- 数据库服务器的安装与配置
- calico源码分析-ipam(1)
- TNS-12555 TNS-12560错误
- 6-1 哈夫曼树及哈夫曼编码分数