Matlab基础操作
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。
本文以Matlab R2022a为例。

(1)页面:



(2)常用命令、常量、变量、函数




(3)绘图常用命令
线型 颜色 数据点标记类型
标识符 意义 标识符 意义 标识符 意义
- 实线 r 红色 + 加号
-. 点划线 g 绿色 o 圆圈
-- 虚线 b 蓝色 * 星号
: 点线 c 蓝绿色 . 点
m 洋红色 x 交叉符号
y 黄色 square(或s) 方格
k 黑色 diamond(或d) 菱形
w 白色 ^ 向上的三角形
v 向下的三角形
> 向左的三角形
< 向右的三角形
pentagram(或p) 五边形
hexagram(或h) 六边形
在这里使用plot函数对图像进行输出。
LineWidth 线宽 数值,如0.5,1等,单位为points
MarkerEdgeColor 标记点边框线条颜色 颜色字符,如’g’, ’b’等
MarkerFaceColor 标记点内部区域填充颜色 颜色字符
MarkerSize 标记点大小 数值,单位为points

(4)举例

(1)
syms x
x=(sin(3*pi/5)*sqrt(56.43)+2.1)^3-exp(2.4)*log(58)
x =
745.2390
(2)
syms x
>> x=1.369^2+sin(7*pi/10)*sqrt(26.48)+2.9
x =
8.9373

roots([1,0,-6,3,-8])
ans =
-2.8374 + 0.0000i
2.4692 + 0.0000i
0.1841 + 1.0526i
0.1841 - 1.0526i

(1)

(2)

(3)

(4)


>> x=-1:0.1:1;
>> y1=x;
>> y2=x.^2;
>> y3=x.^3;
>> y4=x.^4;
>> plot(x,y1,'y-',x,y2,'m--',x,y3,'c:',x,y4,'r-.')


>> x=[0,34,67,101,135,202,259,336,404,471];
>> y=[15.18,21.36,25.72,32.29,34.03,39.45,43.18,43.46,40.83,30.75];
function [fitresult, gof] = createFit(x, y)
[xData, yData] = prepareCurveData( x, y );
ft = fittype( 'gauss1' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
opts.Lower = [-Inf -Inf 0];
opts.StartPoint = [43.46 336 210.279614505574];
[fitresult, gof] = fit( xData, yData, ft, opts );
figure( 'Name', '无标题拟合 1' );
h = plot( fitresult, xData, yData );
legend( h, 'y vs. x', '无标题拟合 1', 'Location', 'NorthEast', 'Interpreter', 'none' );
xlabel( 'x', 'Interpreter', 'none' );
ylabel( 'y', 'Interpreter', 'none' );
grid on
本文使用拟合高斯模型:

拟合后函数为:


(5)矩阵输入

单位矩阵:eye(n)
全1矩阵:ones(m,n)
零矩阵:zeros(m,n)
随机矩阵:rand(m,n)
魔术矩阵:magic(n)
矩阵的迹:trace(A)
矩阵化为行最简式:rref(A)
矩阵的特征值和特征向量:[P,D]=eig(A)