matlab语言复习
《matlab语言复习》由会员分享,可在线阅读,更多相关《matlab语言复习(19页珍藏版)》请在装配图网上搜索。
1、真诚为您提供优质参考资料,若有不当之处,请指正。 一 MATLAB语言的发展 PPT语言页:对语言扩展说明:VHDL,UML,C系列语言(C,C++,C#,.NET,JAVA)等;均大量使用面向对象技术。另外,还有专业软件,如PS,周正龙用得很好,忽悠了全国人民――说笑而已。 PPT能作页:重点说仿真。什么是仿真?利用模型完成实验研究,我们利用数学模型,建模合仿真离不开MATLAB。举例: 导弹信息处理系统开发,如作用距离指标论证,推理;原理建模,边界条件,作战环境等方面综合考虑,形成最后用于仿真得模型,验证,计算-开发实际系统,周期5~20年;最后强调一点,涉及项目内容不
2、要在上网机上出现,保密是生命线,碰不得。导致,千百人的工作可能白费,巨额经济损失,严重的将危害国家安全。 求解线性系统PPT: 非常方便,一条指令解决。 绘图PPT:非常直观,观察函数特性。均有周期性;图2 值大于零,图3调频。 二、MATLAB语言的特点及功能 2.1 特点 编程过程中,自己慢慢体会 2.2 功能 8点, PPT开放式结构页, 程序源代码开放,可以修改、编程补充。 三、MATLAB安装和启动 3.1 MATLAB的安装和工具包选择 必选项内容 3.2 启动MATLAB 界面组成,说明 四、MATLAB操
3、作桌面基本用法 第二节课开始 4.1 Command Window运行入门 数值、变量及运算在命令窗的表达 4.2 界面操作要点 各界面操作简述 4.3 工作空间的管理指令 数据、变量的查询、保存和定义 问:系统中,比1大的最小数? 4.4 Editor/Debugger和脚本编写初步 编程界面说明 五、帮助系统及其使用 5.1 常用帮助指令 HELP ,LOOKFOR 5.2 帮助导航浏览器Help Navigator/Browser 4个组成部分, 5.3 VIDEO视频演示帮助系统 新增加
4、功能,声音,视频讲解 六、 MATLAB Notebook简述 6.1 Notebook的启动 6.2 M-book模板的使用 目前,是一种方便的作业工具,文档与运算,画图合为一体, 界面友好性有待加强。 七 总结 1 软件运行条件;桌面用法;标点符号用法、命名规则;帮助系统使用;Notebook使用 主体内容: 1 概述 1 2 数值计算 -基本内容 2 3 符号计算 1 4 绘图及可视化 1 5 程序设计 1
5、 an apple warn: eps a very little number inf nan nargin nariout realmax realmin be care : a./b & b.\a is different and never forget '*' warn: * 数组乘 建立数组a和b,进行乘法运算 说明:指令中的“.*”符号表示乘法是在两个数组相同位置上的元素间进行的,把这种乘法称为“数组乘”.“*”符号表示乘法是在两个矩阵间进行,
6、乘法满足代数运算规则。 数据显示格式 key : ; % … key: clf clc clear 变量空间 it's a inportant part of matlab. m.file and we also should know the help window notebook for ferther use. 1 在安装MATLAB软件时,哪个组件是必须选择的?假如不“勾选”这个组件,那么就不可能建立MATLAB工作
7、环境。 2 数字1.5e2,1.5e3 中的哪个与1500相同吗? 3 请指出如下5个变量名中,哪些是合法的? abcd-2 xyz_3 3chan a变量 ABCDefgh 4 在MATLAB环境中,比1大的最小数是多少? 5 设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么? w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2 6 指令clear, clf, clc各有什么用处? 7 以下两种说法对吗?(1)“MATLAB进行数值的表达
8、精度与其指令窗中的数据显示精度相同。” (2)MATLAB指令窗中显示的数值有效位数不超过7位。” 8 想要在MATLAB中产生二维数组,下面哪些指令能实现目的? S=[1,2,3;4,5,6;7,8;9] S=[1 2 3;4 5 6;7 8 9] S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 9 试为 ,z=z1+z2编写一个解题用的M脚本文件? 1 答: matlab组件 2 a1=1.5e2,a2=1.5e3 解:a1 = 150
9、 a2 = 1500 3 答:xyz_3 , ABCDefgh 4 答: 1+eps 5 w1 = -2.0000 + 3.4641i w2 = 4.0000 w3 = -2.0000 + 3.4641i 答: 不同 6 答:clear, 清除内存变量和函数;clf 清除图对象;clc 清除指令窗 7 答:(1)错。MATLAB进行数值的表达精度使用双精度进行。指令窗中的数据显示精度可由用户设定,仅仅为了显示简洁才采用较少位数显示。 (2)错。指令窗中的数据显示精度可由用户设定,仅仅为了显示简洁才采用较少位数显示。 8 答
10、:S=[1 2 3;4 5 6;7 8 9]能产生二维数组 9 clear; z1=4+3*i; z2=1+2*i; z=z1+z2 a boy 数值计算 符号计算 代数方程的解 尽量不要使用inv(a)*b指令,而应采用a\b 后者的计算速度比前者快,计算精度高,尤其是矩阵a较大时。另外,除法指令的适应性更强,即使对于非方阵的a,也能给出最小二乘解。 傅立叶变换 设序列x(n)的长度为M,则x(n)的N(N≥M)点离散傅立叶变换对定义为 clear; c
11、lose all; N=32; n=0:N-1; k=n;nk=n'*k; xn=exp(j*pi*n/8) WN=exp(-j*2*pi/N); Wnk=WN.^nk; Xk=xn*Wnk plot(abs(Xk)) 试验设计: 9 用快速卷积法(FFT变换)计算下面两个序列的卷积,并测试快速卷积和直接卷积的时间 取M=20,N=15。 10 验证频域采样与时域采样的对偶性 试编写MATLAB程序,来验证对频谱X(ejw)进行等间隔采样。 (1) 产生一个三角波序列x(n) (2)对M=40,
12、计算x(n)的64点DFT,并图示x(n)和X(k)=DFT[x(n)],k=0,1,2…63。 (3)对(2)中所得X(k)在[0,2*pi]上进行32点抽样得 X1(k)=X(2k),k=0,1,…31 (4)求X1(k)的32点IDFT,即x1(n)=IDFT[X1(k)],k=0,1,2…31 (5)画出x1((n))32(x1(n)的周期延拓,周期为32)的波形图,评述x1((n))32与x(n)的关系。并根据频域采样理论加以解释。 矩阵创建、运算和数组运算;多项式运算和卷积 数值微积分;代数方程组和微分方程求解 函数极值、拟合和插值;随机数据的统计描述
13、1 正文 一、 命令行的基本操作 1.1创建矩阵的方法 1.2用matlab函数创建矩阵 rand(4)------4*4随机矩阵 eye(4)—— 4*4 单位矩阵 zeros(4,1) ——全部元素都为0的4*1矩阵 ones (1,4)——全部元素都为1的1*4矩阵 1.3. 矩阵的修改 数组及其运算 小规模数组的直接输入法 指 令 含 义 指 令 含 义 < 小于 >= 大于等于 <= 小于等于 == 等于 > 大于 ~= 不等于 标准数组生成函数 指令 含义 指令 含义 ey
14、e 产生单位数组(对高维不适用) rand 产生均匀分布随机数组 magic 产生魔方数组(对高维不适用) randn 产生正态分布随机数组 ones 产生全1数组 zeros 产生全“0”数组 diag 产生对角形数组(对高维不适用) gallery 产生特殊的测试矩阵 用逻辑函数 分 类 具 体 描 述 数组非0判断 all 数组A所有元素都不是0,返回1。 any 数组A不是全0元素,返回1。 生成逻辑数组 false 按指定大小,创建全0逻辑数组。 true 按指定大小,创建全1逻辑数组。 logical 创建逻辑
15、数组:1对应输入数组中的非0元素,其余都为0。 数据对象判断 isempty 是否空阵 isprime 是否质数 isfinite 是否有限数 isreal 是否实数 isinf 是否无穷大 isletter 是否字母(用于字符串) isnan 是否非数 isspace 是否空格(用于字符串) 数据类型判断 isa 是否指定类别 ishandle 是否图柄 ischar 是否字符串 islogical 是否逻辑类型 isglobal 是否全局变量 isnumeric 是否数值类型 二、数据的保存与获取 产生并保存sin
16、(x)在[0,4*pi]的波形,然后调用并画图。 三、矩阵运算 矩阵的一些特殊操作 矩阵的谱分解和矩阵函数 函数的数组运算与矩阵运算 四、 多项式运算和卷积 1 poly —— 产生特征多项式系数向量 2.roots —— 求多项式的根 3.conv多项式乘运算 4.deconv多项式除运算 5 多项式微分 五、卷积和 fourier分析 卷积 离散傅立叶变换 六 数值微积分 不推荐求数值极限;例子说明;积分例子:积分准确性与使用的算法有关! 七、代数方程组求解 三种情况各自求解方法及特点。 范数,条件数和方程解的精度 :判断解的可靠性 八
17、、微分方程求解 多种解法,注意解的格式和步骤。建立函数,然后选择解算指令求解。 九、函数极值点 两个函数用法 十、随机数据的统计描述 交互界面使用和说明 十一、拟合与插值 示例和函数介绍 1 由指令rand('state',0),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。 clear; rand('state',0),A=rand(3,5) A = 0.9501 0.4860 0.4565 0.4447 0.9218 0.
18、2311 0.8913 0.0185 0.6154 0.7382 0.6068 0.7621 0.8214 0.7919 0.1763 find(A>0.5) Ca=A(find(A>0.5)) L=A>0.5 islogical(L); X=A(L) L = 1 0 0 0 1 0 1 0 1 1 1 1 1 1 0 X = 0.9501 0.6068
19、 0.8913 0.7621 0.8214 0.6154 0.7919 0.9218 0.7382 ans = 1 3 5 6 9 11 12 13 14 Ca = 0.9501 0.6068 0.8913 0.7621 0.8214 0.6154 0.7919 0.9218 0.7382 2 已知有理分式,其中,。(1
20、)求该分式的商多项式和余多项式。(2)用程序验算是否成立。 %Nx=(3*x^3+x)*(x^3+0.5),Dx=(x^2+2*x-2)*(5*x^3+2*x^2+1) p1=conv([3 0 1 0],[1 0 0 0.5]);p2=conv([1 2 -2 ],[5 2 0 1]); [q ,r]=deconv(p1,p2); cq='商多项式为';cr='余多项式为'; disp([cq,poly2str(q,'s')]);disp([cr,poly2str(r,'s')]); 商多项式为 0.6 s - 1.44 余多项式为 -4.4409e-016 s
21、^6 + 8.8818e-016 s^5 + 21.88 s^4 - 5.34 s^3 - 5.52 s^2 + 4.58 s - 2.88 p3=[0.6 -1.44],p4=[-4.4409e-016 8.8818e-016 21.88 -5.34 -5.52 4.58 -2.88] p=conv(p2,p3) +p4 Ps1= poly2str(p,'s') p3 = 0.6000 -1.4400 p4 = -0.0000 0.0000 21.8800 -5.3400 -5.5200 4.5800 -2
22、.8800 p = 3.0000 0.0000 1.0000 1.5000 0.0000 0.5000 0 Ps1 = 3 s^6 + 1.3323e-015 s^5 + 1 s^4 + 1.5 s^3 + 8.8818e-016 s^2 + 0.5 s Ps2=poly2str(p1,'s') Ps2 = 3 s^6 + s^4 + 1.5 s^3 + 0.5 s 3 a=[1:12];利用reshape、rot90、fliplr、 flipud、 diag、tril、tr
23、iu指令形成新矩阵。 a=[1:12]; b=reshape(a,3,4) c1=rot90(b) c2=flipud(b) c3=tril(b) b = 1 4 7 10 2 5 8 11 3 6 9 12 c1 = 10 11 12 7 8 9 4 5 6 1 2 3 c2 = 3 6 9 12 2 5
24、 8 11 1 4 7 10 c3 = 1 0 0 0 2 5 0 0 3 6 9 0 4 求解二元函数方程组的解 clear; x=-2:0.5:2;y=x;[X,Y]=meshgrid(x,y); F1=sin(X-Y);F2=cos(X+Y); v=[-0.2,0,0.2]; contour(X,Y,F1,v); hold on,contour(X,Y,F2,v),hold off [x0,y0]=ginput
25、(2); Fun='[sin(x(1)-x(2)),cos(x(1)+x(2))]'; %Fun=inline('[sin(x(1)-x(2)),cos(x(1)+x(2))]','x') [xy,f,exit]=fsolve(Fun,[x0(2),y0(2)]) Optimization terminated: first-order optimality is less than options.TolFun. xy = 0.7854 0.7854 f = 1.0e-016 * 0 0.6123 exit =
26、 1 Optimization terminated: first-order optimality is less than options.TolFun. xy = 0.7854 0.7854 f = 1.0e-016 * 0 0.6123 exit = 1 [xy,f,exit]=fsolve(Fun,[0.8,0.8]) Optimization terminated: first-order optimality is less than options.TolFun. xy =
27、 0.7854 0.7854 f = 1.0e-015 * 0 -0.1608 exit = 1 5 求函数在区间中的最小值点。 fun=inline('(sin(5*t))^2*exp(0.06*t^2)-1.5*t*cos(2*t)+1.8*abs(t+0.5)','t') fmin=fminbnd(fun,-5,5) fun = Inline function: fun(t) = (sin(5*t))^2*exp(0.06*t^2)-1.5*t*cos(2*t)+1.8*abs(
28、t+0.5) fmin = -1.2850 6 用quad求取的数值积分,并保证积分的绝对精度为。 clear; fun=inline('exp(-abs(x)).*abs(sin(x))','x'); Iq=quad(fun,-5*pi,1.7*pi,10e-10),Iql=quadl(fun,-5*pi,1.7*pi,1e-9), Iq = 1.0878 Iql = 1.0878 7 已知矩阵,运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。(1)请分别写出根据B1, B2
29、恢复原矩阵A的程序。(2)用指令检验所得的两个恢复矩阵是否相等。 A=[1 2;3 4] B1=A.^0.5,B2=A^0.5 A = 1 2 3 4 B1 = 1.0000 1.4142 1.7321 2.0000 B2 = 0.5537 + 0.4644i 0.8070 - 0.2124i 1.2104 - 0.3186i 1.7641 + 0.1458i RB1=B1.^2, RB2=B2*B2 RB1 = 1.0000 2.0000
30、 3.0000 4.0000 RB2 = 1.0000 + 0.0000i 2.0000 + 0.0000i 3.0000 - 0.0000i 4.0000 - 0.0000i L1=isequal(RB1,RB2), L1 = 0 8 求的实数解。 clear; fun=inline('-0.5+t-10.*exp(-0.2*t).*abs(sin(sin(t)))','t'), ft=fzero(fun,0.5) fun = Inline function: fun(t) = -0.5+
31、t-10.*exp(-0.2*t).*abs(sin(sin(t))) ft = 2.7341 符号计算 1 字符串、元胞和架构数组 2 符号对象和符号表达式 3 符号表达式和符号函数的操作 4 符号微积分 5 符号积分变换 6 符号线性代数的求解 7 符号微分方程的求解 8 利用MAPLE的深层符号计算资源 运行funtool命令,出现可视化数学分析界 be care:自由变量的判断 1观察一个数(在此用@记述)在以下四条不同指令作用下的异同: a = @ b = sym( @ ) c = s
32、ym( @ ,'d ' ) d = sym( '@ ' ) %这给出完全准确值 在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。 a1=pi*3^(1/3); a=a1, b=sym(a1), c=sym(a1,'d'), d=sym('a1'), ad=vpa(abs(a-d)) ,bd= vpa(abs(b-d)) , cd=vpa(abs(c-d)) a = 4.5310 b =510140817905773
33、2*2^(-50) c =4.5309606547207899041040946030989 d =a1 ad =abs(a1-4.5309606547207899041040946030989) bd =abs(a1-4.5309606547207899041040946030989) cd =abs(a1-4.5309606547207899041040946030989) 2说出以下三条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”对象? 3/7+0.1 sym(3/7+0.1) vpa(sym(3/7+0.1)) class(3/7+0.1)
34、 ans =double class(sym(3/7+0.1)) ans =sym class(vpa(sym(3/7+0.1))) ans =sym 3在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。 sym('sin(w*t)') , sym('a*exp(-X)' ) , sym('z*exp(j*theta)') syms w t, findsym(sin(w*t),1) ans =w syms a X, findsym(a*exp(-X),1) ans =a syms z theta,
35、 findsym(z*exp(j*theta),1) ans =z a cat 数据和函数的可视化 离散数据和离散函数的可视化 离散函数可视化的步骤是:先根据离散函数特征选定一组自变量;再根据所给离散函数算得相应的,然后在平面上几何地表现这组向量对。 连续函数的可视化 连续函数可视化包含三个重要环节:一,从连续函数获得一组采样数据,即选定一组自变量采样点(包括采样的起点、终点和采样步长),并计算相应的函数值;二,离散数据的可视化;三,图形上离散点的连续化。 二维图形可视化一般步骤,共7步 1 数据准备,2选定图形
36、或者子图位置;3 调用高层绘图指令;4 设置轴的范围与刻度,坐标分格线;5图形注释 6 图形的精细修饰(图柄操作);7 打印。 三维图形可视化一般步骤,共9步 1 a 三维曲线数据准备,b 三维曲面数据 2选定图形或者子图位置;3 a调用三维曲线绘图指令,b调用三维曲面绘图指令;4 设置轴的范围与刻度,坐标分格线;5图形注释 6 着色,明暗,灯光,材质处理;7 视点,三度(横、纵、高)比;8 图形的精细修饰(图柄操作);9 打印。 程序设计 例10 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。 c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(setstr(abs(c)+abs('a')-abs('A'))); elseif c>='a'& c<='z' disp(setstr(abs(c)- abs('a')+abs('A'))); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end 19 / 19
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。