Matlab学习(基础知识与数值计算)

基础知识

数据类型

常量与变量

常量:数值习惯的十进制表示,可以带小数点或负号
变量:变量名必须是不包含空格的单个词,具体规则为1变量名区分大小写;2变量名最多不超过63个字符,第63个字符以后被忽略掉;3变量名的第一个字符必须是英文字母,之后可以是字母、下划线或者数字;4变量名中不得包含空格、标点符号、运算符及关键字
预定义变量:

预定义变量含义
eps计算机最小数
i或j虚单元i=j=(-1)^(1/2)
Inf成 inf无穷大
intmax可表达的最大正整数
intmin可表达的最小负整数
nargin所有函数的输入变量数目
ans计算结果的默认变量名
NaN 或 nan不是一个数
pi圆周率
realmax最大正实数
realmin最小正实数
nargout所有函数的输出变量数目
flops浮点预算数

基础运算

在这里插入图片描述
数值显示格式:1如果矩阵元素是整数,则矩阵显示就没有小数;
2如果矩阵元素不是整数,可以有多种输出形式;

名称输出格式
format short短格式
format long长格式
format short e短格式e方式
format long e长格式e方式
format short g短格式g方式
format long g长格式g方式
format hex16进制格式
format rat分数格式
format bank银行格式

基本数学函数

函数名含义
abs(x)纯量的绝对值或向量的长度
angle(z)复数z的相角
sqrt(x)开平方
real(z)复数z的实部
imag(z)复数z的虚部
conj(z)复数z的共钜复数
round(x)四舍五入至最近整数
fix(x)无论正负,舍去小数至最近整数
floor(x)舍去正小数至最近整数
ceil(x)加入正小数至最近整数
rat(x)将实数化为分数表示
rats(x)将实数化为多项分数展开
sign(x)符号函数
rem(x,y)求x除以y的余数
ged(x,y)整数x和y的最大公因数
lem(x,y)整数x和y的最小公倍数
exp(x)自然指数
pow2(x)2的指数函数
log(x)自然对数ln(x)
log2(x)以2为底的对数

三角函数

函数名含义
sin(x)正弦函数
cos(x)余弦函数
tan(x)正切函数
asin(x)反正弦函数
acos(x)反余弦函数
atan(x)反正切函数
sinh(x)超越正弦函数
cosh(x)超越余弦函数
tanh(x)超越正切函数
asinh(x)反超越正弦函数
acosh(x)反超越余弦函数
atanh(x)反超越正切函数

向量计算常用函数

函数名含义
min(x)向量x的元素的最小值
max(x)向量x的元素的最大值
mean(x)向量x的元素的平均值
median(x)向量x的元素的中位数
std(x)向量x的元素的标准差
diff(x)向量x的相邻元素的差
sort(x)对向量x的元素进行排序
length(x)向量x的元素个数
norm(x)向量x的欧氏长度
sum(x)向量x的元素总和
prod(x)向量x的元素总乘积
cumsum(x)向量x的累计元素总和
cumprod(x)向量x的累计元素总乘积
dot(x,y)向量x和y的内积
cross(x,y)向量x和y的外积

数值计算

向量运算

向量生成

1.直接输入向量:a=[1 2 3 4], b=[1,2,3,4], c=[1;2;3;4] ;
2.用冒号表达式生成向量:a=1:2:3, b=-1:2,;
3.线性等分向量的生成:y=linspace(x1,x2,n) %生成n 维的行向量

向量运算

向量a=[a1, a2, a3]、b=[b1, b2, b3]
1.数量加法:a+2=[a1+2, a2+2, a3+2];
2.数量减法:a-2=[a1-2, a2-2, a3-2];
3.数乘向量:a2=[a12, a22, a32];
4.向量加法:a+b=[a1+b1, a2+b2, a3+b3];
5.向量减法:a-b=[a1-b1, a2-b2, a3-b3];
6.向量相乘:a.b=[a1b1, a2b2, a3b3];
7.向量右除:a./b=[a1/b1, a2/b2, a3/b3];
8.向量左除: a.\b=[b1/a1, b2/a2, b3/a3];
9.次方运算:在这里插入图片描述
10.点乘运算:dot(a,b)=a1* b1+a2* b2+a3* b3;
sum(a. * b)= a1* b1+a2* b2+a3* b3;
11.叉乘运算: c=cross(a,b)
12.向量混合积:dot(a,cross(b,c))

矩阵运算

矩阵生成
  1. 在命令窗口直接输入矩阵:a=[1 2 3; 4 5 6; 7 8 9]
    2.用M文件输入大型矩阵:A=[10 12 32 41 52 63;21 23 45 67 78 43;21 34 90 89 67 54 ]
    3.利用数组编辑器输入大型矩阵
基本运算

1.矩阵加法: A+B
2.矩阵减法: A-B
3.数乘矩阵:A2
4.矩阵相乘:A
B
5.矩阵左除:A\B
6.矩阵右除:A/B
7.矩阵乘幂:A^n
8.矩阵转置运算:A’

其它运算
函数名含义
zeros(m,n)m 行n 列的零矩阵
ones(m,n)m 行n 列的全1矩阵
eye(n)n 阶单位矩阵
rand(m,n)m 行n 列的均匀分布的随机数矩阵
randn(m,n )m 行n 列的正态分布的随机数矩阵
det(A)矩阵的行列式
inv(A)矩阵求逆
rank(A)矩阵求秩
trace(A)矩阵的迹
d=eig(A)矩阵的特征值
[v, d]=eig(A)矩阵的特征值及特征向量
poly(A)矩阵的特征多项式
cond(A)矩阵的条件数
norm(X,p)向量或矩阵的范数
矩阵的分解与变换
函数名含义
[L,U]=lu(A)LU 三角分解,用于非奇异的一般矩阵,L 为下三角阵,U 为上三角阵,A=LU
U=chol(A)实对称矩阵的平方根分解,U 为上三角阵
[Q,R]=qr(A)对称矩阵的QR 分解,Q 为正交阵,R 为上三 角阵,A=QR
[U,S,V]=svd(A)一般矩阵的奇异值分解,A 为m×n 矩阵: A=USV
tril(A)提取矩阵主下三角部分
tril(A,k)提取矩阵的第k 条对角线(包括第k 条对角线)下面的部分,k 为正值为上方对角线,k 为负值为下方对角线
triu(A)提取矩阵主上三角部分
triu(A,k)提取矩阵的第k 条对角线(包括第k 条对角线)上面的部分,k 为正值为下方对角线,k 为负值为上方对角线

二维数组运算

在这里插入图片描述

关系与逻辑运算

关系运算符
在这里插入图片描述
逻辑运算符
逻辑运算符
优先级在这里插入图片描述

多项式运算

多项式的表示

1.直接输入
eg:
f ( x ) = x 3 + 2 x 2 − 3 x + 4 f(x)=x^{3}+2x^{2}-3x+4 f(x)=x3+2x23x+4

f=[1 2 -3 4];
f1=poly2sym(f)

2.特征多项式输入
eg:

a=[1 2 3;4 5 6;7 8 9];
p=poly(a)
p1=poly2sym(p)

3.由根创建多项式

root=[-5,-3+4i,-3-4i]
p=poly(root)
p3=poly2sym(p)
多项式基础运算

1.求多项式的值: y=polyval(p,x)
2.求多项式的根: root§
3.求多项式的乘除法运算: conv(p1,p2), deconv(p1,p2)
4.多项式微分: polyder§
5.多项式拟合:polyfit(x,y,n) 其中x、y为拟合数据,n为拟和多项式的阶数

符号运算

符号表达式的生成

1.创建符号函数: f=‘log(x)’
2.创建符号方程: equation=‘ax^2+bx+c=0’
3.创建符号微分方程: diffeq=‘Dy-y=x’
4.用sym命令来创建:f=sym(‘sin(x)’),f=sym(‘ax^2+bx+c=0’

解析解数值转换

1.digits(D): 函数设置有效数字个数为D的近似解精度
2.vpa(s): 符号表达式s在digits函数设置的精度下的近似解
3. vpa(s, D): 符号表达式s在digits(D)精度下的近似解
4. subs(s,old,new): 将符号表达式中 old 的换成new变量
5. numeric(s): 将不含自由变量的符号表达式转换成数值形式符号运算实例

复合函数的运算
compose(f, g)               %返回当f=f(x)和g=g(y)时的复合函数f(g(y))
compose(f, g, z)            %以z 为自变量
compose(f, g, x, z)         % x 为f 的自变量,g 替换x,并将g 的自变量换为z
compose(f, g, t, z)         % t 为f 的自变量,g 替换t,并将g 的自变量 换为z
compose(f, g, x, y, z)      %x 为f 的自变量,y 为g 的自变量,g 替换x, z 替换y
符号极限
 limit(f, x, a)              % f 在x→a 时的极限
 limit(f)                    %f 在x→0 时的极限
limit(f, x, a, right)        % f 在x→a 时的右极限
limit(f, x, a, left)         % f 在x→a 时的左极限
符号积分

不定积分

  f1=int(cos(x))          %关于x积分      
  f2=int(cos(x*t),t)      %关于t积分

定积分

 x=int(x^2,0,1)

符号合计函数 :symsum

syms k n;
 x= symsum(k^2,0,10)              %求表达式从0到10的和 
 f=simple(symsum(k^2,0,n))        %和的最简形式
符号微分

微分函数: diff

syms x y;
diff(sin(x^2))         %求函数的一阶导数
diff(sin(x*y),x)
diff(x^4,3)
diff(sin(x*y),x,2)     %关于x求二阶导数

梯度函数: gradient

[x,y]=meshgrid(-2:.2:2,-2:.2:2);
z=x.*exp(-x.^2-y.^2);
[px,py]=gradient(z,.2,.2);  %其中px=dz/dx,py=dz/dy
符号代数方程解法

线性方程组的符号解法: linsolve

a=sym(‘[10 –1 0;-1 10 –2;0 –2 10]’);
b=sym(‘[9;7;6]’);
x=linsolve(a,b)               %求得解析解
x1=vpa(x)                     %转化为数值解

非线性方程求解: solve(‘ fun’),求得解析解

 x=solve(‘x^2+3*x+4=0’)         %得解析解
 x1=vpa(x,6)                    %化为数值解 

常微分方程的解析解:dsolve(‘equation’)
解简单方程

 dsolve(‘Dx=-a*x’)         %Dx=dx/dt
 desolve(‘D2x=-a*x’)

解微分方程组
在这里插入图片描述

 s=dsolve('Du=v,Dv=w,Dw=u',  'u(0)=0,v(0)=0,w(0)=1')
 u=s.u
 v=s.v
 w=s.w
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃橘子的橘猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值