美文网首页
菜鸟的Matlab数学实验学习笔记(1)

菜鸟的Matlab数学实验学习笔记(1)

作者: 唉呀QwQ | 来源:发表于2017-11-20 16:03 被阅读0次

    注明:本学习笔记目的用于作者个人学习,其内容整理出自MOOC电子科技大学数学实验张勇老师等的课程课件,再次注明,请勿转载。www.icourse163.org/learn/UESTC-235004


    1.1基本语法

    1.变量命名规则

    a.必须以字母开头;b.区分大小写;c.可有字母、下划、线数字组成

    example: numcar or num_car; %变量名应能够反映其实际含义。

    2.赋值语句

    变量名=表达式;

    example: a=[2,3,4,5]; or a(2)=10;

    其他赋值语句形如:变量名=函数名(输入参数列表);[变量名列表]=函数名(输入参数列表)

    3.表达式语句

    一个语句可以只有表达式,系统自动将表达式的结果赋值给MATLAB内部变量"ans"。

    4.语句分隔符

    分号和逗号,如果不加分号,系统会显示运算后的结果。

    5.常用命令、快捷键

    clear          清除工作空间中的变量

    如:clear   变量名列表

    示例:

    clear A B    清除变量A,B

    clc              清除命令窗口内容

    who            列出当前工作空间所有变量名称

    whos          列出当前工作空间变量更多信息(维数,占用内存字节数等)

    whos          变量名列表

    示例:

    whos v1 v2列出变量v1,v2的更多信息

    快捷键:向上方向键、向下方向键

    用于浏览命令窗口历史命令、语句


    1.2数组的创建与使用

    1.2.1创建数组

    1. 使用方括号

    同一行的元素用“空格或逗号”分隔,不同行的元素用“分号或换行”分隔。

    如: X=[1,2,3;4,5,6;7,8,9];

            Y=[2,3,4

                  5,6,7];

    2.冒号符操作

    用于创建行向量a:step:b 其中a:b等同于a:1:b,a为起始值,step为增量,b用于判断向量终点值。

    x=1:5 表示x=[1 2 3 4 5],增量默认为1

    x=1:2:9 表示x=[1 3 5 7 9]

    x=10:-2:1 表示x=[10 8 6 4 2]

    3.linspace(a,b,n)

    n-1等分区间[a, b]的节点组成的行向量(含区间端点a, b)

    示例:x=linspace(-2, 2, 5) %表示x=[-2 -1 0 1 2]

    如果要产生一个区间上的均匀节点,并且指定所产生数组的元素个数,则使用linspace更为方便。

    4.拼接

    示例格式1:[A B] 横向拼接要求A,B行数相同,

    示例格式2:[A; B] 纵向拼接,要求A,B列数相同.

    示例:z=[rand(2,3), rand(2,2) ]

    5.空矩阵[ ] 产生一个空矩阵

    示例:a=[ ]

    6.调用函数创建

    a = zeros(m, n) 产生一个m行、n列的零矩阵;多用于变量的初始化

    a = ones(m, n) 产生一个m行、n列的元素全为1的矩阵

    a = eye(m, n) 产生一个m行、n列的单位矩阵

    1.2.2修改和提取数组中的元素

    通过数组下标访问:(1)下标为大于等于1 的整数;(2)下标不能越界

    常用语法:示例:x(i), x(a : b : c), x([a b c d]),x(i,j)

    获取子阵:

    获取某一行 A(r, :) 第r行;

    获取某一列 A(:, c) 第c列

    获取子阵A(行下标集,列下标集)

    修改元素:用赋值语句修改。如果赋值语句右侧不是一个标量,则要求赋值语句两侧表示的数组维数要相同,否则造成维数不一致的错误。

    参考用法1:A(i,:)=B(k,:),

    参考用法2:A([1 2],:)=V

    1.2.3删除数组中的元素

    操作方式:将空矩阵赋值给相应子阵达到删除目的。

    用法:

    A(i1:i2,:)=[]%删除A由i1:i2指定的行

    A(:,j1:j2)=[]%删除A由j1:j2指定的列

    1.2.4 end在存取数组元素方面的特殊用法

    用法:end在下标表达式中表示最后一个下标值

    如果end出现在一个向量的下标中,则表示向量的元素个数。

    如果end出现在一个矩阵的行下标位置,则表示矩阵的行数。

    如果end出现在一个矩阵的列下标位置,则表示矩阵的列数。

    示例:x=[1 5 9; 2 6 10; 3 7 11; 4 8 12];

    x(end,2)= 0; x%将矩阵x的最后一行第2列元素赋值为0

    其他例子:

    -------------------操作向量示例

    t = rand(1,10);

    x1 = t(1:end-1) %取第1个-倒数第2个

    x2 = t(end-2:end) %取倒数第3个-倒数第1个

    –操作矩阵示例

    A = rand(3)

    B = A(1:end-1, : ) %取A的第1行-倒数第2行

    C = A(:, [2:end]) %取A的第2列-倒数第1列


    1.3运算符

    1.3.1算术运算符

    矩阵转置B. '矩阵共轭转置B'

    矩阵加减:A+B,A-B,A与B维数相同或其中之一为标量

    矩阵相乘:A*B,A与B为矩阵或其中之一为标量

    矩阵左除:A\B,当A为方阵表示: A-1B

    矩阵右除:A/B,当B为方阵表示AB-1,或B为标量

    矩阵幂:A^n,A为方阵

    数组对应元素计算:

    数组相乘:C=A.*B

    数组右除:C=A./B;

    数组左除:C=A.\B

    数组幂:C=A.^B

    要求:A, B同维数或其中之一为标量

    1.3.2关系运算符

    关系运算符说明

    1.3.3逻辑运算符

    逻辑运算的值为0(代表“假”)或1(代表“真”)

    三种运算符:

    与(and) &

    或(or) |

    非(not) ~


    1.4变量数据类型

    主要的数据类型:double char sym struct cell

    a=rand(3); b='Li San';%a为double型,b为char型

    syms x, y=1 + x^2 %x,y为sym类型;对y赋值的语句含符号对象

    F.name='li San', F.birth=1999, F.src=rand(3)%F为struct型

    whos a b x y F

    Name Size Bytes Class Attributes

    F 1x1 620 struct

    a 3x3 72 double

    b 1x6 12 char

    x 1x1 112 sym

    y 1x1 112 sym

    查看变量类型

    示例:

    a=rand(3); b='abc'

    class(a), class(b)

    运行结果:

    ans= double

    ans= char

    使用函数class

    用法:class(变量名)

    该函数返回变量的数组类型的char型数组,如'double', 'char'。

    cell数组基本用法

    创建数组用法:

    a=cell(m,n)

    存取cell数组用法示例:

    a{i} i为下标

    a{i,j} i,j分别为行、列下标

    特点:一个cell数组中的元素的类型可以互不相同


    1.5基本输入与格式化输出操作函数

    三个函数:

    input 输入函数

    输入函数input

    第一种用法:

    input(提示信息字符数组)

    用于输入一般类型数据

    第二种用法:

    input(提示字符串,'s')

    用于输入字符数组(含第2个参数's')

    disp显示数组内容函数

    显示数组的元素

    数组显示函数disp(变量名)

    特点:显示数组内容,但不输出变量名

    多用于调试程序时显示数组内容

    sprintf将数组内容格式化为字符串

    格式化输出函数sprintf

    功能:将数据格式化输出为字符串

    用法:str = sprintf(formatSpec,A1,A2,...,An)

    将数组A1,A2,...,An按照参数formatSpec格式化为字符串赋给str.

    %d 格式化整数%f 格式化浮点数

    %c 格式化单个字符%s 格式化字符数组

    百分号符号字符后可以加个整数, 用以限定输出化为字符串的长度,例如:%5d, %5s。


    相关文章

      网友评论

          本文标题:菜鸟的Matlab数学实验学习笔记(1)

          本文链接:https://www.haomeiwen.com/subject/aoksvxtx.html