matlab-第二章

合集下载

第二章 MATLAB基础

第二章 MATLAB基础
27
3 )向量是一个数学量,一般高级语言中也未引入, 它可视为矩阵的特例。从MATLAB的工作区可以查 看到:一个 n 维的行向量是一个 1 × n 阶的矩阵,而 一个n维的列向量则当成n×1阶的矩阵。 如A=[1 2 3 4]就是一个4维的行向量。也可看成是 一个一维数组,还要看成是一个1×4阶的矩阵。
3
数据类型转换函 数 uint8 uint16 uint32 uint64 int8 int16 int32 int64
说 明 无符号8位整数 无符号16位整数 无符号32位整数 无符号64位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数
字节数 1 2 4 8 1 2 4 8
22
【例 2.8】变量赋值 >> a=3.14 a= 3.1400 >> class(a) %函数class用来是判断变量数据类 型的 ans = double %变量a是双精度的浮点型数据
23
>> a='hello!' hello! >> class(a) ans = char
%变量a重新赋值
13
>> whos Name Size a 1x1 x 1x1 y 1x1 z 1x1
Bytes Class Attributes 16 double complex 4 int32 4 int32 8 int32 complex
14
2.2MATLAB的常量及变量
2.2.1常量 常量是程序语句中取不变值的那些量。如表达式 y=0.314*x,其中就包含一个0.314这样的数值常数,它 便是一个数值常量。而在另一表达式s='Hello'中,单引 号内的英文字符串“Hello”则是一个字符串常量。

MATLAB 第2章 离散时间信号与系统

MATLAB 第2章 离散时间信号与系统

(2)移位:将 h(-m)移位 n,即得h(n-m).当 n为正整数时, 右移n位,当n为负整数时,左移n位.
(3) 相乘:再将h(n-m)和x(m)的相同m值的对应点值相乘. (4)相加:把以上所有对应点的乘积叠加起来,即得y(n)值. 依上法,取n=…, -2, -1, 0, 1, 2, …各值,即可得全部y(n)值.
y( 1 ) 0
1 1 y(1 ) 1 2 2
数字信号处理
图1-8 x(n)和h(n)的卷积和图解
第2章离散时间信号与系统
利用图1-8,求任意一个y(n)时,只需将两序 列对应位置上的点相乘再求和即可。
数字信号处理
第2章离散时间信号与系统
二. 常用的典型序列
1.单位采样序列(单位冲激序列,单位脉冲序列) ( n )
x(2n)
3
2 x(2 n)
2
4 2
1 1
0
1
n
0
1
2
3
n
数字信号处理
第2章离散时间信号与系统
2.2 离散时间系统
定义:一个离散时间系统是将输入序列变换成输出
序列的一种运算。
若以T[· ]来表示这种运算,则一个离散时间系统 可表示为:
y ( n ) T [ x ( n )]
离散时间系统中最重要、 最常用的是“线性移
例如 s i n n 4
N 8
/ 0 PQ / (2)当 2 / 0 不是整数,是一个有理数时,设 2
P和Q是互为素数的整数,取k=Q,则N=P; 例如 s i n 数字信号处理
4 5
时, 2 / 0
2 5 4 / 5 2
N 5
第2章离散时间信号与系统

第2章 MATLAB的基础知识

第2章 MATLAB的基础知识

a=[1 2 1;2 2 1;2 1 2]; b=[1;2;3]; a/b %矩阵右除
运行程序,得到结果:
??? Error using ==> mrdivide Matrix dimensions must agree.
重新输入语句
a\b
%矩阵左除 ans = 1.0000 -0.3333 0.6667
运行程序,得到结果:
c= 0 0 1 1 1 0
说明 对于复数运算,“= =”与“~ =”运算,既比较实部, 又比较虚部。而其他运算仅比较实部。关系运算同样也可用于 常量与矩阵的比较,在这种情况下,该常量与矩阵的每一个元 素进行比较,其结果是一个与矩阵同维数的0、1矩阵。
逻辑操作符
逻辑操作符 说 明 相对应函数
-0.1667 0 0
(3)矩阵特征值运算
矩阵条件数cond( ) 矩阵的秩rank() 矩阵特征值eig ( )
矩阵范数norm( ) 矩阵的迹trace ( ) 矩阵奇异值svd ( )
例2-7 分别计算矩阵a的有关特征参数。输入以下 MATLAB语句
a=[1 2 3;4 5 6;7 8 0] [cond(a),norm(a),rank(a)]
2.MATLAB工作环境
图形窗口“Figure”
M文件窗口
3.MATLAB的M文件
所谓M文件,就是用户把要实现的命令写在一个 以.m为扩展名的文件中
M文件有两种格式(统称为M文件) 函数式M文件 程序式M文件 程序式M文件用于把很多需要在命令窗口输入的命 令放在一起,就是命令的简单叠加 函数式M文件用于把重复的程序段封装成函数供用 户调用。
&
|
逻辑与
逻辑或
and(a,b)

matlab第二章习题答案

matlab第二章习题答案

第一大题:(1)a = 7/3b = sym(7/3)c = sym(7/3,'d')d = sym('7/3')v1=vpa(abs(a-d))v2=vpa(abs(b-d))v3=vpa(abs(c-d))a =2.3333b =7/3c =2.3333333333333334813630699500209d =7/3v1 =0.0v2 =0.0v3 =0.00000000000000014802973661668756666666667788716(2)a = pi/3b = sym(pi/3)c = sym(pi/3,'d')d = sym('pi/3')v1=vpa(abs(a-d))v2=vpa(abs(b-d))v3=vpa(abs(c-d))a =1.0472b =pi/3c =1.047197551196597631317786181171d =pi/3v1 =0.0v2 =0.0v3 =0.00000000000000011483642827992216762806615818554(3)a = pi*3^(1/3)b = sym(pi*3^(1/3))c = sym(pi*3^(1/3),'d')d = sym('pi*3^(1/3)')v1=vpa(abs(a-d))v2=vpa(abs(b-d))v3=vpa(abs(c-d))a =4.5310b =1275352044764433/281474976710656c =4.5309606547207899041040946030989d =pi*3^(1/3)v1 =0.00000000000000026601114166290944374842393221638 v2 =0.00000000000000026601114166290944374842393221638 v3 =0.0000000000000002660111416629094726767991785515第二大题:(1)c1=3/7+0.1c1 =0.5286双精度(2)c2=sym(3/7+0.1)c2 =37/70符号(3)c3=vpa(sym(3/7+0.1))c3 =0.52857142857142857142857142857143完整显示精度第三大题:(1)findsym(sym('sin(w*t)'),1)ans =w(2)findsym(sym('a*exp(-X)' ) ,1)ans =a(3)findsym(sym('z*exp(j*theta)'),1)ans =z第四大题:A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]')A =[ a11, a12, a13][ a21, a22, a23][ a31, a32, a33]DA=det(A)DA =a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31w=inv(A)w =[ (a22*a33 - a23*a32)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 +a12*a23*a31 + a13*a21*a32 - a13*a22*a31), -(a12*a33 -a13*a32)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 +a13*a21*a32 - a13*a22*a31), (a12*a23 - a13*a22)/(a11*a22*a33 -a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)] [ -(a21*a33 - a23*a31)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 +a12*a23*a31 + a13*a21*a32 - a13*a22*a31), (a11*a33 -a13*a31)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 +a13*a21*a32 - a13*a22*a31), -(a11*a23 - a13*a21)/(a11*a22*a33 -a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)] [ (a21*a32 - a22*a31)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 +a12*a23*a31 + a13*a21*a32 - a13*a22*a31), -(a11*a32 -a12*a31)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 +a13*a21*a32 - a13*a22*a31), (a11*a22 - a12*a21)/(a11*a22*a33 -a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)] IAs=subexpr(w,'d')d =1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)IAs =[ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 -a13*a22)][ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 -a13*a21)][ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 -a12*a21)]第六大题:syms ksyms x positives_s=2/(2*k+1)*((x-1)/(x+1))^(2*k+1)s_ss=simple(symsum(s_s,k,0,inf))s_s =(2*((x - 1)/(x + 1))^(2*k + 1))/(2*k + 1)警告: simple will be removed in a future release. Use simplify instead. [> In sym.simple at 41]s_ss =log(x)第八大题:syms x clearsyms xh=exp(-abs(x))*abs(sin(x))si=vpa(int(h,-5*pi,1.7*pi),64)h =abs(sin(x))*exp(-abs(x))si =1.087849417255503701102633764498941389696991336803454392428439159 第九大题:syms x y clearsyms x yr=int(int(x^2+y^2,y,1,x^2),x,1,2)r =1006/105第十大题:syms t x;f=sin(t)/t;y=int(f,t,0,x)y1=subs(y,x,sym('4.5'))ezplot(y,[0,2*pi])y =sinint(x)y1 =syms x clearsyms x ny=sin(x)^nyn=int(y,0,1/2*pi)y31=vpa(subs(yn,n,sym('1/3')))y32=vpa(subs(yn,n,1/3))y =sin(x)^nyn =piecewise([-1 < real(n), beta(1/2, n/2 + 1/2)/2], [real(n) <= -1, int(x^n/(1 - x^2)^(1/2), x, 0, 1)])y31 =1.2935547796148952674767575125656y32 =1.2935547796148952674767575125656第二十题:clearsyms y xy=dsolve('(Dy*y)/5+x/4=0','x')y =2^(1/2)*(C6 - (5*x^2)/8)^(1/2)-2^(1/2)*(C6 - (5*x^2)/8)^(1/2)y1=subs(y,'C6',1)y1 =2^(1/2)*(1 - (5*x^2)/8)^(1/2)-2^(1/2)*(1 - (5*x^2)/8)^(1/2)clfhy1=ezplot(y1(1),[-2,2,-2,2],1)set(hy1,'Color','r')grid onhold onhy2=ezplot(y1(2),[-2,2,-2,2],1)set(hy2,'Color','b')grid onxlabel('Y')ylabel('X')hold offbox onlegend('y(1)','y(2)','Location','Best')hy1 =174.0155hy2 =177.0145。

Matlab第2章

Matlab第2章
2 2 2 2
程序控制结构
3.break语句和continue语句 break语句用于终止循环的执行。当在循环体内执行到该语 句时,程序将跳出循环,继续执行循环语句的下一语句。 continue语句控制跳过循环体中的某些语句。当在循环体内 执行到该语句时,程序将跳过循环体中所有剩下的语句,继 续下一次循环。 【例2.11】输入两个整数,求它们的最小公倍数。 程序如下: x=input('请输入第一个数:'); y=input('请输入第二个数:'); z=max(x,y); while or(rem(z,x)~=0,rem(z,y)~=0) z=z+1; end disp([num2str(x),'和',num2str(y),'的最小公倍数是: ',num2str(z)])
3.try语句 try语句是一种试探性执行语句,为开发人员提供了一种捕获错误的机制,其语 句格式为 try 语句块1 catch 语句块2 end try语句先试探性执行语句块1,如果语句块1在执行过程中出现错误,则将错误 信息赋给保留的lasterr变量,并转去执行语句块2。 【例2.6】矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘 积,若出错,则自动转去求两矩阵的点乘。 A=input('请输入A矩阵:'); B=input('请输入B矩阵:'); lasterr(''); %清除原有的错误信息 try C=A*B; catch C=A.*B; end C disp(lasterr) %显示出错原因
2.2 程序控制结构
3.程序的暂停 当程序运行时,为了查看程序的中间结果或者观看输出的图 形,有时需要暂停程序的执行。这时可以使用pause函数, 其调用格式为 pause(延迟秒数) 如果省略延迟时间,则将暂停程序,直到用户按任一键后程 序继续执行。 若要强行中止程序的运行可使用Ctrl+C组合键。

MATLAB第二章

MATLAB第二章

2 特殊数据判断函数
常用的特殊数据判断函数:
• isinf(A) 返回一个与A同型的数组,该数组元素的 值根据A的相应位置元素的值为无穷大inf时设置为1, 否则为0。 • isnan(A) 返回一个与A同型的数组,该数组元素的 值根据A的相应位置元素的值为NaN 时设置为1,否 则为0。 • isfinite(A) 返回一个与A同型的数组,该数组元素 的值根据A的相应位置元素的值为有限值时设置为1, 否则为0。
关系运算规则
关系运算符的运算法则为: • 1 当两个比较量是标量时,直接比较两数的大 小。若关系成立,关系表达式结果为1,否则 为0。 • 2 当参与比较的量是两个同型的矩阵时,比较 是对两矩阵相同位置的元素按标量关系运算规 则逐个进行,并给出元素比较结果。最终的关 系运算的结果是一个与原矩阵同型的矩阵,它 的元素由0或1组成。
当a=[pi NaN Inf -Inf]时,分析下列 语句的执行结果
• isinf (a) • isnan (a) • isfinite (a)
例 当A=[-6,NaN,Inf,5;-Inf,-pi, eps,0] 时,分析下列语句的执行结果。 • • • • • • • all(A) all(all(A)) any(A) any(any(A)) isnan(A) isinf(A) isfinite(A)

建立任意的3×3的矩阵,并求 出能被3整除的元素。
9 -1;-3 -9 0];
A=[1 0 3 ;2
%生成3×3的矩阵A P=rem(A,3)==0
%判断A的元素是否可以被3整除 A(P) %求出被3整除的元素 如果求上述矩阵中能被5整除的元素呢? P=rem(A,5)==0
例 求三阶魔方矩阵中绝对值大于7的元素。 a=magic(3);

MATLAB基础教程第2章

MATLAB基础教程第2章

第二章 数组、矩阵及其运算
2.1 数组的创建和寻访
例2-2 一维数组的生成与访问
命令:X=rand(1,5) 命令:X(3) 命令:X([1 2 5]) 命令:X(1:3) 命令:X(3:end) 命令:X(3:-1:1) 命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.2 矩阵的运算
例2-6 矩阵的乘法(接着上面的例子) A*B 3*A
注意:矩阵相乘时要求A的列数等于B的行数
第二章 数组、矩阵及其运算
2.2 矩阵的运算
A/B(矩阵右除)表示的是方程X*B=A的解 A\B(矩阵左除)表示的是方程A*X=B的解
例2-7 矩阵的除法( 见教材P.23)
第二章 数组、矩阵及其运算
2.3 数组的运算
1、数组的基本运算
例2-8 ( 见教材P.25)
第二章 数组、矩阵及其运算
2.3 数组的运算
数组运算和矩阵运算指令对照表
数组运算 指令 A.’ A=s A+s,A-s s.*A s./A,A.\s A.^n A+B,A-B A.*B A./B B.\A 含义 非共轭转置,相当于conj(A’) 把标量s赋给A中每个元素 标量s分别于A的元素之和(差) 标量s分别于A的元素之积 S分别被A的元素除 A的每个元素自乘n次 对应元素相加(减) 对应元素相加(乘) A的元素被B的对应元素相除 (与上相同) A^n A+B,A-B A*B A /B B\A 方阵A自乘n次 矩阵和(差) 同内维矩阵相乘 A右除B A左除B S*A 标量s分别于A的元素之积 A’ 指令 共轭转置 矩阵运算 含义
第二章 数组、矩阵及其运算

第2章 MATLAB数据及其运算.

第2章 MATLAB数据及其运算.

8 1 d 3 5
(2)利用空矩阵删除矩阵的元素 a=[ ] a的维数为0。 例:a( 2 , : )= [ ]; 8 1 6 得: 3 5 7 a a= 4 9 2 8 1 6 4 9 2
2.3.5

复数(Com part)和虚部(imaginary part)组 成。 虚数单位用i或j来表示。 6+5i = 6+5j
format bank format rat
2.3 MATLAB矩阵的表示
2.3.1 矩阵 MATLAB中最基本的数据结构是矩阵(matrix)。 1*1的矩阵----标量(scalar): [5] 只有一行或一列的矩阵-----向量(vector): [1 3 5 7]
2 4 6 8
2.4 Matlab数据的运算(Operators ) 运算符(Operators )
+ Addition
*
Subtraction
Multiplication
/
\
Division
Left division
^
Power
2.4.1 算术运算 (1)矩阵加减运算: 两个同维矩阵,才能进行加减运算,对应无素相加减。 一个标量与矩阵相加减时,结果为这个标量与矩阵的 每一个元素相加减。 x=[2,-1,0;3 2 -4]; y=ones(2,3); x-y=? [1,-2,-1;2,1,-5] x+1=? [3,0,1;4,3,-3]
在线性代数中,本没有矩阵除法,它是由逆 矩阵引申来的。 MATLAB中,矩阵求逆(Matrix inverse)的函 数为: Y = inv(X) 方程A*X=B的解为:X=inv(A)*B=A\B, A\B称为A左除B,左除时要求两矩阵行数相等。 方程X*A=B的解为:X=B*inv(A)=B/A, A/B称为A右除B,右除时要求两矩阵列数相等。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,在一个MA TLAB命令中,6+7i和6+7*i有何区别?i和I有何区别?
第一个i代表一个变量,6+7i是一个函数,第二个代表虚数,6是实部,7代表虚步.I只代表变量.
2,.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B和B/A的区别?如果A和B是两个标量数据,结论又如何?
A *B是矩阵相乘,A.*B表示A和B单个元素之间对应相乘。

A./B和
B.\A值相等,是一样的。

A/B等效于B的逆右乘A的矩阵,B\A等效于B矩阵逆左乘A矩阵。

如果A和B是两个标量数据,结论是都没有区别。

3,写出完成下列操作的命令。

(1)删除矩阵A的第7号元素
A(7)=[]
(2)将向量t的0元素用机器零来代替
t(find(t==0))=eps
(3)将含有12个元素的向量x转换成3*4矩阵
newA=reshape(A,3,4)
(4) 求一个字符串的ASCII
ch=['a b c';'1 2 3'];
abs ch
(5) 产生和A同样大小的幺矩阵
ones(size(A))
(6) 从矩阵A提取主对角线元素,并以这些元素构成对角阵B。

A=[1 2 3;4 5 6;7 8 9];
D=diag(A)
B=diag([1,5,9])
4, .要生产均值为3,方差为1的500个正态分布的随机序列,写出相应的表达式y=3+sqrt(1)*randn(500)
5,(1)主对角元素1 1 5 9
上三角矩阵1 -1 2 3
0 1 -4 2
0 0 5 2
0 0 0 9
下三角矩阵1 0 0 0
5 1 0 0
3 0 5 0
11 15 0 9
逆矩阵-0.1758 0.1641 0.2016 -0.0227
-0.1055 -0.1016 -0.0391 0.0664
-0.0508 -0.0859 0.1516 0.0023
0.3906 -0.0313 -0.1813 0.0281
行列式的值1280
秩4
范数A1=norm(A,1)=20 A2=norm(A)= 21.3005 A3=norm(A,inf)=35
条件数A1=cond(A,1)= 14.4531 A2=cond(A,2)= 11.1739 A3=cond(A,inf)= 22.0938
迹16
(2)主对角元素0.43 4
上三角矩阵0.4300 43.0000 2.0000
0 4.0000 21.0000
下三角矩阵0.4300 0 0
-8.9000 4.0000 0
逆矩阵0.0022 -0.0175
0.0234 -0.0017
-0.0035 0.0405
行列式的值
秩2
范数B1=norm(B,1)= 47 B2=norm(B)= 43.4271 B3=norm(B,inf)= 45.4300 条件数B2=cond(B,2)= 1.9354
迹4.4300
6,all(A)=0
any(A)=1
isnan(A)= 0 1 0 0 0 0 0
isinf(A)= 0 0 1 1 0 0 0
isfinite(A)= 1 0 0 0 1 1 1。

相关文档
最新文档