第2讲 MATLAB基本语法
matlab2_matlab教程

x1+2x2+3x3=1 2x1+3x2+4x3=2 a=[1 2 3;2 3 4];b=[1;2]; x=a\b x= 1.00 0 x=
x1 1 2 3 1 x2 = 2 3 4 2 x3
a
x = b
x=pinv(a)b
0.83 0.33
0
-0.17
六、微分方程求解
微分方程求解的仿真算法有多种,常用 的有Euler(欧拉法)、Runge Kutta(龙 格-库塔法。 Euler法称一步法,用于一阶微分方程
a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10]; a.*b ans = 2 8 18 4 15 30 49 72 90
a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10];
a*b ans = 25 55 85
37 85 133
二、数据的保存与获取
把matlab工作空间中一些有用的数 据长久保存下来的方法是生成mat数 据文件。 save —— 将工作空间中所有的变 量存到matlab.mat文件中。 默认文件名
save data——将工作空间中所
有的变量存到data.mat文件中。
save data a b ——将工作空间 中a和b变量存到data.mat文件中。
rand —— 随机矩阵
eye —— 单位矩阵
zeros ——全部元素都为0的矩阵
ones ——全部元素都为1的矩阵
还有伴随矩阵、稀疏矩阵、魔方 矩阵、对角矩阵、范德蒙等矩阵的创 建,就不一一介绍了。
注意:matlab严格区分大小写字母,因
此a与A是两个不同的变量。 matlab函数名必须小写。
(完整版)MATLAB基本语法

在MATLAB^,变量和常量的标识符最长允许19个字符,标识符中第一个字符必须是英文字母。
MATLAB^分大小写,默认状态下,A和a被认为是两个不同的字符。
(case sensitive )一、数组和矩阵(一)数组的赋值数组是指一组实数或复数排成的长方阵列。
它可以是一维的“行”或“列”,可以是二维的“矩形”,也可以是三维的甚至更高的维数。
在MATLAB中的变量和常量都代表数组,赋值语句的一般形式为变量=表达式(或数)如键入a=[1 2 3 ; 4 5 6 ;7 8 9] 则将显示结果:a=1 2 34 5 67 8 9数组放置在[]中;数组元素用空格或逗号“,”分隔;数组行用分号“;”或“回车” 隔离。
(二)复数MATLAB中的每一个元素都可以是复数,实数是复数的特例。
复数的虚部用i或j表示。
复数的赋值形式有两种:z=[1+1i ,2+2i ;3+3i ,4+4i]z=[1 ,2 ;3,4]+[1 ,2 ;3,4]*i得z=1.000+1.000i 2.000+2.000i3.000+3.000i4.000+4.000i以上两式结果相同。
注意,在第二式中“*”不能省略。
在复数运算中,有几个运算符是常用的。
运算符表示把矩阵作共轭转置,即把矩阵的行列互换,同时把各元素的虚部反号。
函数conj表示只把各元素的虚部反号,即只取共轭。
若想求转置而不要共轭,就把conj和“’”结合起来完成。
例如键入w=z ' ,u=conj(z) , v=conj(z) '可得w=1.000-1.000i 3.000-3.000i2.000-2.000i 4.000-4.000iu=1.000-1.000i 2.000-2.000i3.000-3.000i4.000-4.000iv=1.000+1.000i 3.000+3.000i2.000+2.000i 4.000+4.000i(三)数组寻访和赋值的格式表M-1常用子数组的寻访、赋值格式二、逻辑判断与流程控制 (一)关系运算关系运算是指两个元素之间数值的比较 ,一共有六种可能。
数值分析第二讲MATLAB简介

MATLAB编程入门 MATLAB的编程风格与C语言相同。 常用流程控制语句 if if语句条件 elseif if语句条件 end 终止作用域 for 指定次数的循环 while 不指定次数的循环 break 终止循环 switch 开关语句 case 列出语句 otherwise否则语句 return 返回调用函数 function 函数定义语句
MATLAB常用函数名 数学函数(中文意义略) abs,acos,acosh,angle,asin,asinh,atan,atan2,atanh, ceil,conj,cos,cosh,exp,fix,floor,gcd,imag,lcm,log, log10,real,rem,round,sign,sin,sinh,sqrt,tan,tanh, 构造矩阵函数 eye(n),ones(n),zeros(n):产生n阶单位、全1,全0矩阵 eye(m,n),ones(m.n),zeros(m.n):产生m×n的单位、全1,全 0矩阵 Sparse:构造稀疏矩阵 Size(M)取矩阵M的各维大小(结果为向量) size (M,n) 取矩阵M的第n维大小
例1:构造两个可加减乘的矩阵A,B,C,求A+B,A*C, sin(A)+cos(B),以及取A,B,C的子矩阵作同样的运算。 解:A=[ 1,2,3,4;5 6 7 8; 9 10 11 12]; B=ones(3,4) C= pascal(3) ⑴ D=A+B ⑵ E=sin(A)+cos(B) (3) F=A*C 错误操作:A*B,A+C
MATLAB的基本用法 一、数与变量 MATLAB的内部本质上只有两种类型的数据:实数和字符。 一个实数占8个字节(64比特),一个字符占用1字节(8比特)。 复数由两个实数构成,矩阵元素由字符、实数、复数构成。由矩 阵再构成“struct”(结构)数据类型,字符串是以字符为变量的 行向量。所以表现形式有:字符、字符串、整数、实数、复数、 结构。 characters: ‘char’ 表有符号字符 8bits, ‘uchar’ 无符号字符 8bits. integers :‘short’ 短整数16 bits, ‘long’ 长整数 32 bits, floating-point: ‘single-‘ 表单精度浮点数32bits, ’double‘表双精度浮 点数:64bits
第二讲 MATLAB基本运算

矩阵下标的用途
访问超出矩阵范围时,产生 Index exceeds matrix dimentions 存储超出矩阵范围时,矩阵自动调节 大小,将指定位置元素置入,其他没 指定数的位置默认为零。
2010-12-25
21
矩阵下标的用途
(2)矩阵连接 例:a=[1 2;3 4] b=[a a+5; a-5 zeros(size(a)] 将小矩阵嵌套入大矩阵,实现矩阵连接。
将矩阵按创建原则写入一个M文件, 在MATLAB的命令窗口或程序中直接执 行该M文件,即将矩阵调入工组空间。
2010-12-25
15
利用MATLAB函数创建矩阵 利用MATLAB函数创建矩阵 MATLAB
ones( m, n) - m行n列的1阵产生 zeros(m, n) -产生m行n列的全0阵 rand(m, n) -产生m行n列均匀分布全列的在 [0,1]区间的随机阵 randn(m, n) -产生m行n列的正态分布矩阵 eye(n) -产生n维单位阵
2010-12-25 18
2.2.3 矩阵的下标 .2.3
子矩阵提取A(v1, v2)
v1表示子矩阵包含的行标构成的向量 v2表示子矩阵包含的列标构成的向量 B1=A(:, [1, 3]) 为:时表示要提取所有行(列) B2=A(1:2:end, :) end表示最后一行(列) B3=A([3,2,1],[2,3,4]) 例: B4=A(:, end:-1:1) 提取A矩阵所有行、1,3列 提取A矩阵 3,2,1 行、2,3,4 列构成子矩阵 提取A矩阵全部奇数行,所有列 将A矩阵左右翻转
2010-12-25
13
直接输入法创建矩阵
例:创建矩阵
MATLAB第二讲__数值计算和符号计算

(4)数值运算中必须先对变量赋值;符号运算无须事先对变 量赋值,但必须先定义,运算结果以标准的符号表达 式形式给出。
Matlab基础应用 21
2.2.2 符号运算中的运算符
(1)基本运算符 符号矩阵:‚+”,‚-”,‚*‛,‚\”, ‚/”, ‚^”, ‚ ’ ” 符号数组:‚.*”,‚./”,‚.\‛,‚.^”, ‚.’ ” (2)关系运算符 运算符只有‚==”,‚~=”。
Matlab基础应用 7
1.3.4 多项式乘除运算(续)
例4: a(x)=x2+2x+3; b(x)=4x2+5x;求c=a(x)*b(x)。 解: >>a=[1 2 3];b=[4 5 0]; >>c=conv(a,b) c= 4 13 22 15 0 >>[d,r]=deconv(c,a) d= 4 5 0 r= 0 0 0 0 0
注意: 方法一只创建了符号表达式,没有创建符号变量; 而方法二既创建了符号表达式,又创建符号变量.
Matlab基础应用 19
2.1.3 创建符号矩阵
使用sym和syms命令创建
例4: A=sym(‘[a,b;c,d]’) A= [ a, b] [ c, d] syms f g h k B=[f,g;h,k] B=
%方法二
Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object f2 1x1 146 sym object x 1x1 126 sym object Grand total is 20 elements using 650 bytes
matlab-第2讲

函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs函数可以求实数的绝对值、复数的模、字符串的ASCII 码值. (3) 用于取整的函数有fix、floor、ceil、round,要注意它们的 区别。
• • • •
fix():向0方向靠拢取整 floor():向左取整,即向负无穷方向取整 ceil():返回大于等于指定表达式的最小整数,即向正无穷方向取整 round ():四舍五入 rem(x,y)=x-y.*fix(x./y) mod(x,y) )=x-y.*floor(x./y) rem(x,y)和mod(x,y)要求x,y必须为相同大 小的实矩阵或为标量。
A=
1 1 1 1 8 4 2 1 27 9 3 1 125 25 5 1
(3) 希尔伯特矩阵 在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。 使用一般方法求逆会因为原始数据的微小扰动而产生不可靠 的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆 的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
2.1.3 内存变量的管理
1.内存变量的删除与修改 工作空间窗口(Workspace)专门用于内存变量的管理。在 Workspace窗口中可以显示所有内存变量的属性。 当选中某些变量后,再单击Delete按钮,就能删除这些变 量。 当选中某些变量后,再单击Open按钮,将进入变量编辑器。 通过变量编辑器可以直接观察变量中的具体元素,也可修 改变量中的具体元素。
1 4 2 5 3 6
Ex:1. 写出完成下列操作的命令。
a. b.
c.
d. e.
将矩阵A 第2~5 行中的第1,3,5列元素赋给矩阵B。 删除矩阵A的第7号元素。 将矩阵A的每个元素值加30。 求矩阵A的大小和维数(提示:用size函数和ndims函数)。 将含有12个元素的向量x转换成3×4矩阵。
(完整版)matlab基本语句

(完整版)matlab基本语句第2章M ATLAB程序设计MATLAB语言为解释型程序设计语言。
在程序中可以出现顺序、选择、循环三种基本控制结构,也可以出现对M-文件的调用(相当于对外部过程的调用)。
由于 MATLAB开始是用FORTRAN语言编写、后来用 C语言重写的,故其既有FORTRAN的特征,又在许多语言规则方面与C语言相同。
2.1 顺序结构语句在顺序结构语句中,包括表达式语句、赋值语句、输入输出语句、空语句等。
2.1.1 表达式语句格式:表达式,%显示表达式值表达式;%不显示表达式值表达式%显示表达式值如:x + y,sin(x);–5最后的表达式值暂保存在变量ans中。
2.1.2 赋值语句格式:v =表达式,%结果送v并显示v v =表达式;%结果送v不显示v v =表达式%结果送v并显示v 2.1.3 空语句格式:,;2.1.4 输入语句1、input语句(实际上是函数)格式1:input(提示字符串)功能:显示提示字符串,可输入数字、字符串(两端用单引号括起)、或表达式格式2:input(提示字符串,'s')功能:显示提示字符串,并把输入视为字符串2、yesinput语句格式:yesinput(提示字符串,缺省值,值范围)功能:显示提示字符串和缺省值,若只打入回车则以缺省值作为输入值,若输入的值不在指定范围内则认为输入无效,B并等待用户重新输入。
如:t=yesinput('指定线的颜色',…'red','red|blue|green')运行结果如下:指定线的颜色(red):yellow %不在值内指定线的颜色(red):blue %重输t =bluex=yesinput('输入元素个数',10,[1,20])运行结果如下:输入元素个数(10):x =103、Keyboard语句格式:Keyboard功能:暂停M-文件的执行,并等待用户从键盘输入命令以查看或改变变量的值,直到输入return命令而返回相应的M-文件继续执行。
matlab语法

matlab语法MATLAB是一种强大而又灵活的计算机语言,最初由美国的研究机构开发而成,并已得到广泛应用。
在科学、工程、金融和医学等领域应用广泛。
MATLAB语法相对来说比较容易学习,本文将分步骤介绍MATLAB语法的相关内容。
1. 基础数学运算MATLAB最基础的数学运算包括加法、减法、乘法、除法和求幂,可以使用如下的操作符实现:加法: +减法: -乘法: *除法: /求幂: ^例如,要计算3的4次幂,可以输入3^4,计算结果会显示在MATLAB命令窗口中。
2. 变量和数据类型在MATLAB中,可以使用变量来存储数值和其他数据类型。
变量名可以是字母、数字或下划线,以字母开头。
MATLAB支持的数据类型包括数值、字符和逻辑值。
数值类型包括整数和浮点数,例如:整数:5浮点数:3.14字符类型用单引号括起来表示,例如:字符:'Hello World!'逻辑类型包括true和false。
3. 条件语句在MATLAB中,可以使用条件语句来根据条件执行不同的代码块。
常见的条件语句包括if语句和switch语句。
if语句根据一个条件判断执行哪些代码块,例如:if x > 0disp('x is positive')elseif x == 0disp('x is zero')elsedisp('x is negative')endswitch语句根据一个变量的值执行不同的代码块,例如:switch xcase 1disp('x is equal to 1')case 2disp('x is equal to 2')otherwisedisp('x is not equal to 1 or 2')end4. 循环语句在MATLAB中,可以使用循环语句来重复执行一组代码。
常见的循环语句包括for循环和while循环。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
>> s=a([1 2],[2 3]) 取出特定的行、列 s= 2 5
>> a([2,4,5],:)= [ ] 空矩阵的运用
a=
1 7 2 8 3 9 0 0
4.特殊矩阵与数组
单位矩阵
>> A=eye(3) A= 1 0 0 0 1 0 0 0 1 >> a =[1 2 3 0; 7 8 9 0]; 产生3×3×2的“1”矩阵 >> A=ones(3,3) A= 1 1 1 1 1 1 1 1 1
>> A=[3 1;2 4],B=[4 5],C=[3;4] A= 3 1 2 4 B= 4 5 C= 3 4 >> B/A ans = 0.6000
>> inv(A) ans =
0.4000 -0.1000 -0.2000 0.3000 >> B*inv(A) ans = 0.6000 1.1000 >> A\C ans = 0.8000 0.6000
7.冒号“:”运算符
格 式 j:k j:k j:i:k j:i:k 功 能 等同于[j,j+1,„,k] 当 j>k 时为空 等同于[j,j+i,j+2i,„,k] 当 i>0 且 j>k,或者 i<0 且 j<k 时为空
>> k=1:10 k= 1 2 3 4 5 6 7 8 9 10 >> x=1:0.2:2 x= 1.0000 1.2000 1.4000 1.6000 1.8000 >> x=3:-0.5:2 x= 3.0000 2.5000 2.0000
|(or)
~(not) xor
或:至少有一个为真,结果为真;
非:操作数为真,结果为假;操作数为假,结果 为真; 异或:操作相同时,为真。
2.2.3 逻辑运算符运用示例
>> A=1:9 A= 1 2
对A赋值 3 4 5 6 7 8 9 找出A>4的位置 0 1 1 1 1 1 对(A>4)结果取非
>> tf=A>4 tf = 0 0 0 >> tf=~(A>4) tf = 1 1 1
线性间隔划分
5.MATLAB内部变量和常数
变量名
ans i,j pi eps realmax realmin Inf,inf NaN,nan
说明
MATLAB系统默认的赋值变量 虚数单位 圆周率的近似值 浮点相对精度 最大的正浮点数 最小的正浮点数 无穷大(如1/0的结果) 非数值,不定值(如0/0, inf/inf等)
5. A^p与 A.^B
功能:矩阵幂与矩阵元素幂。
>> B=[1 2;3 4] B= 1 2 3 4 >> B^2 ans = 7 10 15 22 >> A=[1,2,3;4,5,6],B=[6 2 3;2 2 1] A= 1 2 3 4 5 6 B= 6 2 2 2 >> A.^B ans = 1 16 3 1
1
0
0
0
0
0
找出A>2且A<6的位置
>> tf=(A>2)&(A<6) tf = 0 0 1 1 1
0
0
0
0
2.2.5 数学表达式的MATLAB描述
数据格式:双精度格式(对应64位二进制数)
2.1.2 矩阵及其元素的赋值
赋值语句的一般形式: 变量=表达式(或数)
>> s=[1 2 3]
1.赋值要求:
输入一个行矢量
s= 1 2 3
矩阵元素列入方 括号中; 同一行中各元素 之间以“,”或空格 分开; 行与行之间以“;” 隔开。
3×3矩阵输入
2. A*B与A.*B
功能:矩阵相乘; 矩阵对应元素相乘
>> A=[1 2 3;4 5 6 ]; >> B=[1+1i,2+2i,3+3i;4+4i,5+5i,6+6i]; >> A.*B ans =
1.0000 + 1.0000i 4.0000 + 4.0000i 9.0000 + 9.0000i 16.0000 +16.0000i 25.0000 +25.0000i 36.0000 +36.0000i
6.复数的赋值方式
注意:
>> z=[1 3;5 7]+[2 4;6 8]i ??? z=[1,3;5,7]+[2,4;6,8]i Error: Missing operator, comma, or semicolon.
>> i=2; >> z=[1 3;5 7]+[2 4;6 8] *i z= 5 11 17 23
6.复数的赋值方式
复数赋值: >> c=3+2.5i c= 3.0000 + 2.5000i
复数矩阵赋值:
>> z=[1+2i,3+4i; 5+6i,7+8i]
>> z=[1 3; 5 7]+ [2 4; 6 8]*i
z= 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i
4 27 25 6
条件:A,B必须行、列数相同, 或其一为标量。
6. A'与A.'
功能:共轭转置与非共轭转置。
>> B=[1+1i,2+2i,3+3i ; 4+4i,5+5i,6+6i]; >> B' ans = 1.0000 - 1.0000i 4.0000 - 4.0000i 2.0000 - 2.0000i 5.0000 - 5.0000i 3.0000 - 3.0000i 6.0000 - 6.0000i >> B.' ans = 1.0000 + 1.0000i 4.0000 + 4.0000i 2.0000 + 2.0000i 5.0000 + 5.0000i 3.0000 + 3.0000i 6.0000 + 6.0000i
2.0000
2.2.2 关系运算符
关系操作符
<
小于
>
大于
<=
>=
==
等于
~=
不等于
功能说明
小于或等于 大于或等于
作用:比较两个同样大小的数组,或比较一个数组和一个标 量的大小。 结果:“1”——“真”——成立 “0”——“假”——不成立
>> A=1:9,B=10-A A= 1 2 3 4 B= 9 8 7 6 >> tf=A>4 tf = 0 0 0
2.2 运算符与数学表达
MATLAB中包含有:
算术运算符 关系运算符 逻辑运算符 优先顺序: 算术运算符、关系运算符、逻辑运算符
2.2.1 算数运算符
+
* / \ ^ ‘
加法
减法 乘法 除法 左除法 指数 复共轭转置
%
.* ./ .\ .^ .' :
注释符号
元素对元素乘法 元素对元素除法 元素对元素左除法 元素对元素指数 非共轭阵列转置 冒号操作符
第2讲
MATLAB的基本语法
2.1 变量及其赋值
2.2 运算符与数学表达2.1.Fra bibliotek 标识符与数据格式
标识符:标志变量名,常量名,函数名,文件 名的字符串总称。
ans、eps、pi、Inf、NaN等为常量名。 变量名的命名:字符可为英文字母、数字、下划线 等,但是首字符必须是英文字母。 标准函数名以及命令名用小写字母。
功能:矩阵和阵列的算术运算 格式:
A+B A-B A*B A/B A./B A\B A^P A.^B A'
A.*B A.\B A.'
1. A+B 与 A-B
功能:两矩阵对应元素相加减 条件:阶数必须相同
>> A=[1 2 3;4 5 6]; >> B=[1+1i,2+2i,3+3i;4+4i,5+5i,6+6i]; >> C=A+B C= 2.0000 + 1.0000i 4.0000 + 2.0000i 6.0000 + 3.0000i 8.0000 + 4.0000i 10.0000 + 5.0000i 12.0000 + 6.0000i >> D=A-2 D= -1 2 0 3 1 4
4.特殊矩阵与数组
>> x=rand(1,5) x= 0.4660 0.4186 (0,1)均匀分布随机矩阵 0.8462 0.5252 0.2026
>> y=randn(5,1) y= -0.1199 -0.0653 0.4853 -0.5955 -0.1497
正态分布随机矩阵
>> y=linspace(1,10,4) y= 1 4 7 10
>> whos a Name Size
Bytes
Class
a 2x5 80 double array Grand total is 10 elements using 80 bytes