matlab第二章
第二章: MATLAB仿真

• 在通信与电子工程领域,Simulink 提供的常用专业模块库有:
(1)CDMA参考库 (2)通信系统模块库 (3)DSP模块库等
SIMULINK仿真步骤:
• 启动MATLAB,进入simulink模块库窗口 • 在simulink窗口单击菜单项file\new\model,
新建一个simulink模型文件 • 在simulink库中选取所需模块,拖到新建
第三部分 SIMULINK仿真
什么是SIMULINK?
• SIMULINK是 MATLAB 中的一个建立 系统方框图和基于方框图级的系统仿真 环境,是一个对动态系统进行建模、仿 真并对仿真结果进行分析的软件包。
SIMULINK的特点
• 可视化建模 • 仿真结果可近乎“实时”地通过可视化
模块,如示波器模块、频谱仪模块及数 据输入、输出模块等显示出来。 • 附带大量的专业仿真模块库
五、提高程序执行速度的原则
(1)尽量避免采用循环语句,可用向量化语 句替代
(2)对大型数组或矩阵先进行初始化,即用 “zeros”或”ones”对矩阵定维,可减少内存 分配耗时 (3)尽量使用MATLAB内在函数 (4)更先进有效的算法
第二部分 MATLAB编程仿真
一、时间连续信号与系统的计算机仿真
function in=f(t)
%输入信号
in=(t>0)*1;
%输入信号为阶跃信号
微分方程组求解:
%filename ex123.m
L=1;
%电感值
C=0.1;
%电容值
for R=[1.5 3 5] %仿真电阻值分别为1.5,3,5
[t,x]=ode45(‘funcforex123’,[-1,10],[0;1],[],R,L,C);
第二章 MATLAB基础

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章

2. MATLAB变量的显示
任何MATLAB语句的执行结果都可以在屏幕上显示,同时赋值
给指定的变量。没有指定变量பைடு நூலகம்,赋值给默认变量名ans,数据
的显示格式由format命令控制。
Format只影响结果的显示,不影响计算与存储。
MATLAB以双字长浮点数(双精度)执行所有的运算。
22
2.4.1.2 字符串
a在前面未赋值时,非法命令。
19
1. 变量命名规则 (1)变量名区分字母的大小写,A与a表示不同的变量。 (2)变量名必须以英文字母开头,之后可以使用字母、数字、下画线, 但不能使用空格和标点符号。 (3)变量名长度不能超过31个字符,超过部分将被忽略
(4)某些常量也可以作为变量使用。
如 i 在MATLAB中表示虚数单位,但也可以作为变量使用。
5
3.Debug主菜单项 (1)Open M-Files when Debugging:调试时打开M文件 (2)Step:单步调试程序
(3)Step In:单步调试进入子程序
(4)Step Out:单步调试从子程序跳出 (5)Continue:程序执行到下一断点 (6)Clear Breakpoints in All Files:清除所有打开文件中的断点 (7)Stop if Errors/Warnings:在程序出错或报警处停止往下执行
8
5.Window主菜单项 (1)Close All documents:关闭所有文档 (2)0 Command Window:选定命令窗口为当前活动窗口 (3)1 Command History:选定历史命令窗口为当前活动窗口 (4)2 Current Directory:选定当前路径窗口为当前活动窗口
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章离散时间信号与系统
第二章MATLAB数据及其运算

显然,linspace(a,b,n) =a:(b-a)/(n-1):b
17
矩阵元素的引用
方法一:通过下标(subscript)引用矩阵的元素
– 例如 A(3,2)=200
方法二:采用矩阵元素的序号(index)来引用矩阵元素。
例:利用M文件建立MYMAT矩阵
– (1) 启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵: MYMAT=[101,102,103,104,105,106,107,108,109; 201,202,203,204,205,206,207,208,209; 301,302,303,304,305,306,307,308,309];
主要内容 MATLAB 数据的特点 变量及其操作 MATLAB矩阵的表示 MATLAB数据的运算 字符串 结构数据和单元数据
1
MATLAB数据的特点
矩阵是MATLAB最基本、最重要的数据对象 – MATLAB的大部分运算或命令都是在矩阵运算的意义 下执行的
问题: – 单个数据如何用矩阵表示?x=5 – 1*1矩阵 – 向量如何用矩阵表示?a=[1,2,3] – 行向量:1*n矩阵;列向量:n * 1矩阵
A(1,2) = [ ] 出错!
A(1,2) = 0
可以
21
主要内容 MATLAB 数据的特点 变量及其操作 MATLAB矩阵的表示 MATLAB数据的运算 字符串 结构数据和单元数据
22
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第二章习题答案

第一大题:(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章

程序控制结构
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组合键。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
能否用linspace产生 a=[1:2:10]的结果
(4)函数法
调用特殊函数产生矩阵。注意事项: 生成矩阵的维数, 所调用函数的输入参数。
函数法(特殊矩阵)(ones,zeros, rand, randn等) A = ones(n);或A = ones(m,n) A = ones(5)与A=ones(5,5)等价;
(1)直接输入法_命令行输入
》a=1; b=2; c=3; 》x=[5 b c; a*b a+c c/b] x=
5.000 2.000 3.000 2.000 4.000 1.500
》y=[2,4, 5 3 6 8] y=
245 368
矩阵生成不但可以使用纯数字(含复数),也可以 使用变量(或者说采用一个表达式)。矩阵的元素 直接排列在方括号内,行与行之间用分号隔开,每 行内的元素使用空格或逗号隔开。大的矩阵可以用示
a) 矩阵元素的访问 A=[1 2;3 4]; A(1,1) ans = 1 A(1,3)
2.3 MATLAB矩阵的表示
b) 矩阵的扩充 1),自动扩充矩阵元素 A=[1 2;3 4]; A(3,3)=10;
A= 1 2 0 340 0 0 10
2) []的使用 C = [A;1 3];
2.5 字符串
扩充与删除 A =[‘a’ ‘b’; ‘c’ ‘d’]; A(1,3) = ‘f’; A(:,1) = [];
2.5 字符串
• 矩阵乘法 A =[‘a’ ‘b’; ‘c’ ‘d’]; B = A.*A; C = A*A;
建立一个字符串向量,然后做如下处理: 1)将字符串到过来重新排列 2)将字符串按字母顺序排列(不分大小写) 3)将字符串中的所有大写字母转成小写
b、乘方与开方,矩阵必须为方阵
c、点运算 d、常用数学函数
第四节 数据运算
2、关系运算
判断语句 提供6种关系运算符,<,<=,>,>=,= =,~=
3、逻辑运算
与,或,非 y1 = (y>=0).*y;
例2.4 在[0,3π]区间,求y=sinx的值,要求: 1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为
第二节 变量及其操作 2.2.2、变量的管理
(1)变量的显示与删除 who,whos,clear,
(2)变量的存储和载入 save,load
内存变量的显示与删除
第一种调用方式: who:显示当前工作空间中所有变量的一个简
单列表 whos:则列出变量的大小、数据格式等详细信
息 clear :清除工作空间中所有的变量 第二种调用方式 whos 变量名:则列出指定变量的详细信息 clear 变量名:清除指定的变量 第三种调用方式, whos 变量名*:则列出一类变量的详细信息
第二种,没有将表达式的值赋给一个指定的变 量,因此系统默认将该值赋给ans。
分号’;’ 的作用。 注释的表示方法。%
第二节 变量及其操作
2.2.1 变量与赋值
(3)预定义变量。 如ans 计算结果的默认值
eps 机器零阈值 i, j 虚数单位 pi 圆周率的近似值 inf, Inf,NaN, nargin nargout 函数输入输出参数个数 等
2.4.3关系与逻辑运算函数
exist 判断变量(文件)是否存在 exist(‘名称‘,’属性‘) exist(‘a’,’var’);
2.4.3关系与逻辑运算函数
find 找到矩阵中特定元素的位置和值
二维
2.4.3关系与逻辑运算函数
find 找到矩阵中特定元素的位置和值
一维
2.5 字符串_matlab中作为行向量
第二节 变量及其操作
2.2.1 变量与赋值
(1)变量的命名: 字母开头、区分大小写、变量名不超过
31位、不能有中文(包括文件名)。尤其注 意命令时,变量名不与已有的M文件、内 建函数名称等重名。 例:A,a, Myphoto,myphoto…
第二节 变量及其操作
2.2.1 变量与赋值
(2)赋值语句:两种格式 a)变量=表达式 b)表达式
Ch = ‘ABab123decwbop’; rech = Ch(end:-1:1) sortch = sort(Ch)
ans = 123ABabbcdeopw k1=find(Ch>=‘a’&Ch<=‘z’); Ch(k)=ch(k)-(‘a’-’A’);
eval的功能是把字符串的内容作为对应的matlab语 句来执行
单引号的运用 xm = ‘sichuan university’; ch = [‘abcdf’;’123456’]; ch[1,1] ans = a
字符串是以ASCII码形式存储的。abs和double都可以 用来获取字符串矩阵所对应的ASCII码数值矩阵。反 之,可以用char函数将ASCII码矩阵转换为字符串
99.12345678900000 format short e:短格式e方式
9.9123e+001 format long e:长格式e方式
9.912345678900000e+001 format bank:2位十进制 99.12 format hex:十六进制格式
2.3 MATLAB矩阵的表示
1.矩阵的建立 2.矩阵的拆分_矩阵尺寸的变化 3.矩阵元素的删除
2.3 MATLAB矩阵的表示
1、矩阵的建立
(1)直接输入法[…]。注意元素间隔和行间隔。 (2) 由文件生成 (3)冒号法(1×N)。注意元素的个数问题。 (4)函数法(特殊矩阵)(ones,zeros,rand等) A = ones(5);或A=ones(5,5); (5)网格矩阵(meshgrid) [A,B]=meshgrid(a,b)或 [A,B]=meshgrid(a) ,或A = linspace(x1,x2,N)。 (6) 稀疏矩阵(sparse spdiags)
sin(π/3)。 法一、x = 0:pi/100:3*pi;
y = sin(x); y1 = (x<pi|x>2*pi).*y; q = (x>pi/3&x<2*pi/3)|(x>7*pi/3&x<8*pi/3); qn = ~q; y2 = q*sin(pi/3) + qn.*y1;
例2.4 在[0,3π]区间,求y=sinx的值,要求: 1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为
(2)M文件输入法
(3)冒号表达式
用线性等间距生成向量矩阵(start:step:end) 》a=[1:2:10]
a=
13579
其中start为起始值,step为步长,end为 终止值。当步长为1时可省略step参数; 另外step也可以取负数。
用linspace产生向量 linspace(a,b,n)
定义不同的存储格式(ASCII、V4等)
( 2)SAVE('filename','var1','var2')
2.2.3
数据的输出格式
如果结果为整数,则显示没有小数;如果 结果不是整数,则输出形式有: format short:短格式(5位定点数)
99.1253 format long:长格式(15位定点数
P=strcat(‘sichuan’,’university’,num2str(2009))
sin(π/3)。 法一、x = 0:pi/100:3*pi;
y = sin(x); y1 = (y>=0).*y; p = sin(pi/3); y2 = (y>=p)*p + (y<p).*y1;
例2.4 在[0,3π]区间,求y=sinx的值,要求:
1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为sin(π/3)。
2.3 MATLAB矩阵的表示
e) 矩阵元素的删除 利用空矩阵删除矩阵的元素 例:A = [1 2 3; 2 3 4]; A(:,[2 3]) =[]; A(:,2) = []; A(1,1)=[];
2.3 MATLAB矩阵的表示
两个常用的命令 length和size 例:A = [1 2 3 2 3 4];
2.3 MATLAB矩阵的表示
c) 矩阵的重组 1)冒号重组 A=[1 2;3 4]; A(:)
2) reshape的使用
2.3 MATLAB矩阵的表示
c) 矩阵的重组 2) reshape(A,m,n) m为行数,n为列数 A = [1 2 3;3 4 5]; B = reshape(A,6,1) B = reshape(A,3,2) B = A(:)
可产生任意维矩阵 产生一维矩阵: a = ones(1,n)或a=ones(n,1);
(5)matlab的特殊命令
a、 网格矩阵(meshgrid)_产生二维矩阵 [A,B]=meshgrid(a,b)
[A,B]=meshgrid(a,a)等价于[A,B]=meshgrid(a)
输入a和b不受限制,只能参数二维矩阵。 例,[a,b] = meshgrid(ones(1,5),ones(1,5));
length(A)
A = [1 2 3; 2 3 4];
size(A) size(A,1) size(A,2) size(A,3)
第四节 数据运算 1、算术运算
a、基本算术运算——加、减、乘和除: 1)进行矩阵加减时,参与运算的矩阵必须同维。 2)A/B时,A、B列数必须相同。A\B时, A、B行数 必须相同。 3)矩阵的左乘与右乘不同。(A*B 不等于 B*A) 4)矩阵的左除与右除不同。(A/B不等于 A\B)