注明:本学习笔记目的用于作者个人学习,其内容整理出自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。
网友评论