欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB入门级知识

程序员文章站 2022-07-12 22:15:21
...

  要入坑MATLAB了。

  老年人的记忆力伤不起,还是记下来方便以后查阅。

  主要分为三部分:数据类型、可视化、程序设计。

 

  • 数据类型

  MATLAB中的数据类型主要包括字符型(char)、整型(int8、int16、int32、int64、uint8、...、uint64)、浮点(single、double)、元胞型(cell)和结构体型(structure)。

  一些特殊变量包括:

ans 默认的结果变量
pi 圆周率
i或j 虚数单位
realmin、realmax 最小、大可用实数
inf或INF 无穷大
nan或NaN 不定值,如0/0

  上述数据类型的创建就不说了,数组的创建如下:

    MATLAB入门级知识

  我们可以使用“双冒号”生成等差向量(1:起始,1:步长,5:终止):

    MATLAB入门级知识

  矩阵的创建:

magic(N) N阶魔方矩阵(行、列、对角线相等的矩阵)
eye(m,n) m*n的单位矩阵
zeros(d1,d2,...) d1*d2*...的全0数组
ones(d1,d2,...) d1*d2*...的全1数组
rand(d1,d2,...) d1*d2*...的(0,1)均匀分布随机数组
randn(d1,d2,...) d1*d2*...的正态分布随机数组

  MATLAB入门级知识

  矩阵元素的引用通过”()“来进行:

    MATLAB入门级知识

  矩阵的合并:

    MATLAB入门级知识

  矩阵常用函数:

det(x) 计算方阵的行列式
rank(x) 计算矩阵的秩
inv(x) 计算矩阵的逆
[v,d]=eig(x) 计算矩阵的特征值、特征向量
diag(x) 产生矩阵的对角阵
[q,r]=qr(x) 计算矩阵的QR分解
triu(x) 产生矩阵的上三角矩阵,其余元素补0
tril(x) 产生矩阵的下三角矩阵,其余元素补0

  字符串:

    MATLAB入门级知识

    MATLAB入门级知识

  如何在字符串中包含单引号?

    MATLAB入门级知识

  元胞:

    元胞用"{}"来创建,这个数据类型给我的感觉就是结构体,可以结构套结构:

    MATLAB入门级知识

  逻辑运算包括:与&、或|、非~、异或xor

  位运算包括:按位与bitand、按位或bitor、按位非bitcmp、按位异或bitxor

  多项式:

    多项式MATLAB入门级知识求解MATLAB入门级知识

     MATLAB入门级知识

    求多项式在给定的MATLAB入门级知识时对应的值:

    MATLAB入门级知识

    多项式拟合:

    MATLAB入门级知识

   

  • 可视化

  二维绘图:

    MATLAB入门级知识

    MATLAB入门级知识

  可以使用subplot(m,n,i)在同一个窗口中绘制多个图片,其中m和n代表窗口的划分,i代表第i个位置:

    MATLAB入门级知识

    MATLAB入门级知识

  可以在同一个窗口中对图片堆叠,多次绘制:

    MATLAB入门级知识

    MATLAB入门级知识

  绘图时可以指定颜色、点型、线型等:

黄色

y

实点 . 实线 -
紫红 m 圆圈 o 点线 :
青色 c 叉型 x 点画线 -.
红色 r 十字 + 虚线 --
绿色 g 星号 *    
蓝色 b 方块 s    
白色 w 钻石 d    
黑色 k 五角 p    

    MATLAB入门级知识

    MATLAB入门级知识

  可以通过“axis”指令设置坐标轴范围:

    MATLAB入门级知识

    MATLAB入门级知识

  可以使用“legend”指令给图片添加图例:

    MATLAB入门级知识

    MATLAB入门级知识

  柱状图:

    MATLAB入门级知识

    MATLAB入门级知识

  三维绘图:

    绘制三维曲线:

    MATLAB入门级知识

    MATLAB入门级知识

  绘制三维网线图

    MATLAB入门级知识

    MATLAB入门级知识

 

  • 程序设计

  分支控制:

    if语句:

if xxx
    yyy
elseif zzz
    ttt
else
    qqq
end

    switch语句:

switch xxx
case 1
    111
case 2
    222
...
otherwise
    others
end

  循环控制:

    for循环:

for n=1:5
    ...
end

    while循环:

while(x<=10)
    ...
end

  流程控制:

    return 提前结束程序

    keyboard 暂停程序,等待键盘输入

    input 用于接收用户输入,如r=input('str','s'),'str'是显示在workspace中的提示信息,'s'代表输入的是字符串,不需执行。

    pause 暂停程序,按任意键继续

  函数:

    每个.m文件中可以包含1个主函数和多个子函数,主函数在.m文件的第一行进行声明。下面是函数的格式:

function output=function_name(input)
    ...

    可以在函数外使用“nargin”和“nargout”来获取函数的输入/输出参数个数:

nargin('function_name')
nargout('function_name')

  在函数内部可以省略上述代码中括号内内容,如下:

function n=ext(x,y)
    if(nargin==1)
        plot(x,y)
    else
        plot(x,y+1)
    end