栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数值计算(计算方法)课程Matlab常用函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数值计算(计算方法)课程Matlab常用函数

数值计算之MATLAB常用功能 plot(X, Y, LineSpec)

plot:绘制二维线图

NO.1 绘制横轴为X,竖轴为Y二维线图,Y值与X值一一对应。

plot(X,Y)
1

如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。

NO.2 设置线型、标记符号和颜色。

plot(X,Y,LineSpec)
LineSpec — 线型、标记和颜色

线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。

示例: ‘–or’ 是带有圆形标记的红色虚线



NO.3 设置每个线条的线型、标记符号和颜色。

plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)

NO.4 创建 Y 中数据对每个值索引的二维线图。

plot(Y)

如果 Y 是向量,x 轴的刻度范围是从 1 至 length(Y)。

sprintf

使用 %e、%f 和 %g 设定符设置浮点数的格式。

A = 1/eps;
str_e = sprintf('%0.5e',A)
str_e = 
'4.50360e+15'
str_f = sprintf('%0.5f',A)
str_f = 
'4503599627370496.00000'
str_g = sprintf('%0.5g',A)
str_g = 
'4.5036e+15'

%%是转义

如上图控制有效位数

zeros

X = zeros 返回标量 0。

示例

X = zeros(n) 返回一个 n×n 的全零矩阵。

示例

X = zeros(sz1,...,szN) 返回由零组成的 sz1×…×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如,zeros(2,3) 将返回一个 2×3 矩阵。

示例

X = zeros(sz) 返回一个由零组成的数组,其中大小向量 sz 定义 size(X)。例如,zeros([2 3]) 将返回一个 2×3 矩阵。

示例

X = zeros(___,typename) 返回一个由零组成并且数据类型为 typename 的数组。例如,zeros('int8') 将返回一个 8 位整数标量 0。您可以使用上述语法中的任何输入参数。

示例

X = zeros(___,'like',p) 将返回一个与 p 类似的由零值组成的数组,它具有与 p 相同的数据类型(类)、稀疏度和复/实性。您可以指定 typename 或 'like',但不能同时指定二者.

ones

X = ones 返回标量 1。

示例

X = ones(n) 返回一个 n×n 的全 1 矩阵。

X = ones(sz1,...,szN) 返回由 1 组成的 sz1×…×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如,ones(2,3) 返回由 1 组成的 2×3 数组。

eye

I = eye 返回标量 1。

示例

I = eye(n) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×n 单位矩阵。

示例

I = eye(n,m) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×m 矩阵。

示例

I = eye(sz) 返回一个主对角线元素为 1 且其他位置元素为 0 的数组。大小向量 sz 定义 size(I)。例如,eye([2,3]) 返回一个主对角线元素为 1 且其他位置元素为 0 的 2×3 数组。

示例

I = eye(___,typename) 在上述语法的基础上进一步指定 I 的数据类型(类)。例如,eye(5,'int8') 返回由 8 位整数组成的 5×5 单位矩阵。

示例

I = eye(___,'like',p) 指定 I 具有与数值变量 p 相同的数据类型、稀疏性和复/实性(实数或复数)。

diag

x = diag(A) 返回 A 的主对角线元素的列向量。

例子:

x = diag(A)
x = 6×1

     9
     6
     9
     1
     7
     9

调用 diag 两次将返回一个包含原始矩阵的对角线上元素的对角矩阵。

例子:

A1 = diag(diag(A))
A1 = 6×6

     9     0     0     0     0     0
     0     6     0     0     0     0
     0     0     9     0     0     0
     0     0     0     1     0     0
     0     0     0     0     7     0
     0     0     0     0     0     9
inv

Y = inv(X) 计算方阵 X 的 逆矩阵。

  • X^(-1) 等效于 inv(X)。
  • x = Ab 的计算方式与 x = inv(A)*b 不同,建议用于求解线性方程组。

通过使用 inv(A)*b 求逆矩阵对线性方程组求解不如使用反斜杠运算符(即 x = Ab)直接求解。

范数,norm

范数包括向量范数和矩阵范数,向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。

对于矩阵范数,学过线性代数,我们知道,通过运算AX=B,可以将向量X变化为B,矩阵范数就是来度量这个变化大小的。

例:迭代法中迭代矩阵B的某种算子范数小于1,立即可以断定该迭代过程对任给初始向量都收敛于方程组的唯一解,一般用”inf“范数:

 if(norm(y-x,inf)<1e-6)
        break;
        
e2=norm(yy1-y);
einf=norm(yy1-y,inf);
disp('均方误差'),e2
disp('最大偏差'),einf
tril

L = tril(A) 返回矩阵 A 的下三角部分。

L = tril(A,k) 返回 A 的第 k 个对角线上以及该对角线下方的元素。

.

matlab对数组或矩阵运算很方便,有时需要的运算是数组或矩阵中对应元素间的运算,此时就要用到“.”的运算。

例如

x=[1 2 3] ;y=[4 5 6];
x.*y=[4 10 18]
x./y=[0.25 0.4 0.5]
size
A = rand(4,3);
[numRows,numCols] = size(A)
numRows = 4
numCols = 3

因此获取行向量中元素个数例子:

flip

B = flip(A) 返回的数组 B 具有与 A 相同的大小,但元素顺序已反转。B 中重新排序的维度取决于 A 的形状:

  • 如果 A 为向量,flip(A) 将沿向量的长度方向反转元素顺序。
  • 如果 A 为矩阵,flip(A) 将反转每列元素的顺序。
  • 如果 A 为 N 维数组,flip(A) 将按 A 的大小值不等于 1 的首个维度上进行运算。
fix

Y = fix(X) 将 X 的每个元素朝零方向四舍五入为最近的整数。此操作实际上是通过删除 X 中每个数的小数部分,将它们截断为整数:

  • 对于正数,fix 的行为与 floor 相同。
  • 对于负数,fix 的行为与 ceil 相同。
length

L = length(X) 返回 X 中最大数组维度的长度。对于向量,长度仅仅是元素数量。对于具有更多维度的数据,长度为 max(size(X))。空数组的长度为零。

尝试此示例Copy Command Copy Code

求出一个由零组成的 3×7 矩阵的长度。

X = zeros(3,7);
L = length(X)
L = 7
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997186.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号