MATLAB入门级知识

  要入坑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

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

   

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

   

  矩阵的创建:

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*...的正态分布随机数组

 

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

   

  矩阵的合并:

   

  矩阵常用函数:

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

  字符串:

   

   

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

   

  元胞:

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

   

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

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

  多项式:

    多项式p(x)=x^{4}-6x^{3}+11x^{2}-6x+0求解x

    

    求多项式在给定的x时对应的值:

   

    多项式拟合:

   

   

  • 可视化

  二维绘图:

   

   

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

   

   

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

   

   

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

黄色

y

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

   

   

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

   

   

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

   

   

  柱状图:

   

   

  三维绘图:

    绘制三维曲线:

   

   

  绘制三维网线图

   

   

 

  • 程序设计

  分支控制:

    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

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值