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 生成任意排列

使用说明:

  1. 三角函数有以弧度为单位的函数和以角度为单位的函数,以角度为单位的函数在函数名后面加“d”,以示区别。

  2. abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。例如, abs(-4). abs(3+4i)、abs(‘a’)的值分别为4、5、97。

  3. 求余运算和求模运算有相同的地方但又不完全一致,主要的区别在于对负整数进行除法运算时的操作不同。对于整数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 。

  4. 用于取整的函数有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。

  1. 关于符号函数。当x<0时,sign(x)=-1:当x=0时,sign(x)=0:当x>0时,sign(x)=1。
2.4.2 矩阵的超越函数

MATLAB还提供了一些直接作用于矩阵的超越函数,这些函数名都在上述内部函数名之后缀以m,并规定输入参数A必须是方阵。

  1. 矩阵平方根

    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
    
  2. 矩阵对数

    logm(A)计算矩阵4 的自然对数。此函数输入参数的条件与输出结果间的关系和函数sqrtm(A)完全一样。

    >> A = [4,9;1,5];
    >> L = logm(A);
    >> LL =1.0639    2.43080.2701    1.3340
    
  3. 矩阵指数

    expm(A)的功能是求矩阵指数e的A次幂。

    L =1.0639    2.43080.2701    1.3340>> B = expm(L)B =4.0000    9.00001.0000    5.0000
    
  4. 普通矩阵函数

    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常用内部函数相关推荐

  1. matlab平面问题编程,有限元平面矩形单元MATLAB程序设计.docx

    有限元平面矩形单元MATLAB程序设计 有限元平面矩形单元MATLAB程序设计摘要本论文主要研究内容是有限元平面矩形单元的基本原理和MATLAB软件的图形用户界面及函数编程的基本知识,并根据有限元平面 ...

  2. MATLAB程序设计与应用 3.1 特殊矩阵

    MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 3. 第3章 MATLAB矩阵处理 3.1 特殊矩阵 3.1.1 通用的特殊矩阵 3.1.2 用于专门学科的特殊矩阵 3. 第3章 M ...

  3. 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. ...

  4. MATLAB程序设计与应用 4.1 M文件

    MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 4. 第4章 MATLAB程序流程控制 4.1 M文件 4.1.1 M文件的建立与打开 4.1.2 M文件的分类 4. 第4章 MAT ...

  5. matlab程序设计基础m文件,实验五 M文件和MATLAB程序设计.doc

    实验五 M文件和MATLAB程序设计 第 PAGE \* Arabic \* MERGEFORMAT 10 页 实验五 M文件和MATLAB程序设计 一.实验目的 matlab作为一种高级计算机语言, ...

  6. 常用滤波器Matlab程序设计

    常用滤波器Matlab程序设计 (低通滤波器.高通滤波器.带通滤波器.带阻滤波器) 以下四个滤波器都是切比雪夫I型数字滤波器 1.低通滤波器 ​ 低通滤波(Low-pass filter) 是一种过滤 ...

  7. c2064 项不会计算为接受0个参数的函数_无网格法理论与Matlab程序设计(6)——传统径向基点插值(RPIM)形函数...

    参考资料 G.R.Liu Y.T.GU著 王建明 周学军译 <无网格法理论及程序设计> 数值实现 Matlab 2019a 前情回顾 形式主义的居士:无网格法理论与Matlab程序设计(1 ...

  8. matlab watershed函数简单实现_薛定宇教授大讲堂(卷):MATLAB程序设计|文末赠书...

    00作者简介 薛定宇 分别在沈阳工业大学.东北大学和英国Sussex大学获得学士(1985年).硕士(1988年)和博士学位(1992年),1997年任东北大学信息学院教授.深耕于计算机在数学与自动控 ...

  9. matlab设计菜单教程,MATLAB程序设计教程(11)——MATLAB图形用户界面设计

    MATLAB程序设计教程(11)--MATLAB图形用户界面设计 第11章  MATLAB图形用户界面设计 11.1  菜单设计 11.2  对话框设计 11.3  图形用户界面设计工具 11.1菜单 ...

  10. matlab程序设计实例——语音识别

    matlab程序设计实例--语音识别 经典的语音识别流程如下 语音输入--去噪滤波--特征提取--形成模板库--输入测试语音--匹配模板库--得出结论. 在语音处理时最常用的是DTW进行模式匹配,运用 ...

最新文章

  1. mybatis =或这个=提示错误Tag name expecte问题解决
  2. Java内部类手机专卖店_JAVA——内部类的那些事儿
  3. Uber AI实验室总结「神经进化」研究:如何利用遗传算法优化网络?
  4. 面试大法——算法、Python、机器学习等笔试面经资源 | 干货收藏
  5. asp.net 获取 当前日期时间 及 前后N天日期时间(DropDownList数据绑定)
  6. 布隆过滤器Bloom Filter简介
  7. Linux服务器编程之:chown()函数,chown命令
  8. 程序员必备的 10 大 GitHub 仓库
  9. python声音信号调制_用python产生正弦波和PWM信号产生脉冲幅度调制
  10. yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis
  11. Python爬虫项目--批量下载联合国粮食数据
  12. Go36-32-context.Context
  13. .net与.net core学习目录
  14. java如何设置文本框提示_[Java教程]一个友好的文本框内显示提示语 jquery 插件
  15. Unity TimeLine学习笔记
  16. coffeescript html5,CoffeeScript函数
  17. 战列舰机械计算机,问个事,二战时期的战列舰可以装备垂直稳定仪么?
  18. 微信签到 表单 mysql_java做的一个简易的微信签到系统
  19. HDU 5454 Excited Database【线段树】
  20. requirejs的缺点

热门文章

  1. appcms手机端点击按钮返回顶部
  2. oracle给表更名,Oracle重命名表
  3. win10任务栏卡死桌面正常的解决方法
  4. JPEG图像格式及文件结构
  5. 【Xmy的第一次Python】
  6. [Vue warn]: Extraneous non-props attributes (style) were passed to component but could not be 警告
  7. 数据库服务器的安装与配置
  8. calico源码分析-ipam(1)
  9. TNS-12555 TNS-12560错误
  10. 6-1 哈夫曼树及哈夫曼编码分数