matlab-计算 函数速查 - 大宝pku

matlab-计算 函数速查

来源:http://google.com/notebook/public/17390137574335246864/BDQ55DQoQtpbYmKkk

数字计算

isa( 变量 , \'类名\' )

判断 变量是否是这种 数据类型

randn

正态分布随机数

randn(m,n)

.* .^ 矩阵对应元素相运算

.* 对应元素相乘 .^ 乘幂 ./ .\ 除

a = [ 2 , 3 , 4 ]; b = a .* a c = a .^ 3

.\' 只转置不共轭

C = [1+i, 4-i; 5+2*i, 3-3*i]

C.\'

C\'

逻辑运算

矩阵对应元素进行比较,成立返回1,反之返回0

> < >= <= == ~=

&与 |或 ~非 xor异或

randint

创建整数随机数

randint(m,n,[a,b])

m*n规格的 a到b 的随机数 a,b缺省为 0~1

rand

生成随机数 rand(a,b)

复数

imag 虚部,不含系数 i

real 实部

angle 幅角

pow2 2的次方

取整

fix 向0靠近

floor 比他小

ceil 比他大

round 四舍五入

rem

相除取余数 rem(a,b) a除以b的余数

conj

共轭复数

double

将分数值划归为实数

a=solve(\'x^3+12*x-5=0\');

double(a)

初等函数

sin cos tan asin acos sqrt

exp log log10 abs sign

特殊函数

gamma 伽马函数 beta 贝塔函数 rat 有理近似

erf 误差函数 ellipj 椭圆函数 ellipk 椭圆全积分

bessei 贝赛尔函数 eerfinv 逆误差函数

vpa

结果用小数表示

求出来的结果如果是复杂的分数表示,用 vpa作用一下即可

分数转换成小数

常量

pi 圆周率 inf 无穷 NaN 无意义 i j 虚数单位

realmax 最大实数 realmin 最小实数 eps 无穷小数

end 数组最后元素序号

一些注意事项

有些函数使用的表达式是字符串格式,包括

ezplot solve

矩阵是先行后列

数据类型

整型 int8 uint8 及 16 32

实型 double

字符型 char

\ 反除

2\12=6

矩阵左除 MX=Y X为列向量 则 X=M\Y 若 XM =Y 则 X=Y/M

a=[ 5 2 -9 ; -9 -2 2 ; 6 7 3 ] ; b=[2 ; 3 ; 4];

c=a\b;

[a*c,b]

numeric

将符号转化为数值进行计算

更多逻辑运算函数

all 列向量所有元素非零,返回1

any 列向量有非零元素

exist 变量或函数被定义过

finite 元素有限

isempty 参数为空

isglobal 参数为全局变量

ishold 当前画图状态是on

isieee 当前运算是IEEE算术运算

isinf 元素无穷大

isnan 元素无意义

isletter 元素是字母

isreal 实数

isspace 空格

issparse 稀疏矩阵

isstr 字符串

判断 条件

代数式

residue(分子,分母)

部分分式化

conv

两个多项式相乘系数展开

conv([1 2], [2 1 3] )

deconv

两个多项式相除 返回 [ 商 余式 ]

[a b]=deconv([1 2 3], [1 1])

simple 最简形式

输出表达式在各种函数下的运算结果,给出最简形式

用 [a,b]=simple(符号表达式) 得到

a为化简结果,b为化简方式

factor

因式分解 factor(符号表达式)

collect

合并同类项 collect(符号表达式)

roots 多项式的根

求多项式的零点

polyvalm 多项式代入求值

多项式代入自变量的值求值

polyvalm(c,x) c为系数向量,降幂排列

方阵x作为一个整体带入多项式求值

polyval 多项式代入求值

多项式代入自变量的值求值

polyval(c,x) c为系数向量,降幂排列

x的每个元素均代入多项式中求值

simplify

化简 simplify(符号表达式)

solve

解方程 solve(\'方程\',\'变量\')

solve(\'x+3=0\')

solve(\'a*x+5\',\'a\')

solve可以有多个方程 用,隔开 返回为结构体

s = solve(\'5*x + 4*y = 3\',\'x - 6*y = 2\'); s.x

symsum

根据通项求和

symsum(符号表达式,自变量,起点,终点) 可缺省 区间

syms n

symsum(1/2^n+1/3^n)

symsum(1/2^n+1/3^n,1,inf)

**************

latex

表达式转换成 LaTeX 代码格式

expand

展开代数式 expand(符号表达式)

syms x; expand(cos(x-4)*(x+2))

支持对矩阵各元素操作

syms x; expand([(x+2)^2 (12-x)^3])

sym

定义符号及类型

sym(\'值\',\'类型\') 类型包括 real,unreal(无约束),positive

a=sym(\'a\',\'real\');b=sym(\'a\',\'real\');

conj(a+b*i)

值可以是表达式,矩阵

a=sym(\'sin(x)\'); ezplot(a);

hold on; ezplot(log(a))

syms 可以同时声明多个符号

syms val1,val2...real

sym 可以将任意式子变成符号式,进行符号运算

factor(sym(2^100)-1)

******************************************************

ccode

表达式转换成C语言格式

poly2str(系数 , \'符号\')

多项式系数显示为多项式形式

a=[1 3 -2 0 -43 3 -9 ];

>> poly2str(a,\'x\')

polyfit 拟合

多项式拟合 polyfit(x,y,n)

poly 特征多项式

求出方阵的特征多项式

返回行向量系数 降幂排列

已知方程的根构造多项式

a=[1 2 -4];

poly(a)

poly2str(ans,\'t\')

********************************************

高等计算

int

积分 int(\'表达式\',\'变量\') int(\'表达式\',下限,上限)

quad

求数值积分的一种方法,正交积分

quad(\'表达式\',xmin,xmax)

运算要使用矩阵元素乘法

ODE求解微分方程

一阶

新建 m 文件 ,写入方程函数

格式 返回值a = 微分方程右边b

a代表微分项,b代表普通项,在微分方程中是同一变量,在程序中要分别用返回值和参数表示

调用 ODE格式为

ode23(\'函数名\',[xmin,ymin],y(0))

23是取点数,可选 45 113

实例

新建 m 文件 输入

function a=eq1(t,y)

a=cos(t)

保存为 eq.m 命令台输入

[t,y]=ode23(\'eq\',[0,2*pi],2) % y(0)=2,区间[0,2pi]

即将结果 分别赋给了 t和y

plot(t,y,\'o\')

可以查看结果

方程组

把x,y...看做一个向量的分量

function xdot = eqx(t,x);xdot = zeros(2,1);

xdot(1) = -x(1)^2 + x(2); xdot(2) = -x(1) - x(1)* x(2);

画图时要注意调用一整列元素

[t,x] = ode45(\'eqx\',[0 10],[0,1]);

plot(t,x(:,1),t,x(:,2),\'--\')

二阶

可以让 y\'=x1 化为方程组

limit 极限

极限 limit(表达式,极限点)

syms x;limit(sin(x)/x,0)

limit(表达式,极限点,方向) \'left\' 或 \'right \'

limit(字符串,自变量,极限点)

s=\'(x-3)/abs(x-3)\';

limit(s,x,3,\'left\')

taylor

展开为泰勒级数

taylor(表达式,n) n为阶数,可缺省

laplace laplace变换

ilaplace 逆变换

rsums

黎曼和求积分 rsums(符号表达式,[xmin,ymin] 区间缺省为 [0,1]

syms x;

rsums(sin(cos(x)+1),[2,4])

trapz 梯形法求积分

用分割梯形法求数值积分 trapz(x,y)

diff

求导 diff(表达式,自变量,阶数)

对于数值矩阵,求差分,即相邻元素间的差

dsolve

求解微分方程 dsolve(\'表达式\')

一阶导用 Df表示 二阶 D2f 依次类推

dsolve(\'Df=-2*f+cos(t)\')

初值用 y(x0)=y0 表示就行了

dsolve(\'D2f-f=0\',\'f(0)=-1\',\'Df(0)=2\')

默认变量是t 在最后加上指定自变量

dsolve(\'D2f-sin(x)/x*(1-2/x^2)-2*cos(x)/x^2=0\',\'f(0)=2\',\'Df(0)=0\',\'x\')

微分项要在方程左边

********************************

inline 由字符串构造函数

比较

f=\'x+2\'

f(2)

f=inline(\'x+2\')

f(2)

******************************************************************************

fourier 傅里叶 fourier 变换

ifourier 逆变换

ztrans Z变换

iztrans 逆变换

The content on this page is provided by a Google Notebook user, and Google assumes no responsibility for this content.