MATLAB基础学习笔记

MATLAB基础学习笔记

基础命令

  • help xxx在帮助文档里查找xxx命令的使用方式

  • lookfor xxx查找有xxx的关键字的命令

  • clc清屏

  • clear清除变量

  • inf表示正无穷,可以加上负号表示负无穷

  • exp(xxx)表示数学中的e的xxx次方

  • pi表示数学符号Π

  • 计算阶乘factorial(5)

矩阵的使用

  • 为创建一个矩阵,可以使用A = [1 2 3 4]的命令,即创建一个一行四列的矩阵。其中空格作用和逗号完全相同。

  • 如果想创建多维矩阵,只需要在第一行输入结束后,在后面加上分号,再继续输入下一行:B = [1,2,3,4;5,6,7,8],这样就创建了一个两行三列的矩阵。

  • 可以使用冒号来更高级的创建矩阵,如上述矩阵B,可以使用如下命令:B = [1,2,3,4;5:8],其表示从5数到8,步幅是默认的1。如果要改变步幅,如想表示从1到10内所有奇数,可以使用:1:2:10,其结果就是1 3 5 7 9

  • 如果对矩阵的某一行、某一列进行操作,要使用冒号来代替:B(:,2) = B(:,2)-B(:,1),这一行命令表示的就是矩阵B的第二列的值为其第二列减去第一列。这也就是线性代数中的初等列变换。

  • 调用某一个位置,可以使用B(2,3),这表示矩阵B第二行第三列的数据。

  • 命令who,会使程序将工作区的所有变量打印出来

  • 命令save xxx,会保存工作区的所有变量至xxx文件

  • 命令load xxx,会将xxx文件的所有变量加载到工作区

  • zeros(m,n)``ones(m,n)表示返回一个m行n列的全0、1矩阵

  • a+b,a-b:对矩阵a和b的对应元素直接相加减,要求矩阵大小相同。

  • a.*b,a./b:对矩阵a和b的对应元素直接相乘除,要求矩阵大小相同。

  • a*b,a/b:进行矩阵乘除运算

行列式的操作

  • C = magic(3),创建一个3阶秩亏幻方矩阵
  • det(C)求行列式的值;rank(C)求行列式的秩;inv(C)求行列式的逆。abs(C)对C中的每个元素求绝对值
  • 转置:b=[1,2,3,4]',加上一个单引号,就表示矩阵的转置
  • 在使用inv(C)命令后,可能会出现很多小数,在实际应用中我们可以使用format rat使其表示为分数形式。(再次使用format可以重置默认)
  • diag(C,0)求主对角线,如果第二个参数变为1,就是表示出主对角线向右上走一行的一条线(-1是向左下)
  • eig(C)求C的特征值,rref(C)转化为行最简型行列式,norm(C)返回C的范数
  • 也有些数据在进行运算后,系统会以*的形式表示,这是由于计算机的计算有一定的误差,这是一个无限接近于0的数据。
  • linspace([x1,x2][n])从x1到x2之间生成 n 个点。这些点的间距为 (x2-x1)/(n-1),其实就是一个等差数列,有点像冒号运算符。logspace则是等比数列
  • A(:)表示A按列拉直,变成向量形式

使用变量

  • 创建符号变量:syms x y,这就创建了两个符号变量x、y,注意中间不能加逗号
  • subs(a+b, a, 4)subs是替换函数,这样的意义其实是b+4
  • 基本函数都可以从help elfun中查找
  • 取极限:limit(sin(x)/x,x,0,left)这就是函数sin(x)/xx->-0处的极限,最后一个参数可以不要,求的就是那个点处的极限。0有时候可以记得使用inf表示无穷。
  • 求导:diff(F,x,dim)即在F中对x进行求导,求导的次数是dim
  • 积分:int(F,x)这是F对x进行不定积分,若果要进行定积分,int(F,x,0,inf)这是从下限是0上限是无穷的定积分
  • 有时候积分会遇到不可积的情况,可以使用quad('sin(x)./x',1,pi/2,1e-6)这是通过数值来进行积分,意义是将单引号内的方程组进行数值积分,下限是1上限是pi/2,误差范围是10的-6次方
  • 化简命令:factor()化为最简因式,simple()化简
  • 可以创建内联函数:Fx = inline('sin(x)./x','x')这是创建了一个内联函数,这样我们再进行数值积分,就可以直接使用quad(Fx,1,pi/2,1e-6)
  • 泰勒展开:taylor(sin(x),x,0.6)将sin(x)在x=0处以六阶形式展开,注意后面的符号是.
  • 最值点:fminbnd('sin(x)',0,pi),这是求sin(x)中的最小值点,最大值也同理

函数编辑器的使用

  • 创建脚本后,可以自定义函数:

    function y=fnh(x)
    y=sin(x)./x
    
    • 这样就是创建了一个自定义函数

    • 调用时,如果是以数值方式调用,则前面记得加上@,如果直接调用,就可以直接写,如fnh(pi/2)quad(@fnh,1,pi/2,1e-6)

绘图命令

绘制二维图形
  • 最基础的绘图命令plot,其使用方法是:plot(x,y,'-r','Linewidth',2),其中x是横坐标,y是纵坐标,一般是用方程来表达(记得’’),-r是颜色参数,'Linewidth',2是线宽参数

  • 如果在以绘制出的图上继续增加新元素,需要先使用hold on命令。

  • legend()命令,为图像增加注解,里面的每个参数对应的是每次的plot函数(按顺序)

  • subplot(1,3,1)命令表示下面的命令处于一行三列图表中的第一个位置

拟合

多项式拟合
  • polyfit(x,y,9)拟合x,y以九个点表示,注意这里的阶数应小于数据点的数目

  • polyval(p,x)p是拟合出的点,计算出每个x处的p

    % 多项式拟合指令
    x=[1 2 3 4 5 6 7 8 9];
    y=[9 7 6 3 -1 2 5 7 20];
    P=polyfit(x,y,3);
    xi=0:.2:10;
    yi=polyval(P,xi);
    plot(xi,yi,x,y,'r*');
    

回归模型

  • [b,bint,r,rint,stats]=regress(Y,X,alpha)

    bint表示回归系数的区间估计
    r表示残差
    rint表示置信区间
    stats表示用于检验回归模型的统计量,有三个数值:决定系数r^2,F值,与F对应的概率p
    alpha表示显著性水平,缺省时为0.05
    
  • 用法:b=regress(Y,X)

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lanciberrr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值