Matlab中的内建函数

matlab提供了许多内建的数学函数,如三角函数、对数函数等,可以方便用户直接调用进行计算。调用的格式为:

r=MathFun(x)

其中r为函数计算结果,MathFun为函数名,x为输入值。一个函数可以直接调用另一个函数。

Matlab中的内建函数很多,常用的列在下表中:

函数符号 名称 函数符号 名称
sin(x) 正弦函数 asin(x) 反正弦函数
cos(x) 余弦函数 acos(x) 反余弦函数
tan(x) 正切函数 atan(x) 反正切函数
cot(x) 余切函数 acot(x) 反余切函数
sec(x) 正割函数 asec(x) 反正割函数
csc(x) 余割函数 acsc(x) 反余割函数
sinh(x) 双曲正弦函数 coth(x) 双曲余弦函数
cosh(x) 双曲余弦函数 cech(x) 双曲正割函数
tanh(x) 双曲正切函数 ctanh(x) 双曲余割函数
abs(x) 绝对值 sum(x) 求和
max(x) 最大值 min(x) 最小值
sqrt(x) 开平方 exp(x) 以e为底的指数
log(x) 自然对数 log10(x) 以10为底的对数
sign(x) 符号函数 mod(x) 两整数相除的余数
conj(x) 求复数的共轭 imag(x) 取复数的虚部
real(x) 取复数的实部 realmin 最小正数
i,j 虚数单位 pi π
eps 计算机的最小正数 realmax 最大正数
break 退出循环 Inf inf 无穷大
end 循环语句结束 NaN 非数
nargin 输入参数个数 nargout 输出参数个数
varargin 变长度输入宗量 varargout 变长度输出宗量
round(x) 四舍五入到最近整数 ceil(x) 右取整
fix(x) 最接近0的整数 floor(x) 左取整

Matlab自定义函数

Matlab有多种定义函数的方法,常用的有3种:

  • 用function构造函数
  • 用inline构造函数
  • 用syms构造符号函数

用function构造函数

此种方法构造函数,需要用.m文件保存。函数名应该与文件名一致,用户在调用的时候就像调用内建函数一样调用就可以了。

构造函数的格式为:

[输出实参表]=函数名(输入实参表)

注释部分

函数体语句

return 语句(可以有可以没有)

例:

function z=hello(x,y)
z=(x+y)/2; >> a=[1,2,3];
>> b=[4,5,6];
>> c=hello(a,b) c = 2.5000 3.5000 4.5000 >> feval('hello',a,b) ans = 2.5000 3.5000 4.5000

用inline构造函数

可以在命令窗口直接利用inline函数定义函数。如下:

 >> myfun=inline('(x+y)/2','x','y');
>> a=[1 2 3];
>> b=[4 5 6];
>> c=myfun(a,b) c = 2.5000 3.5000 4.5000 >> feval(myfun,a,b) ans = 2.5000 3.5000 4.5000

用syms构造符号函数

符号函数通常用syms或sym进行构造。

 >> syms x y;
>> myfun=(x+y)/2 myfun = x/2 + y/2 >> subs(myfun,{x,y},{a,b}) ans = [ 5/2, 7/2, 9/2]

syms函数只能用subs进行求解。


多项式相关函数

Matlab中关于多项式计算的函数很多,主要有:

  • polyval(x)
  • conv(x)

polyval(x)

调用格式为:

y=polyval(a,x0)

多项式系数向量按照降序排列

>> a=[1,0,3,-1,2];
>> polyval(a,1) ans = 5

conv(x)

用来计算两个多项式的乘积(多项式卷积函数)。调用格式为:

conv(A,B)

>> a=[1,0,3,-1,2];
>> b=[6,5,4,1];
>> conv(a,b) ans = 6 5 22 10 19 9 7 2

向量和矩阵运算函数

向量运算中的常用函数

函数名 调用形式 函数意义
linspace x=linspace(a,b,n) 将a,b分割成n分,生成向量
zeros x=zeros(n,m) 昌盛n行m列的零矩阵
length len=length(x) 返回响亮的长度或者矩阵的最大维数
size size(x) 返回矩阵的行数和列数
+ x+y 同维向量相加
* c*x 标量和向量相乘
dot dot(x,y) 向量点积
cross cross(x,y) 向量叉积

矩阵的基本运算

矩阵元素提取

矩阵元素提取的形式为:A(vr,vc),如果用冒号,表示全部行或列。也可以分片取。如:

A(1,3) 表示矩阵的第1行,第3列这个元素
A(1:3,[3 5 7])表示取矩阵第1,2,3行和第3,5,7列的元素
A(:,3) 表示取第3列的所有元素
特殊矩阵的创建函数
函数 功能
ones(n) 创建n阶矩阵
ones(m,n) 创建m行n列的矩阵
ones(m,n,p) 创建m行n列p页的三维矩阵
eye(n) 创建n阶单位阵
zeros(m,n,p) 创建全为0的矩阵
rand(m,n,p) 创建均匀分布的矩阵
randn(m,n,p) 创建正态分布的矩阵
pascal(n) 创建帕斯卡矩阵
magic(n) 创建魔术矩阵
构造矩阵

构造矩阵是指由已有的矩阵,通过矩阵运算来得到新的矩阵。主要有:矩阵转置、矩阵分片提取、矩阵合并(列扩展)、矩阵合并(行扩展)、对角化等手段。

注意:矩阵中的元素可以是整数、浮点数、复数。

矩阵运算、矩阵操作函数
操作符 含义 操作符 含义
A+B 矩阵相加 A-B 矩阵减法
A*B 矩阵乘法 A.*B 矩阵点乘
A/B 矩阵右除 A./B 矩阵右点除
A\B 矩阵左除 A.\B 矩阵左点除
A^n 矩阵乘方 A.^n 矩阵元素乘方
rot90(A) 矩阵旋转90° fliplr(A) 矩阵左右翻折
flipud(A) 矩阵上下翻折 reshape(A) 保持元素不变改变矩阵的维数
norm(A) 向量或矩阵的范数 rank(A) 矩阵的秩
det(A) 矩阵的行列式 trace(A) 矩阵的迹
inv(A) 方阵的逆矩阵 eig(A) 特征值与特征向量
size(A) 矩阵的阶数 cond(A) 矩阵的条件数
lu(A) 矩阵的LU分解 qr(A) 矩阵的QR分解

Matlab学习记录(函数)的更多相关文章

  1. 【编程语言】Matlab 学习记录

    title: Matlab Learning Record date: 2020-05-23 20:11:26 author: liudongdong1 img: https://gitee.com/ ...

  2. matlab学习记录

    1.在命令框输入preferences,可以调整字体大小 2.产生正太分布函数 参考:https://blog.csdn.net/s334wuchunfangi/article/details/816 ...

  3. Python3.5入门学习记录-函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  4. matlab学习笔记 函数bsxfun repmat

    一.举例 a=rand(3,1);b=rand(1,3); c=bsxfun(@plus,a,b); d=a*b; c和d的运算类似,只不过c是外加,d是外乘. 作用:速度快>for循环> ...

  5. Matlab 进阶学习记录

    最近在看 Faster RCNN的Matlab code,发现很多matlab技巧,在此记录: 1. conf_proposal  =  proposal_config('image_means', ...

  6. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  7. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  8. Python大神成长之路: 第三次学习记录 集合 函数 装饰 re

    学习记录day03   字符串可以直接切片,But字符串不可修改 字符串修改:生成了一个新的字符串 LIst修改,在原基础上修改(原内存上)     集合是一个无序的,不重复的数据组合,它的主要作用如 ...

  9. Lua和C++交互 学习记录之七:C++全局函数注册为Lua模块

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

随机推荐

  1. thinkphp5实现mysql数据库还原

    数据库还原其实就是从.sql文件中读取一行一行的命令,然后执行 需要配置数据库文件database.php,数据库名,主机名,用户名,密码这里就不说了,这里说的要配置数据库连接参数 'params' ...

  2. PKUSC 2018 题解

    PKUSC 2018 题解 Day 1 T1 真实排名 Link Solution 考虑对于每一个人单独算 每一个人有两种情况,翻倍和不翻倍,他的名次不变等价于大于等于他的人数不变 设当前考虑的人的成 ...

  3. GYM 101933A(dp)

    要点 \(\sum{w_i} <= 1e8\)是有意味的. 设\(dp[i]\)为至少可以承受重量\(i\)的最大可达高度.转移时可以转移的\(j\)必须满足加上它之后得保证各层不能超重,所以\ ...

  4. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) A

    Petya is a big fan of mathematics, especially its part related to fractions. Recently he learned tha ...

  5. sqlserver跟据当天年月日日期查询数据库当天数据

    select * from Client where  CONVERT(varchar(100), Cli_Datetime, 23) ='2017-11-06' 在查询之前要对表中datetime类 ...

  6. sql常用操作(二)数据约束

    1.1什么是数据约束: 对用户操作表的数据进行约束 1.2 默认值 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值. 注意: 1)对默认值字段插入null是可以的. 2)对默认值字段可以 ...

  7. 关于Kendo UI 开发教程

    Kendo UI 开发教程 jQuery UI 是一套 JavaScript 函式库,提供抽象化.可自订主题的 GUI 控制项与动画效果.基于 jQuery JavaScript 函式库,可用来建构互 ...

  8. java 通过文件后缀名查找文件

    最近开发项目的时候需要过滤出一些指定的文件,所以有了以下的一些代码: /** **该类主要是过滤得到指定后缀名的文件 **/ public class DataFileFilter implement ...

  9. 升级CentOS内核 - 2.6升级到3.10/最新内核

    ##记得切换到root用户执行升级操作. [root@localhost ~]# uname -a ##旧版 Linux localhost.localdomain 2.6.32-279.el6.i6 ...

  10. (二)我的JavaScript系列:JavaScript面向对象旅程(下)

    剪不断,理还乱,是离愁. 前面已经提到过新语言开发的两个步骤,分别是:一.定义基本的数据类型,完善结构化编程语言的设计:二.为函数类型绑定this的概念,好在对象的方法中可以引用到对象自身.下面是继续 ...