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

注明:本学习笔记目的用于作者个人学习,其内容整理出自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关系运算符

《菜鸟的Matlab数学实验学习笔记(1)》 关系运算符说明

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 1×1 620 struct

a 3×3 72 double

b 1×6 12 char

x 1×1 112 sym

y 1×1 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。

    原文作者:唉呀QwQ
    原文地址: https://www.jianshu.com/p/864a9f4e9767
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞