第一章 基本的数学运算与矩阵运算

第一章 基本的数学运算与矩阵运算

MATLAB官方文档

MATLAB基本语法

变量

  1. MATLAB中的变量不需要声明

  2. 变量名区分大小写,强调变量名长度不超过63

  3. 变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点

  4. MATLAB中的保留变量不适合做变量名

    • 常见的保留变量

      保留变量 含义
      ans 存储上一条语句的运算的结果
      i、j 虚数单位
      Inf 无穷(\(∞\)
      eps 浮点相对精度,即1.0到下一个浮点数之间的距离(值为\(2.2204e\mathop{{}}\nolimits^{{-16}}\))
      NaN 非数,表示未定义或不可表示的值
      pi 圆周率
    • 可以使用\(iskeyword\)命令可以查看MATLAB语言所有的关键字,这些关键字也不允许被用作变量名

  5. 在MATLAB中,变量的调用优先级高于函数,因此变量名不应该覆盖内置函数

    • 例如:
    cos='This string.';
    cos(8)		% 对字符串进行索引取值,取第8个字符得到'r'
    
    • 若某函数被变量名所覆盖,则调用clear <变量名>可以取消绑定在该函数名上的变量名

      谨慎使用clear命令,因为该命令后若不加参数,则表示清除当前工作区内的所有变量

变量类型

MATLAB中的变量类型有: logical,char,numeric,cell,struct以及由他们组成的数组或矩阵

1.1
  1. 整型

    • 带符号整型
      分为带符号8位、16位、32位、64位整型

      int8();int16();int32();int64();
      
    • 无符号整型
      分为无符号8位、16位、32位、64位整型

      uint8();uint16();uint32();uint64();
      
  2. 浮点型

    • 单精度型
      在内存中占用4个字节

      single()    %将其他类型转换成单精度
      
    • 双精度型
      在内存中占用8个字节,数值数据默认是double类型

      double()    %将其他类型转换成双精度
      
  3. 复数型

    • 分为实部和虚部,默认为双精度型
    real()      %求复数的实部
    imag()      %求复数的虚部
    

判断变量数据类型的函数

下列函数可以对变量类型进行判断:

函数 作用
isinteger 判断输入参数是否为整型数数组
islogical 判断输入参数是否为逻辑量数组
isnumeric 判断输入参数是否为数值数组
isreal 判断输入参数是否为实数数组
ischar 判断输入参数是否为字符数组
iscell 判断输入参数是否为元胞数组
isfloat 判断输入数组是否为浮点数组
ishandle 判断输入数组是否有效的图形句柄
isempty 判断输入数组是否为空
isprime 确定哪些数组元素为质数
isnan 确定哪些数组元素为NaN
isinf 确定哪些数组元素为Inf
isequal 判断数组是否相等

数字型变量的显示格式

直接定义的数字型变量,默认是以double形式存储的

我们可以通过format <显示格式>改变数字型变量的显示格式

显示格式 说明 例子
short 短定点格式.显示小数点后4位 3.1416
long 长定点格式.对double类型变量显示小数点后15位,对float类型变量显示小数点后7位. 3.141592653589793
shortE 短科学计数法,显示小数点后4位.并带有科学计数法标记. 3.1416e+00
longE 长科学计数法.对double类型变量显示小数点后15位,对float类型变量显示小数点后7位.并带有科学计数法标记. 3.141592653589793e+00
bank 银行格式.显示小数点后2位. 3.14
hex 十六进制格式. 400921fb54442d18
rat 比例格式 355/113
>> x = 1.3333333333;
>> format short
>> x
x =
    1.3333
>> format shortE
>> x
x =
   1.3333e+00

MATLAB命令行

  1. 在一行命令后使用;抑制输出,否则运算结果将被显示在终端上.

  2. 其他实用的命令:

    命令 作用
    clc 清除终端的输出
    clear 清除当前工作区内所有变量
    who 以简略格式显示工作区内所有变量
    whos 以复杂格式显示工作区内所有变量

MATLAB数字运算

MATLAB表示数学表达式

MATLAB常见运算符,优先级顺序(从前到后):括号()、乘方^、乘除法*,/、加减法+,-

数学表达式例子:

数学表达式 MATLAB命令
\(\cos\left(\sqrt{\frac{{\left(1+2+3+4\right)}^3}{5}}\right)\) cos(sqrt((1+2+3+4)^3/5))
\({sin \left( \sqrt{{ \pi }} \left) +ln \left( tan \left( 1 \left) \right) \right. \right. \right. \right. }\) sin(sqrt(pi))+log(tan(1))
\(2\mathop{{}}\nolimits^{{3.5 \times 1.7}}\) 2^(3.5*1.7)
\(e\mathop{{}}\nolimits^{{sin \left( 10 \right) }}\) exp(sin(10))

内置常用的数学函数

  1. 三角函数(正弦: sin、余弦: cos、正切: tan、余割: csc、正割: sec、余切: cot等)
  • 参数分为弧度和角度,如果是角度要在函数名后加d,以示区别

    sin(pi/2)   %结果为1
    sind(90)    %结果为1
    
  1. 指数和对数函数(常用)
函数名 含义
exp 指数
log 自然对数
log10 常用对数(以 10 为底)
log2 以 2 为底的对数和浮点数分解
sqrt 平方根
  1. abs函数

    • 可以求实数的绝对值复数的模字符串的ASCII码值

      abs(-4)     %结果为4
      abs(3+4i)   %结果为5
      abs('a')    %结果为97
      
  2. 用于取整的函数

    • fix函数(fix:固定)固定取靠近0的那个整数,即舍去小数取整
    • floor函数(floor:地板)向下取整
    • ceil函数(ceil:天花板)向上取整
    • round函数按照四舍五入取整
    fix(-6.6)        %结果为-6
    fix(6.6)         %结果为6
    floor(-4.5)      %结果为-5
    floor(4.5)       %结果为4
    ceil(-3.2)       %结果为-3
    ceil(3.2)        %结果为4
    round(1.1)       %结果为1
    
  3. 其他常用函数

    • 用于求余函数

      • rem函数,两个参数,第一个是被求余的数值,第二个是对什么值求余

        rem(6.5,5)      %结果为1.5000
        
    • 用于求素数的函数

      • isprime函数,如果是素数则返回1,不是则返回0

        %输出1到100的素数
        x=1:100;
        k = isprime(x); %将全为0、1的数值赋值给k矩阵
        k1 = find(k);   %查找非0值的下标并赋值给k1
        p = x(k1)       %输出对应下标的矩阵
        

MATLAB矩阵运算

矩阵的建立

直接输入

在MATLAB中,使用[]将待输入的矩阵内容括起来,使用空格或逗号,分隔行内变量,使用分号分隔每一行

MATLAB命令 矩阵
[1 2 3 4] $[ 1 \ \ 2 \ \ 3 \ \ 4 ] $
[1,2,3,4] $[ 1 \ \ 2 \ \ 3 \ \ 4 ] $
[1; 2; 3; 4] \({ \left[ {{\left. \begin{array}{*{20}{l}}{1}\\{2}\\{3}\\{4}\end{array} \right] }}\right. }\)

分块矩阵

一个大的矩阵可由多个小矩阵拼接而成

>> A = [1,2,3;4,5,6;7,8,9];
>> B = [-1,-2,-3;-4,-5,-6;-7,-8,-9];
>> C = [A,B;B,A]
C =
    1     2     3    -1    -2    -3
    4     5     6    -4    -5    -6
    7     8     9    -7    -8    -9
    -1    -2    -3     1     2     3
    -4    -5    -6     4     5     6
    -7    -8    -9     7     8     9
%建立复数矩阵
>> A = [1,2,3;4,5,6]
>> B = [4,5,6;7,8,9]
>> C = A+B*i
C =
    1.0000 + 4.0000i   2.0000 + 5.0000i   3.0000 + 6.0000i
    4.0000 + 7.0000i   5.0000 + 8.0000i   6.0000 + 9.0000i

冒号表达式

  • 格式:e1:e2:e3

    • e1:初始值

    • e2:步长,省略表示步长为1

    • e3:终止值

    • 建立一个以e1开始,e2结束,步长为e2的行向量

      >> D = 1:3:10
      D =
          1     4     7    10
      
  • linspace函数

    • 格式:linspace(a,b,n)

      • a:第一个元素
      • b:最后一个元素
      • n:元素总数,省略默认为100
      • 建立一个以a开始,b结束,共有n个数值的行向量,等间距
      >> linspace(1,pi,6)
      ans =
          1.0000    1.4283    1.8566    2.2850    2.7133    3.1416
      
  • logspace函数

    • 格式:logspace(a,b,n)

      • a:第一个元素
      • b:最后一个元素
      • n:元素总数,省略默认为100
      • 建立一个以a开始,b结束,共有n个数值的行向量,对数间隔的数据
      >> logspace(0, 2, 6)
      ans =
          1.0000    2.5119    6.3096   15.8489   39.8107  100.0000
      

定义特殊矩阵

命令 得到的结果
eye(n) 得到一个\(n\times n\)的单位矩阵
zeros(n1, n2) 得到一个\({n\mathop{{}}\nolimits_{{1}} \times n\mathop{{}}\nolimits_{{2}}}\)的全0矩阵
ones(n1, n2) 得到一个\({n\mathop{{}}\nolimits_{{1}} \times n\mathop{{}}\nolimits_{{2}}}\)的全1矩阵
diag(vector) 得到一个以向量vector中内容为对角线的对角矩阵

随机数矩阵

命令 得到的结果
rand 均匀分布的随机数
randn 正态分布的随机数
randi 均匀分布的伪随机整数
randperm 整数的随机排列

结构矩阵

  • 格式:结构矩阵元素.成员名 = 表达式

    >> a(1).x1 = 10;a(1).x2 = 'zhang';a(1).x3 = [1,2;3,4];
    >> a(2).x1 = 20;a(2).x2 = 'li';a(2).x3 = [5,6;7,8];
    >>a
    a =
        包含以下字段的 1×2 struct 数组:
            x1
            x2
            x3
    >> a(1)
    ans =
        包含以下字段的 struct:
            x1: 10
            x2: 'zhang'
            x3: [2×2 double]
    >> a(2)
    ans =
        包含以下字段的 struct:
            x1: 20
            x2: 'li'
            x3: [2×2 double]
    
  • 结构矩阵的常用函数

    函数 作用
    struct 创建结构体
    struct2cell 将结构体转换为元胞数组
    cell2struct 将元胞数组转换为结构体
    isstruct 判断某变量是否是结构体
    structfun 对结构体的每个字段都应用某函数
    fieldnames 获取结构体的所有字段名
    isfield 判断结构体是否包含某字段
    getfield 获取结构体某字段的值
    setfield 为结构体中的某字段赋值
    rmfield 删除结构体中的某字段
    orderfields 为结构体字段排序

单元矩阵(元胞数组)

元胞数组是一个可以容纳不同类型元素的数据结构

我们可以使用{ }像定义矩阵一样定义元胞数组:

1.2
A = { [1 4 3; 0 5 8; 7 2 9]		'Anne Smith' ;...
3+7i		-pi:pi:pi}

有两种方式访问元胞数组中的数据,分别是: 单元索引()内容索引{}.

因为元胞数组的子集仍为元胞数组,在索引器内容的使用,我们有必要指明我们要访问的的是一个子元胞数组还是元胞数组对应区域中的内容.

  • 使用单元索引(),我们得到的是一个子元胞数组.
  • 使用内容索引{},我们得到的是元胞数组对应区域中的内容

详细请阅读Matlab帮助文档

元胞数组的常用函数
函数 作用
cell 创建一个元胞数组
iscell 判断某变量是否为元胞数组
cell2mat 将元胞数组转为矩阵
cell2struct 将元胞数组转为结构体
mat2cell 将数组转换为指定大小元胞数组
num2cell 将数组转换为相同大小的元胞数组
struct2cell 将结构体转换为元胞数组
celldisp 递归显示元胞数组中的内容
cellplot 以图像形式绘制元胞数组的结构
cellfun 对元胞数组的每个元胞应用某函数
高维元胞数组

一个三维的元胞数组可以有(row),(column),(layer)三个维度.在对元胞数组进行索引时,优先级从高到低的顺序分别是: 行→列→层

1.3

使用cat函数可以在指定维度上对元胞数组进行拼接

1.4

矩阵的索引

  1. MATLAB中的矩阵是以先存储的.且索引下标从1开始

  2. 矩阵有两种索引方式: 按一维索引和按二维索引,对于一个一般的矩阵,其索引顺序如下:

    \[{ \left[ {{\left. \begin{array}{*{20}{l}} {1\text{ }\text{ }4\text{ }\text{ }7}\\ {2\text{ }\text{ }5\text{ }\text{ }8}\\ {3\text{ }\text{ }6\text{ }\text{ }9} \end{array} \right] }}\right. }or{ \left[ {{\left. \begin{array}{*{20}{l}} { \left( 1,1 \left) \text{ }\text{ } \left( 1,2 \left) \text{ }\text{ } \left( 1,3 \right) \right. \right. \right. \right. }\\ { \left( 2,1 \left) \text{ }\text{ } \left( 2,2 \left) \text{ }\text{ } \left( 2,3 \right) \right. \right. \right. \right. }\\ { \left( 3,1 \left) \text{ }\text{ } \left( 3,2 \left) \text{ }\text{ } \left( 3,3 \right) \right. \right. \right. \right. } \end{array} \right] }}\right. } \]

  3. 矩阵的索引可以使用冒号:,表示选取所有行或所有列

  4. 矩阵的索引可以是一个或两个向量,表示选中向量内的所有行或所有列

例子:

原矩阵 索引 得到的结果 解释
\({A\text{ }=\text{ }{ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2\text{ }\text{ }3}\\{4\text{ }\text{ }5\text{ }\text{ }6}\\{7\text{ }\text{ }8\text{ }\text{ }9}\end{array} \right] }}\right. }}\) A(8) \(6\) 取矩阵第8个元素
\({A\text{ }=\text{ }{ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2\text{ }\text{ }3}\\{4\text{ }\text{ }5\text{ }\text{ }6}\\{7\text{ }\text{ }8\text{ }\text{ }9}\end{array} \right] }}\right. }}\) A([1 3 5]) $[ 1 7 5 ] $ 分别取矩阵第[1 3 5]个元素放入新矩阵的对应位置
\({A\text{ }=\text{ }{ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2\text{ }\text{ }3}\\{4\text{ }\text{ }5\text{ }\text{ }6}\\{7\text{ }\text{ }8\text{ }\text{ }9}\end{array} \right] }}\right. }}\) A([1 2; 3 4]) \({ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }4}\\{7\text{ }\text{ }2}\end{array} \right] }}\right. }\) 分别取矩阵第[1 2; 3 4]个元素放入新矩阵的对应位置
\({A\text{ }=\text{ }{ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2\text{ }\text{ }3}\\{4\text{ }\text{ }5\text{ }\text{ }6}\\{7\text{ }\text{ }8\text{ }\text{ }9}\end{array} \right] }}\right. }}\) A(3,2) \(8\) 取矩阵第3行第2列的元素
\({A\text{ }=\text{ }{ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2\text{ }\text{ }3}\\{4\text{ }\text{ }5\text{ }\text{ }6}\\{7\text{ }\text{ }8\text{ }\text{ }9}\end{array} \right] }}\right. }}\) A([1,2], :) \({ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2\text{ }\text{ }3}\\{4\text{ }\text{ }5\text{ }\text{ }6}\end{array} \right] }}\right. }\) 取矩阵第[1 2]行和所有列的交叉项
\({A\text{ }=\text{ }{ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2\text{ }\text{ }3}\\{4\text{ }\text{ }5\text{ }\text{ }6}\\{7\text{ }\text{ }8\text{ }\text{ }9}\end{array} \right] }}\right. }}\) A([1 3], [1 2]) \({ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2}\\{7\text{ }\text{ }8}\end{array} \right] }}\right. }\) 取矩阵第[1 3]行和第[1 2]列的交叉项
  1. 序号和下标的转换

    • sub2ind函数:将矩阵中指定元素的行列下标转换成存储的序号

      • 格式:D = sub2ind(S,I,J)

        • D:序号
        • S:行和列组成的向量,可用size函数获取
        • I:转换矩阵元素的行下标
        • J:转换矩阵元素的列下标
        >> A = [11:13;15:17]
        A =
            11    12    13
            15    16    17
        >> D = sub2ind(size(A),[1,2;2,2],[1,1;3,2])
        %获取(1,1)、(2,1)、(2,3)、(2,2)的序号并组成矩阵赋值给D
        D =
            1     2
            6     4
        
    • ind2sub函数:将矩阵中指定元素的序号转换成行列下标

      • 格式:[I,J] = ind2sub(S,D)

        • I:行下标
        • J:列下标
        • S:行和列组成的向量,可用size函数获取
        • D:序号
        >> [I,J] = ind2sub([3,3],[1,3,5])
        %获取3x3矩阵中序号为1、3、5的行列下标
        I =
            1     3     2
        J =
            1     1     2
        %下标为(1,1)、(3,1)、(2,2)
        

矩阵的操作

运算符

运算符 操作 形式 例子
+ 矩阵与向量相加 A+b [6 3] + 2 = [8 5]
- 矩阵与向量相减 A-b [6 3] - 2 = [4 1]
+ 矩阵与矩阵对应位置相加 A+B [6 3] + [4 8] = [10 11]
- 矩阵与矩阵对应位置相减 A-B [6 3] - [4 8] = [2 -5]
* 矩阵与矩阵相乘 A*B [6 3] * [4 8]' = 48
.* 矩阵与矩阵对应位置相乘 A.*B [6 3] * [4 8] = [24 24]
/ 矩阵与矩阵右除(等价于A*inv(B)) A/B [6 3] / [4 8] = 0.6
\ 矩阵与矩阵左除(等价于inv(A)*B) A\B [6 3] / [4 8] = [0.06667 1.3333; 0 0]
./ 矩阵与矩阵对应位置右除 A./B [6 3] ./ [4 8] = [1.5 0.375]
.\ 矩阵与矩阵对应位置左除 A.\B [6 3] .\ [4 8]' = [0.6667 2.6667]
^ 矩阵与向量乘方 A^b [1 2; 3 4]^3 = [37 54; 81 118]
.^ 矩阵与矩阵对应位置乘方 A.^B [1 2; 3 4].^[1 2; 3 4] = [1 4; 27 256]

函数

对于矩阵:

\[{A\text{ }=\text{ }{ \left[ {{\left. \begin{array}{*{20}{l}}{1\text{ }\text{ }2\text{ }\text{ }3}\\{4\text{ }\text{ }5\text{ }\text{ }6}\\{7\text{ }\text{ }8\text{ }\text{ }9}\end{array} \right] }}\right. }} \]

函数 作用 例子 结果
max(A, [], dim) 获取矩阵Adim维度上的最大值(dim=1,代表列;dim=1,代表行) max(A, [], 1) \([ 7 \ \ 8\ \ 9]\)
min(A, [], dim) 获取矩阵Adim维度上的最小值(dim=1,代表列;dim=1,代表行) min(A, [], 2) \([ 1 \ \ 4\ \ 7]\)
sum(A, dim) 获取矩阵Adim维度上的和 sum(A, 1) \([ 12 \ \ 15\ \ 18]\)
mean(A, dim) 获取矩阵Adim维度上的平均值 mean(A, 1) \([4 \ \ 5\ \ 6]\)
sort(A, dim, direction) 获取矩阵Adim维度上按direction顺序排序结果('ascend' 表示升序(默认值),'descend' 表示降序) sort(A, 1, 'descend') \({ \left[ {{\left. \begin{array}{*{20}{l}}{7\text{ }\text{ }8\text{ }\text{ }9}\\{4\text{ }\text{ }5\text{ }\text{ }6}\\{1\text{ }\text{ }2\text{ }\text{ }3}\end{array} \right] }}\right. }\)
size(A, dim) 获取矩阵Adim维度上的形状.若不指定dim,则返回整个矩阵的形状. size(A) \([ 3 \ \ 3 ]\)
find(A, n) 获取矩阵An个非零元素的索引 find(A,5) \([1 \ \ 2\ \ 3\ \ 4\ \ 5]\)

改变矩阵的形状

  1. reshape函数:在矩阵元素不变的情况下,将矩阵A重新排成mxn的矩阵

    • 只改变原矩阵的行数和列数不改变原矩阵元素的个数存储顺序
    • reshape(A,m,n)
      • A:原矩阵
      • m:行数
      • n:列数
    >> A = [1:4;5:8;9:12]
    A =
        1     2     3     4
        5     6     7     8
        9    10    11    12
    >> B = reshape(A,4,3)
    B =
        1     6    11
        5    10     4
        9     3     8
        2     7    12
    
  2. A( : ):将矩阵A堆叠成一个列向量

    >> A = [1:3;4:6]
    A =
        1     2     3
        4     5     6
    >> B = A(:)
    B =
        1
        4
        2
        5
        3
        6
    

MATLAB字符处理

字符串的表示

  1. 字符串是用单引号括起来的字符序列

  2. 如果字符串中字符含有单引号,则该单引号字符要用两个单引号表示

    >> 'I''m a student'
    ans =
        'I'm a student'
    
  3. 建立多行字符串,形成字符串矩阵

    • 多行字符串的列数必须都相等,用空格调节
    %求ch的1到5位的字符串、反向表示、小写字母转成大写字母及ch的长度
    ch = 'ABc123Def456';
    %ch的1到5位的字符串
    subch = ch(1:5);
    subch
    %反向表示
    revch = ch(end:-1:1);
    revch
    %小写字母转成大写字母
    k = find(ch>='a'&ch<='z');
    ch(k) = ch(k)-('a'-'A');
    ch
    %ch的长度
    length(ch)
    %下面是结果
    subch =
        'ABc12'
    revch =
        '654feD321cBA'
    ch =
        'ABC123DEF456'
    ans =
        12
    

字符串的操作

  1. 字符串的执行

    格式:eval(s)

    • s:字符串
    • 作用:将字符串转换成对应matlab中的命令执行
    eval('clear')	%等价于 clear 命令
    
  2. 字符串与数值之间的转换

    • abs函数和double函数:将字符串转化成对应的ASCII码矩阵
    • char函数:将ASCII码转化成对应的字符串矩阵
  3. 字符串的比较

    • 利用关系运算
      • 两个字符串长度相等
      • 依次对对应ASCII码进行比较
      • 结果是一个数值(0或1)向量
    • 利用字符串比较函数
      • strcmp(s1,s2):比较s1和s2是否相等,结果为1或0
      • strncmp(s1,s2,n):比较两个字符串前n个字符是否相等,结果为1或0
      • strcmpi(s1,s2):比较在忽略大小写的情况下,s1和s2是否相等,结果为1或0
      • strncmpi(s1,s2,n):比较在忽略大小写的情况下,两个字符串前n个字符是否相等,结果为1或0
  4. 字符串的查找和替换

    • findstr(s1,s2):返回短字符串在长字符串中的开始的位置
    • strrep(s1,s2,s3):将s1中的子字符串s2替换为字符串s3

文件读写

MATLAB支持的文件类型如下:

文件内容 扩展名 读取文件的函数 写入文件的函数
MATLAB数据 *.mat load save
Excel表格 *.xls,*.xlsx xlsread xlswrite
空格分隔的数字 *.txt load save

读写MATLAB格式的数据

MATLAB工作区内的数据可以以*.mat格式保存在文件中.使用save函数将数据存入文件,使用load函数从文件中读取数据.

  • save

    函数的语法如下:

    • save(filename,variables)将变量variables以二进制形式存入文件中.
    • save(filename,variables,'-ascii')将变量variables以文本形式存入文件中.
  • load

    函数的语法如下:

    • load(filename)从二进制形式文件中读取数据.
    • load(filename,'-ascii')从文本形式文件中读取数据.

其中参数filenamevariables都是字符串格式,若不指定variables参数,则将当前工作区内所有变量存入文件中.

复杂的数据格式,如structcell,不支持以二进制格式存储.

读写Excel表格

使用xlsreadxlswrite函数可以读写Excel数据,语法如下:

  • 读取Excel文件的语法:[num,txt,raw] = xlsread(filename,sheet,xlRange)

    1.5
    Score = xlsread('04Score.xlsx')
    Score = xlsread('04Score.xlsx', 'B2:D4')
    [Score Header] = xlsread('04Score.xlsx')
    
  • 写入Excel的语法:xlswrite(filename,A,sheet,xlRange)

    M = mean(Score);
    xlswrite('04Score.xlsx', M, 1, 'E2:E4');
    xlswrite('04Score.xlsx', {'Mean'}, 1, 'E1');
    
posted @ 2020-09-21 10:56  打不死の小强丶  阅读(574)  评论(0编辑  收藏  举报