MATLAB入门

matlab可以实现数值分析、优化、统计、微分方程数值解、信号处理、图像处理等若干领域的数值计算和图像显示,他将不同数学分支的算法以函数的形式分类成库,使用时直接调用函数并赋予实际参数就可以解决问题。

老师说这个工具可以解决几乎所有的数建问题。

一.matlab界面

1.命令窗口

命令窗口用于输入命令行,以实现计算以及绘图的功能。

2.工作区

此窗口显示当前matlab内存中使用的变量的信息,

包括变量名,变量数组的大小,变量字节大小以及变量类型,例如:

MATLAB入门_第1张图片

在工作区间双击某个变量名后,将打开数组编辑窗口,显示该变量的具体内容,若要查看相关内容需双击对应目录。(同样可以在这里进行更改啦

3.命令历史

 打开方式:

MATLAB入门_第2张图片

 利用这个键来切换窗口。

双击历史命令窗口中的命令,可以再执行一次这个命令

二.matlab运行方式

1.命令行方式

直接在命令窗口中输入命令来实现计算或作图功能

但是这种方式在数据量大或者处理比较复杂的问题时十分不方便

2.M文件运行方式

在一个以m为扩展名的M文件中输入一系列数据和命令,然后让matlab执行这些命令。

M文件分为脚本M文件(先介绍)和函数M文件

建立脚本M文件将命令存储起来,以便于随时进行简单的调用计算。

建立M文件的方法:

MATLAB入门_第3张图片

在其中进行选择即可(啊,我还不知道有什么区别)

输入程序

存储为以m为拓展名

运行时在菜单选择运行。

 三.变量与函数

1.变量

变量的命名规则

  1. 区分大小写
  2. 首字母必须为字母,不允许标点符号(除了下划线)
  3. 不得与特殊变量重名

特殊变量名:

特殊变量 取值
ans 用于结果的缺省变量名

pi

圆周率
eps 计算机的最小数,和1相加产生一个比一大的数
flops 浮点运算数
inf 无穷大,1/0
NaN 不定量,0/0
i,j i=j=\sqrt{-1}
realmin 最小可用正实数
realmax 最大可用正实数

matlab标点

除了普通的加减乘除之外,还有

  • .*,点乘运算
  • ./,点除运算
  • %后面注释
  • …表示续行

2.函数

之数学函数

使用方法,

例如:log(a)

(1).三角类型

弧度制的三角函数:sin、cos、tan、cot、sec、csc;

角度值三角函数:sind、cosd、tand、cotd、secd、cscd;

(2).指数类型

exp:以自然对数底e为底数的指数函数y=e^{x}

log:自然对数;

log10:以10为底的常用对数;

log2:以2为底的对数;

sqrt:算数平方根;

nthroot(A,k):返回数值数组A的k次根

(3.)复数类型

常用的负数类型的基本数学函数:

abs 实数的绝对值或复数的模

angle 弧度制的负数幅角主值;

conj 负数共轭;

i和j 虚数单位根号-1;

real 复数实部;

imag 复数虚部;

(4).舍入类型

常用的舍入类型的基本数学函数:

round 四舍五入成最靠近的整数

fix:截去小数部分变成证书;

floor:下取整(小于或等于x的最大整数)

ceil:上取整(大于或等于x的最小整数)

(5).余数和质因数类型

常用的余数和质因数类型的基本数学函数:

mod:数论的模除运算;

rem:除法的余数;

factor:质因数分解;

gcd:最大公约数;

lcm:最小公倍数;

之函数M文件

函数M文件的创建方式为下图:

新建->函数

MATLAB入门_第4张图片

该类文件的第一行必须是以一特殊字符function开头,格式为:

function 因变量名=函数名(自变量名)。

函数M文件与脚本M文件差异:

  1. 文件名必须与函数名相同
  2. 脚本无输入输出参数,而文件有输入输出参数

步骤: 

  1. 新建函数
  2. 编辑,输入标准格式以及函数内容,注意上图已给出格式
  3. 退出编辑,已函数名保存
  4. 输入命令(自变量的区间,以及z与c构成函数关系(随便两个字母))
  5. 绘图

具体结果如下~~~

MATLAB入门_第5张图片

 3.数组与矩阵

建立方式:

建立一维数组(向量)两种方式:

  1. 行向量a=[1 2 3]或者a=[1,2,3],列向量a=[1;2;3]
  2. x=first:last
  3. x=first:increment:last(从first开始,以increment为增量,不超过last的行向量)
  4. x=linspace(first,last,number)

注意第四条,数据非随机生成,而是以固定间隔在first与last之间取number个数字

多维数组

  1. a=[1 2 3;2 3 4;3 4 5]这是3*3的数组

数组元素列优先!!

向量可以转置,比如b=a’;(无论是一维还是二维,都可以转置)

元素的访问

A=[1 2 3;4 5 6;7 8 9];

  1. 以A(a:b,c:d)为格式——a:b是取a到b行,c:d是取c到d这些行
  2. A(a:b)——取A数组第a个到第b个元素,虽然是以行为下标优先,输出却是以列为优先的
  3. A(1:end)——将元素正序输出(以向量形式),列优先读取
  4. A(end:-1:1)——将元素反序输出,列优先读取
  5. A([a b])——取数组A第a个和第b个元素
  6. A(i,j)——取数组第i行j列元素
  7. A(x)——下标为x的元素(列优先)
  8. A(a,:)——第a行元素,类似的第b列元素
  9. A(i:j,:)=[]——删除i到j行的元素(直接删除,而不是利用空格替换)。

数组的运算

  1. 加减乘是普通的数组之间的加减乘
  2. “./”运算符是对数组中的每个元素单独进行计算,a./b即a的每个元素除b每个元素,"/."则b除以a
  3. “.^”是幂的运算,也是有a^b,b^a两种形式

数组的操作函数

isnumeric();%判断是否为数值型数组

isreal();%判断是否为实数型数组

isinteger();%判断是否为整型数组,(matlab默认存储double型)

islogical();%判断是否为逻辑型数组

find()函数:查找数组元素下标符合条件的

MATLAB入门_第6张图片

sort();%对每列的元素进行排序

MATLAB入门_第7张图片

size()%返回数组的行数和列数

MATLAB入门_第8张图片

length()%返回一维数组中的数组长度,或是二维数组中行最长长度和列最长长度中较长的一个

MATLAB入门_第9张图片

 

某些特殊矩阵的建立

  1. zeros(m,n)%建立全0矩阵
  2. ones(m,n)%建立全1矩阵
  3. eye(m,n)%建立对角线全为1 的矩阵
  4. rand(m,n)%(0,1)随机分布的矩阵
  5. randn(m,n)%相比上一个,均值为0,方差为1

方阵的特殊操作——方阵必须是n*n的二维数组

  1. det(A)——方阵的行列式(已经计算出值,为|A|)
  2. inv(A)——方阵的逆
  3. eig(A)——方阵的特征值与特征向量

你可能感兴趣的:(数建)