(一)Matlab数值计算基础
2024-01-03 13:42:59
目录
1.3数据计算
?MATLAB包括各种各样的数据,主要包括数值,字符串,向量,单元型数据和结构型数据,以及丰富的运算符,包括算术运算符,关系运算符和逻辑运算符
1.3.1变量
1.定义变量?
变量常用于保存程序中的临时数据
- 变量所用域
- 局部变量
- 在没有特殊说明的情况下,MATLAB把一切变量视为局部变量,仅在其使用的M文件内有效
- 全局变量
- 若将变量定义为全局变量,则应对变量进行说明,在变量前加global关键字,全局变量一般均用大写英文字母表示
- 变量在使用前必须在代码中进行声明,即创建(定义)该变量
- 局部变量
2.变量赋值
变量命名规则:
- 变量必须以字母开头, 之后可以是任意的数字、字母和下划线
- 变量名区分字母大小写
- 变量名不超过31个字符,第31字符后的字符将被忽略
- MATLAB赋值语句有两种格式
变量=表达式
表达式
?变量的初始化包括以下两种形式
- 使用赋值语句初始化
- 使用?input()?函数从键盘中输入
###定义数值变量###
###函数赋值###?
3.预定义的变量(常量)
特殊变量
- ans:默认变量
- pi:圆周率
- eps:浮点运算的相对精度
- inf:无穷大
- NaN:不定值
- i(j):复数中的虚数单位
- realmin:最小正浮点数
- realmax:最大正浮点数
###预定义变量###
###显示实数与复数的值###
###重定义变量###
4.变量函数
##who##
- who:按字母顺序列出当前活动工作区中所有变量的名称
- who-file filename:列出指定的mat文件中的变量名称
- who global:列出全局工作区中的变量名称
- who...var1...varN:只列出指定的变量,可与先前参数中的任何参数结合使用
- who...-regexp expr1...exprN:只列出与指定的正则表达式匹配的变量?
- C=who(...):将变量的名称存储在元胞数组C中?
?##exist##
- 用于检查脚本、变量、函数、文件夹或类的存在情况
###检查变量###
1.3.2数据的显示格式
控制数字显示格式的命令是format
format调用格式:
- format(style):将命令窗口中的输出显示格式更改为style指定的格式
- fmt=format:自行将输出格式重置为默认值
###控制数值显示格式###?
?
?1.3.3运算符与函数
1.算术运算符
运算符 | 定义 |
+ | 算术加 |
- | 算术减 |
* | 算术乘 |
.* | 点乘 |
^ | 算术乘方 |
.^ | 点乘 |
\ | 算术左除 |
.\ | 点左除 |
/ | 算术右除 |
./ | 点右除 |
' | 矩阵转置(求共轭转置) |
.' | 矩阵转置(不求共轭转置) |
###四则运算###
2.关系运算符(1、0表示满足与不满足)
运算符 | 定义 |
== | 等于 |
~= | 不等于 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
?###关系运算符运算###
3.逻辑运算符(真1;假0)?
?
运算符 | 定义 |
&或and | 与 |
|或or | 或 |
~或not | 非 |
xor | 异或 |
any | 有非零元素则为真,否则为假 |
all | 所有元素均非零则为真,否则为假 |
?算术运算符>关系运算符>逻辑运算符
4.常用基本函数及三角函数
名称 | 说明 | 名称 | 说明 |
abs(x) | 数量的绝对值或向量的长度 | sign(x) | 符号函数 |
angle(z) | 复数z的相角 | sin(x) | 正弦函数 |
sqrt(x) | 开平方 | cos(x) | 余弦函数 |
real(z) | 复数z的实部 | tan(x) | 正切函数 |
imag(z) | 复数z的虚部 | asin(x) | 反正弦函数 |
conj(z) | 复数z的共轭复数 | acos(x) | 反余弦函数 |
round(x) | 四舍五入至最近整数 | atan(x) | 反正切函数 |
fix(x) | 无论正负舍去小数至最近整数 | atan2(x,y) | 四象限的反正切函数 |
floor(x) | 向负无穷大方向取整 | sinh(x) | 超越正弦函数 |
ceil(x) | 向正无穷大方向取整 | cosh(x) | 超越余弦函数 |
rat(x) | 将实数x化为分数表示 | tanh(x) | 超越正切函数 |
rats(x) | 将实数x化为多项分数展开 | asinh(x) | 反超越正弦函数 |
rem | 求两个整数相除的余数 | acosh(x) | 反超越余弦函数 |
sqrt | 乘方、开方 | atanh(x) | 反超越正切函数 |
?###计算开方###
1.3.4向量
- 直接输入法
- 向量元素要用[ ]括起来
- 元素间可用空格、逗号或分号分隔
- 用逗号或空格分隔生成行向量
- 用分号分隔形成列向量
- 冒号法
- 基本格式:x=first:increment:last,表示创建一个从first开始到last结束,数据元素的增量为increment的向量,1可忽略?
**还可引用向量元素方式创建向量**
- x(n):表示向量中的第n个元素
- x(n1:n2):表示向量中的第n1-n2个元素?
3.利用函数创建向量
- linspace()函数
- ?创建一个线性间隔的向量,通过直接定义数据元素的个数而不是数据元素直接的增量创建向量
- y=linspace(x1,x2):创建一个x1和x2之间包含100个等间距点的行向量y。元素个数默认为100
- y=linspace(x1,x2,n):创建一个从x1开始,到x2结束,元素个数为n的向量y
- logspace()函数
- 创建一个对数分隔的向量,?通过直接定义数据元素的个数而不是数据元素直接的增量创建向量
- y=logspace(a,b)
- y=logspace(a,b,n)
- y=logspace(a,pi)
- y=logspace(a,pi,n)
1.3.5矩阵
- 矩阵生成
- 直接输入法
- M文件正成法(适于创建大型矩阵)
- M文件中变量名与文件名不能相同,否则会造成变量名与函数名混乱
- 文本文件生成法
- 在work文件夹中创建文本文件,在命令行中直接调用该文件即可
- 特殊矩阵
- 全零矩阵
- X=zeros(m):生成m阶全零矩阵
- X=zeros(m,n):生成m行n列全零矩阵
- X=zeros(size(A)):创建与A维数相同的全零矩阵
- X=zeros(...,typename)
- X=zeros(...,'like',p)
- 全1矩阵
- ones(m):生成m阶全1矩阵
- ones(m,n):生成m行n列全1矩阵
- ones(size(A)):创建与A维数相同的全1矩阵
- 单位矩阵
- I=eye:返回标量1
- eye(m):生成m阶单位矩阵
- eye(m,n):生成m行n列单位矩阵
- eye(size(A)):创建与A维数相同的单位矩阵
- 全零矩阵
命令 | 说明 |
D=[A;B C] | A为原矩阵,B、C中包含要扩充的元素,D为扩展后的矩阵 |
A(m,:)=[] | 删除A的第m行 |
A(:,n)=[] | 删除A的第n列 |
A(m,n)=a;A(m,:)=[a b...];A(:,n)=[a b...] | 对A的第m行第n列元素赋值;对A的第m行赋值;对A的第n列赋值 |
命令 | 说明 |
C(:)=A(:) | 将矩阵A转换为矩阵C的维度,A、C元素个数必须相同 |
reshape(X,m,n) | 将已知矩阵变为m行n列的矩阵 |
?
?????????
?
?
文章来源:https://blog.csdn.net/waywardG/article/details/135344438
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!