MATLAB

基本用法


  • 句末加;表示其结果不输出

  • 句末不加; 表示其结果输出

  • 增加注释:ctrl+R

  • 取消注释 :ctrl+T

  • 清除命令行窗口:clc

  • 清除工作区变量:clear

  • 很多代码的开头都会添加clear;clc——两条一起使用,起到初始化的作用,防止之前的结果对新脚本文件产生干扰。

  • 输出函数:disp()函数,不论加不加分号其结果都输出

  • 按上下键调出之前使用过的代码

  • MATLAB中字符串的合并:strcat(“字符串1”,“字符串2”);[“字符串1” “字符串2”]

  • 将数字转化为字符串:num2str()函数

  • 输入函数:input(“提示符”)

  • Matlab中的矩阵:同行之间用空格或者逗号,不同行之间用分号

  • 求和:sum()函数
    (1)如果是向量,都是直接求和
    (2)如果是矩阵,则需要根据行和列的方向进行区分
    sum(x): %按列求和(得到一个行向量)
    sum(x,1): %按列求和(得到一个行向量)
    sum(x,2): %按行求和(得到一个列向量)
    sum(sum(x)):整个矩阵求和
    sum(x(:):整个矩阵求和

  • 求乘积:prod()函数
    使用方法同sum()

  • 对矩阵进行索引
    (1)得到第一列的所有元素:x(:,1);
    (2)得到第2行的所有元素:x(2,:);
    (3)得到第三行第二列的元素: x(3:2);
    (4)得到第2行和第5行的全部元素:x([2,5],: );
    (5)得到第2行至第5行的全部元素:x([2:5],: );
    (6)得到第2行和第4行的全部元素:x([2:2:5],: );
    (7)得到第2行至最后一行:x(2:end,:);
    (8)得到第2行至倒数第二行:x(2:end-1,:);
    (9)取全部的元素拼接为一个列向量:x( : ) ; 在MATLAB中矩阵是按列进行存储的

  • 获取矩阵的大小:size()
    [r,c] = size(A);%r表示行,c表示列
    r = size(A,1)
    c = size(A,2)

  • 对矩阵进行重复 : repmat()函数
    B = repmat(A,m,n):将矩阵A复制m×n块,即把A作为B的元素,B由m×n个A平铺而成。

  • 矩阵的运算
    (1)MATLAB在矩阵的运算中,“”号和“/”号代表矩阵之间的乘法与除法(A/B = Ainv(B));inv(B)表示B矩阵的逆。
    (2)两个形状相同的矩阵对应元素之间的乘除法需要使用“.*”和“./”
    (3)每个元素同时和常数相乘或相除操作都可以使用
    (4)每个元素同时乘方时只能使用 “.^”

  • 计算矩阵的特征值和特征向量(只有方阵才可以计算):eig()
    (1)E = eig(A) : 求矩阵A的全部特征值,构成向量E
    (2)[V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。(V的每一列都是D中与之相同列的特征值的特征向量)

  • find函数,它可以用来返回向量或者矩阵中不为0的元素的位置索引。
    (1)ind = find(X,2) :返回前2个不为0的元素的位置:
    (2)[r,c] = find(X) : 按照行列的信息输出
    (3)[r,c] = find(X,1) :找第一个非0元素

  • 求最大值:max()
    求一个矩阵中的最大值:max(x( : )) 或者max(max(x))

  • 矩阵与常数的大小判断运算
    共有三种运算符:大于> ;小于< ;等于 == (一个等号表示赋值;两个等号表示判断)
    X = [1 -3 0;0 0 8;4 0 6]
    X > 0 :返回一个01矩阵,其中0表示false,1表示ture
    X == 4 :同上

  • 判断语句if
    Matlab的判断语句,if所在的行不需要冒号,语句的最后一定要以end结尾 ;中间的语句要注意缩进。

a = input('请输入考试分数:')
if a >= 85  
    disp('成绩优秀')
elseif a >= 60 
    disp('成绩合格')
else
    disp('成绩挂科')
end

  • plot()函数
    plot(x1,y1,x2,y2)
    %线方式:-实线:点线-.虚点线–波折线
    %点方式: .圆线 +加号 *星号 x x型 o 小圆
    %颜色: y黄色 r红色 g绿 b蓝 w白 k黑 m紫 c q青
    %给每一张图片进行标号:figure(1)
  • subplot函数
    目的:分割figure,创建子坐标系
    subplot(m,n,p)或者subplot(m n p)。

其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。

subplot(2,2,1); % 221之间没有空格也可以
%在第一块绘图
subplot(2,2,2);
%在第二块绘图
subplot(2,2,3);
%在第三块绘图
subplot(2,2,4);
%在第四块绘图
  • 插值算法相关的函数
    (1)分段三次埃尔米特插值:pchip()
    p = pchip(x,y,new_x)
    x是已知的样本点的横坐标
    y是已知的样本点的纵坐标
    new_x是要插入处对应的横坐标
    (2)三次样条插值
    p = spline(x,y,new_x)
    x是已知的样本点的横坐标
    y是已知的样本点的纵坐标
    new_x是要插入处对应的横坐标

(3)n维数据的插值
p = interpn(x1,x2,x3,……,xn,y,new_x1,new_x2,……,new_xn,method)
%x1,x2,……,xn是已知的样本点的横坐标
%y是已知的样本点的纵坐标
%new_x1,new_x2,……,new_xn是要插入处对应的横坐标
%method是插值的方法
‘linear’:线性插值(默认算法)
‘cubic’:三次插值;
‘spline’:三次样条插值法(最为精准)
‘nearest’:最邻近插值算法
p = spline(x,y,new_x)
等价于
p = interpn(x,y,new_x,‘spline’)

  • legend()函数
    legend(string1,string2,string3,……,‘Location’,‘SouthEast’)
    %分别表示将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。
    %Location 用来指定标注显示的位置

写这章主要督促自己好好学MATLAB,记录自己的学习情况,之后遇到更多会持续添加,如果有什么书写不正确的地方,欢迎大家批评指正!
*本文内容参考来自清风老师的数学建模课程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值