Matlab
- MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。
- MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等
- MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
一、基本
1.help函数和常用变量
help是matlab用来查询的,例如help sin,将会跳出如下,可以点进参考页,里面还有更多信息,在里面也可以直接搜索想要查询的
常用变量(变量是要区分大小写的)
ans:表达未定义的变量
eps:表现浮点相对精数,表示从1.0到下一浮点数的相对差值,相对浮点精度
近似为2.22*10的-16次方
Inf:表示无穷大
i/j:虚数单位
NaN:0/0产生的不定形的值
pi:圆周率,近似为3.1416
2.变量
变量的删除和修改
clear
命令用于删除工作空间中的变量
- 直接输入clear好像会删除工作空间中的所有变量,输出某一特定变量则是:clear 变量名
who/whos
显示变量的名称
- whos显示的内容比who更加全面
局部变量和全局变量
局部:那些函数体内自己定义的,不能从其他函数或matlab工作空间访问的变量
全局:用关键字global生成的变量(尽量大写)
二、矩阵
1.矩阵创建
1.从键盘直接输入矩阵元素,各元素之间用逗号或空格隔开,用分号或回车结束矩阵行,用中括号把所有矩阵元素括起来
我们可以用冒号
来显示矩阵中的某一行或某一列,例如:A(,2:),A(:,3)
2.特殊矩阵
单位矩阵:用eye()生成 单位方阵只需要输入一个参数,下同
全零矩阵:zeros(m,n)
全1矩阵:ones(m,n)
高斯白噪声:randn(m,n) 每行每列皆服从均值为0,方差为1的高斯分布
均匀分布:rand() 服从0 1均匀分布
- sqrt()运算是matlab自身带的开方运算
3.矩阵运算
矩阵的加减乘除:C=A+B
转置:D=A’,如果矩阵是负数转置,则这是矩阵的共轭转置;D=A.'则是矩阵的单纯的转置
乘法:
点乘:C=A.乘B,即为矩阵内数的乘
A乘B,必须满足矩阵乘法的运算规则(例如,A为两行三列的矩阵,B同为两行三列的矩阵,A和B不能相乘,但A*B’可以相乘且得一个两行两列的矩阵)
点除:C=A./B,此时是A的对应元素和B的对应元素两者之间的除法
det():如果矩阵是方阵,我们可以求起行列式
inv()
或者"方阵名"^(-1)
都可以对矩阵求逆
三、MATLAB图形处理
1.plot函数
plot函数:plot(x,y),功能:以向量x,y为轴绘制曲线
- 代码第一行意思为以x=0为初值,pi/100为步长,2*pi为结束值,来生成向量x
- 第二行表示向量x对应的sin值
- 第三行画出以x为横坐标,y为纵坐标的曲线
plot函数还可以绘制多条曲线(plot(x,y1,x,y2,x,y3)),其含义为以公共x轴在同一幅图绘制多条曲线
注:中间也是用逗号隔开,并不是分号
我们还可以将图形变颜色,颜色选项读者可以自查
我们不止可以用实线表示,还可以用圆圈或点划线,plot(x,y1,'ro',x,y2,'k-.')
。
-
对图形标记
标题title(‘sin(x),cos(x)曲线’) -
坐标说明
xlabel(’时间‘)
ylabel(’振幅‘) -
图形说明
text(x(190),y1(190),’sin(x)曲线‘) -
grid on显示坐标网格
-
grid off关闭
-
legend(‘sin(x)’,‘cos(x)’)显示函数图例说明
2.多图像窗口
- subplot是几个绘图
- subplot(2,1,1)是上面绘图区 2,1,2是下面 前两个代表2行1列
- figure生成一个空的绘图
3.hold命令
- hold on保持之前的图形
- hold off取消保留
总结
O.O