(完整版)MATLAB)课后实验[1]
- 格式:doc
- 大小:5.32 MB
- 文档页数:24
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
实验一 MATLAB 运算基础一、实验目的1.熟悉启动和退出MA TLAB 的方法。
2.熟悉MA TLAB 命令窗口的组成。
3. 掌握建立矩阵的方法。
4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1. 求下列表达式的值。
5.4:5.1:5.40 x ,x 20 , x (x)u )1(1/31/31--=⎪⎩⎪⎨⎧<⋅≤=x x 其中:9:5.1:001x 5 10,x 4x 0.2-5 x 0 ,x 0.2 (x)u )2(222=⎪⎩⎪⎨⎧≤≤-⋅+⋅≤≤⋅=x 其中:提示:利用逻辑表达式求分段函数)3sin()1ln(21y (3)2t t t ⋅+++=,其中⎥⎦⎤⎢⎣⎡=π5 0.45- 1.22 16.2 t ,2. 已知A 和B ,求下列表达式的值。
(1)A+6*B 和A-B+I (其中I 为单位矩阵)。
(2)A*B 和A.*B 。
(3)A^3和A.^3。
(4)A/B 和A\B 。
(5)[A,B]和[A([1,3],:);B^2]。
3. 完成下列操作:(1)求[100,999]之间能被21整除的数的个数。
提示:先利用冒号表达式,在利用find 和length 函数。
(2)建立一个字符串向量,删除其中的大写字母。
提示:利用find 函数和空矩阵。
’A5cf8EGnL5B6vh7nP8X9Wa ’三、实验步骤(程序和结果)1.(1)x1=4.5:-1.5:0x1 =4.5000 3.0000 1.5000 0u=x1.^(1/3)u =1.6510 1.4422 1.1447 0x2=0:-1.5:-4.5x2 =0 -1.5000 -3.0000 -4.5000u2=2*x2.^(1/3)u2 =0 1.1447 + 1.9827i 1.4422 + 2.4980i 1.6510 + 2.8596i (2)x=0:1.5:5x =0 1.5000 3.0000 4.5000u1=0.2*x.^2u1 =0 0.4500 1.8000 4.0500x1=5:1.5:10x1 =5.00006.5000 8.0000 9.5000u2=-0.2*x1.^2+4*x1-10u2 =5.0000 7.5500 9.2000 9.9500(3)t=[2.16,1.22;-0.45,5*pi]t =2.1600 1.2200-0.4500 15.7080y=(1/2)*log(t+sqrt(1+t.^2))+sin(3*t)y =0.9520 0.0189-1.1937 1.72422.(1)A=[2,4,-4;4,7,7;3,5,7]A =2 4 -44 7 73 5 7B=[1,3,-1;2,0,3;3,-2,7]B =1 3 -12 0 33 -2 7A+6*B8 22 -1016 7 2521 -7 49A-B*eyeans =1 1 -32 7 40 7 0(2)A*Bans =-2 14 -1839 -2 6634 -5 61A.*Bans =2 12 48 0 219 -10 49(3)A^3ans =56 104 24 760 1338 1046 638 1122 890 A.^3ans =8 64 -6464 343 34327 125 343(4)A/Bans =-1.6000 8.4000 -4.40007.8000 -14.2000 8.20007.0000 -14.0000 8.0000A\Bans =21.5000 -17.5000 58.5000-11.2500 9.7500 -31.2500-0.7500 0.2500 -1.7500(5)[A,B]2 4 -4 13 -14 7 7 2 0 33 5 7 3 -2 7[A([1,3],:);B^2]ans =2 4 -43 5 74 5 111 0 1920 -5 403.(1)A=100:999;length(find(mod(A,21)==0))ans =43(2)ch='A5cf8EGnL5B6vh7nP8X9Wa';ch(find(ch<='Z'&ch>='A'))=[]ch =5cf8n56vh7n89a四、思考题1.在1. (1)题目中,x和y应该先输入哪一个?为什么?答:先输入x,因为y随x改动而改动。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416iColumns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416iColumns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416iColumns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.6351 0.6119Columns 57 through 600.5777 0.5327 0.47740.4126Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.2500 2. 已知:求下列表达式的值:(1) A+6*B和A-B+I(其中I为单位矩阵)(2) A*B和A.*B(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]解:M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B(1) 求它们的乘积C。
MATLAB语言及其应用实验教程实验一实验目的:1.熟悉MATLAB的界面,菜单,会使用DEMO,学会使用帮助(help)。
2.学习MATLAB的基本语法实验内容:1.打开MATLAB,点击各个菜单以了解各个子菜单项。
2.更改当前路径,在指定路径下保存所作的实验。
实验具体步骤:如图所示,在D盘根目录下建立“MATLAB实验”文件夹,并在此文件夹下以各自的学号建立子文件夹。
如图所示,点击工具栏上“Current Directory”栏的浏览按钮。
选择刚刚建立的以各自学号命名的文件夹,“Current Directory”栏显示如下路径格式。
注意!以后所有的实验均保存在此目录中。
3.学习打开和关闭命令窗口(command window),工作空间(workspace)和命令历史窗口(command history)。
实验具体步骤:单击命令窗口右上角的“X”标志,关闭命令窗口;在Desktop菜单下选择“Command window”,打开命令窗口;单击工作空间窗口右上角的“X”标志,关闭工作空间;在Desktop菜单下选择“Workspace”,打开工作空间;单击命令历史窗口右上角的“X”标志,关闭命令历史窗口;在Desktop菜单下选择“Command history”,打开命令历史窗口。
4.练习变量的赋值,包括向量赋值,矩阵赋值以及复数的赋值。
实验具体步骤:变量赋值>> a=100a =100>> b=0.1b =0.1000向量赋值>> a=1:1:10a =1 2 3 4 5 6 7 8 9 10>> b=1:2:10b =1 3 5 7 9矩阵赋值>> a=[1 2 3;4 5 6;7 8 9]a =1 2 34 5 67 8 9复数赋值>> c=3+5.2ic =3.0000 + 5.2000i>> z=[1+2i,3+4i;5+6i,7+8i]z =1.0000 +2.0000i3.0000 +4.0000i5.0000 +6.0000i7.0000 +8.0000i5.用变量检查命令who和whos检查工作空间中的变量。
实验一MATLAB操作基础一、实验目的1、熟悉MATLAB的操作环境及基本操作方法。
2、掌握MATLAB的搜索路径及其设置方法。
3、熟悉MATLAB帮助信息的查阅方法。
二、实验内容1、先建立自己的工作目录,再将自己的工作目录设置到MATLAB搜索路径下,再试验用help命令能否查询到自己的工作目录。
2、在MATLAB环境下验证例1-1至1-4,并完成以下题目:(1)绘制右图所示图形(23、利用MATLAB的帮助功能分别查询inv,plot、max、round等函数的功能及用法。
4、在工作空间建立一个变量a ,同时在当前目录下建立一个M文件:a.m,试在命令窗口输入a,观察结果,并解释原因。
三、思考练习1、help命令和lookfor命令有什么区别?2、什么是工作空间?假定有变量A与B存在于工作空间中,如何用命令保存这两个变量?下次重新进入MATLAB后,又如何装载这两个变量?实验二MATLAB数值计算一、实验目的1、掌握MATLAB变量和数据操作2、掌握MATLAB矩阵及其操作3、掌握MATLAB矩阵运算二、实验内容1、求下列表达示的值(1)6(10.3424510)w-=+⨯(2)22tan()b ca eabcxb c aππ++-+=++,其中a=3.5 ,b=5 ,c=-9.8(3)21ln(2tz e t=+,其中213[]50.65it-=-2、已知1540783617A--⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,831253320B-⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:(1)A+6B和2A B I-+(I为单位矩阵)(2)A*B、A.*B和B*A(3)A/B及B\A(4)[A,B] 和[A([1,3],:) ; B^2]3、建立一个均值为3,方差为1的10*10的正态分布随机矩阵,并将矩阵中大于0的元素置1,小于0的置0.4、当[34,,,,,,0]A NaN Inf Inf pi eps=--时,求函数all(A),any(A),isnan(A),isinf(A),isfinite(A)的值。
学生实验报告一、实验目的 熟悉MATLAB 软件的用户环境;了解MATLAB 软件的一般命令;掌握MATLAB 向量、数组、矩阵操作与运算函数;掌握MATLAB 软件的基本绘图命令;掌握MATLAB 语言的几种循环、条件和开关选择结构,及其编程规范。
通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
二、实验仪器、设备或软件: 电脑,MATLAB 软件三、实验内容 1.MATLAB 软件的数组操作及运算练习;2.直接使用MATLAB 软件进行作图练习;3.用MATLAB 语言编写命令M 文件和函数M 文件。
四、实验步骤1.在D 盘建立一个自己的文件夹;2.开启软件平台——MATLAB ,将你建立的文件夹加入到MATLAB 的搜索路径中;3.利用帮助了解函数max, min, sum, mean, sort, length ,rand, size 和diag 的功能和用法;4.开启MATLAB 编辑窗口,键入你编写的M 文件(命令文件或函数文件);5.保存文件(注意将文件存入你自己的文件夹)并运行;6.若出现错误,修改、运行直到输出正确结果;7.写出实验报告,并浅谈学习心得体会。
五、实验要求与任务根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→算法与编程→计算结果或图形→心得体会)1. 已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=321212113A , ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=101012111B 要求:(1)屏幕输出A 与B ;(2)A 的转置A′;(3)求A+B 的值;(4)求A-B 的值;(5)求4A ;(6)求A×B ;(7)求A -1.2. 有一函数f (x ,y )=x 2+sin xy +2y ,写一程序,输入自变量的值,输出函数值。
3. 用plot ,fplot 分别绘制函数y =cos(tan(πx ))图形。
MATLAB 实验报告班级:14通信1班 学号:201424124124 姓名:林启铭实验一 MATLAB 运算基础(一)一、实验目的1、掌握建立矩阵的方法。
2、掌握MATLAB 各种表达式的书写规则以及各种运算方法。
二、实验内容1、求下列表达式的值。
(1)20185sin 21ez += MATLAB 代码:z1=2*sin(85*pi/180)/(1+exp(2))%将角度化为弧度z1 =0.2375(2)()x x z ++=1ln 212,其中⎢⎣⎡-=45.02x ⎥⎦⎤+521i (可以分别对矩阵和元素群运算)MATLAB 代码:>> x=[2,1+2i;-0.45,5]x =2.0000 + 0.0000i 1.0000 + 2.0000i-0.4500 + 0.0000i 5.0000 + 0.0000i>> z2=1/2*log(x+sqrt(1+x))z2 =0.6585 + 0.0000i 0.6509 + 0.4013i-0.6162 + 0.0000i 1.0041 + 0.0000i(3)()3.0sin 232.03.0+⋅-=a e e z aa , 0.3,9.2,8.2,...,8.2,9.2,0.3---=a (结果请用图形表示)(提示:利用冒号表达式生成a 向量;求各点的函数值时用点乘运算)MATLAB 代码:>> a=-3.0:0.1:3.0;%利用冒号表达式生成a 向量,加分号结尾避免大量数据刷屏 >> z3=(exp(0.3.*a)-exp(0.2.*a)).*sin(a+0.3)/2;>> plot(a,z3);%绘制出以a 为自变量,z3为因变量的曲线>>曲线图:2、已知⎢⎢⎢⎣⎡=33412A 65734⎥⎥⎥⎦⎤-7874 和 ⎢⎢⎢⎣⎡=321B 203-⎥⎥⎥⎦⎤-731 求下列表达式的值:(1)A+6*B 和A-B+I (其中I 为单位矩阵)。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
MATLAB教程实验报告实验项目名称实验一 Matlab基本操作学生姓名汪德旺专业班级 09数教(1)班学号 0301090131实验成绩日期一. 实验目的和要求1、了解MATLAB 的开发环境。
2、熟悉Matlab的基本操作。
3、掌握建立矩阵的方法。
4、掌握MATLAB各种表达式的书写规则以及常用函数的使用。
5、填写实验报告,实验报告文件取名为report1.doc。
6、于邮件附件形式将实验报告文件report1.doc 发到邮箱*******************,邮件主题为班级学号姓名,如:09数教1班15号张三。
二、实验内容1、先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)0 122sin851ze =+(2)2212 1ln(0.4552i z x x+⎡⎤==⎢⎥-⎣⎦其中(3)0.30.330.3sin(0.3)ln,22a ae e az a--+=++a=-3.0,-2.9,-2.8,…, 2.8, 2.9,3.0(4)2242,011,12,0:0.5:2.521,23t tz t tt t t⎧≤<⎪=-≤<=⎨⎪-+≤<⎩其中t2.已知:1234413134787,2033657327 A B--⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1)A+6*B和A-B+I(其中I为单位矩阵) (2)A*B和A.*B(3)A^3和A.^3(4)A/B和B\A(5)[A,B]和[A([1,3],:);B^2]3、设有矩阵A 和B123453016678910A=,B=17-691112131415023-41617181920970212223242541311⎡⎤⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦(1)求它们的乘积C 。
(2)将矩阵C 的右下角3*2子矩阵赋给D 。
(3)查看MATLAB 工作空间的使用情况。
实验报告说明:matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。
第一次实验内容:实验一 MATLAB 运算基础一、实验目的1.熟悉启动和退出MATLAB 的方法。
2.熟悉MATLAB 命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1)22sin 8511z e ︒=+(2)12ln(2z x =,其中2120.455i +⎡⎤=⎢⎥-⎣⎦(3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02a ae e z a a --=+=---提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
(4)2220141122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪--≤<⎩,其中t =0:0.5:2.5 提示:用逻辑表达式求分段函数值。
2.已知12344347873657A -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,131203327B -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:(1) A+6=B 和A-B+I(其中I 为单位矩阵)。
(2) A*B 和A.*B 。
(3) A^3和A^.3 。
(4) A/B 和B\A 。
(5)[A ,B]和[A([1,3],;);B^2] 。
3.设有矩阵A 和B12345678910111213141516171819202122232425A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 30161769023497041311B ⎡⎤⎢⎥-⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D (3) 查看MATLAB 工作空间使用情况。
4.完成下列操作:(1)求[100,999]之间能被21整除的数的个数。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
ones表示1矩阵zeros表示0矩阵ones(4)表示4x4的1矩阵zeros(4)表示4x4的0矩阵zeros(4,5)表示4x5的矩阵eye(10,10)表示10x10的单位矩阵rand(4,5)表示4x5的伴随矩阵det(a)表示计算a的行列式inv(a)表示计算a的逆矩阵Jordan(a)表示求a矩阵的约当标准块rank(a)表示求矩阵a的秩[v,d]=eig(a)对角矩阵b=a’表示求a矩阵的转置矩阵sqrt表示求平方根exp表示自然指数函数log自然对数函数abs绝对值第一章一、5(1)b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12];>> d=[65 5;-23 -59;54 7];>> e=b*ce =5271 11574-11336 6641978 3112(2)a=50:1:100二、1 、x=-74;y=-27;z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z =2、a=-3.0:0.1:3.0;>> b=exp(-0.3*a).*sin(a+0.3)3、x=[2 4;-0.45 5];y=log(x+sqrt(1+x.^2))/2y = 4、a*b表示a矩阵和b矩阵相乘a.*b表示a矩阵和b矩阵单个元素相乘A(m,n)表示取a矩阵第m行,第n列A(m,:)表示取a矩阵第m行的全部元素A(:,n)表示取a矩阵的第n列全部元素A./B表示a矩阵除以b矩阵的对应元素,B.\A等价于A./BA.^B表示两个矩阵对应元素进行乘方运算A.^2表示a中的每个元素的平方A^2表示A*A例:x=[1,2,3];y=[4,5,6];z=x.^yz=1 32 729指数可以是标量(如y=2).底数也可以是标量(如x=2)5、a=1+2i;>> b=3+4i;>> c=exp((pi*i)/6)c =d=c+a*b/(a+b)d =第二章二、4、(1)y=0;k=0;>> while y<3k=k+1;y=y+1/(2*k-1);end>> display([k-1,y-1/(2*k-1)])ans =第三章二1(1)x=0:pi/10:2*pi;>> y=x-x.^3/6;>> plot(x,y)(2)x=0:pi/10:2*pi; y=(exp(-x.^2/2))/2*pi;plot(x,y)(3)x=-8:0.01:8;y=sqrt((64-x.^2)/2);plot(x,y)(4)t=0:0.1:8*pi; >> x=t.*sin(t);>> y=t.*cos(t); >> plot(x,y)x=0:pi/100:2*pi;y1=exp(-0.5*x);y2=exp(-0.5*x).*sin(2*x);plot(x,y1,x,y2)>> title('x from 0 to 2{\pi} ');>> xlabel('variable x');>> ylabel('variable y');>> text(1.5,0.5,'曲线y1=e^(-0.5x)');>> text(3,0.1,'曲线y2=cos(4{\pi}x)e^{-0.5x}');>> legend('y1','y2')variable xvariabley2、(1)y1=2*x-0.5;t=linspace(0,pi,100);x=sin(3*t).*cos(t);y=sin(3*t).*sin(t);>> k=find(abs(y-x)<1e-2);>> t1=t(k)t1 =>> z=sin(3.*(t1)).*cos(t1) z =>> plot(t,x,t,y,'k:',t1,z,'bp');(2)subplot(1,2,1);>> scatter(x1,y1,10);>> title('y=2x-0.5');>> subplot(1,2,2);>> scatter(x,y,10)3、subplot(1,2,1);x=0:0.01:pi;y=sin(1./x);plot(x,y)subplot(1,2,2);fplot('sin(1./x)',[1,100])4、t=0:pi:2*pi;y=1./(1+exp(-t));subplot(2,2,1);%图形窗口的分割bar(t,'group'); %绘制柱形图(分组)subplot(2,2,2);barh(t,'stack'); %绘制柱形图(堆积)subplot(2,2,3);loglog(t,y); %函数使用全对数坐标,x,y均采用常用对数刻度subplot(2,2,4);semilogy(t,y); %函数使用半对数坐标,y轴为常用对数刻度,x轴仍为线性刻度101010101010105、(1)theta=linspace(-pi,pi,100);ro=5.*cos(theta)+4;polar(theta,ro);(2)x=linspace(0,2*pi,100);a=1>> r=a.*(1+cos(x));polar(x,r);2706、(1)t=0:pi/10:2*pi;>> x=exp((-t)/20).*cos(t);>> y=exp((-t)/20).*sin(t);>> z=t;>> plot3(x,y,z);(2)t=0:0.01:1;x=t;>> y=t.^2;>> z=t.^3;>> plot3(x,y,z);7、x=-30:0.1:0;>> y=0:0.1:30;>> [x,y]=meshgrid(x,y);>>z=10.*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2 );>> meshc(x,y,z);绘制曲面图和等高线8、x=linspace(-3,3,100);>> y=linspace(-3,3,100);>> [x y]=meshgrid(x,y); %可以将向量转化为矩阵>> fxy=-5./(1+x.^2+y.^2);>> i=find(abs(x)<=0.8 & abs(y)<=0.5); >> fxy(i)=NaN;>>surf(x,y,fxy) %绘制三维曲面图9、u=linspace(1,10,100);v=linspace(-pi,pi,100);[u v]=meshgrid(u,v); x=3.*u.*sin(v); y=2.*u.*cos(v); z=4*u.^2; surf(x,y,z); shading interp;第五章二1、a=rand(1,30000);mean(a) %求平均数 ans = >>b=std(a) %求标准差 b =>> c=max(a) c =>> d=min(a) d =size(find(a>0.5))/size(a)ans =2、h=[466,715,950,1422,1635]; >> w=[7.04,4.28,3.40,2.52,2.13]; >> hh=[500,900,1500];>> ww=interp1(h,w,hh,'spline')ww =3、x=linspace(1,10,50); y=log(x);f=polyfit(x,y,5); %求曲线的拟合 >> yy=polyval(f,x); >> plot(x,y,'r-',x,yy,'g.')5、(1)、(2) p1=[1,2,0,7]; p2=[1,-2]; p3=[1,0,5,1]; p12=conv(p1,p2); >>p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3]; >> roots(p) ans =-3.46561.2400(3) a=[-1,4,3;2,1,5;0,5,6]; >>y1=polyval(p,a) %以矩阵a 的每一个元素为自变量 y1 =-29 291 95 19 -3 697 -13 697 1427 >>y2=polyvalm(p,a) %以矩阵a 为自变量 y2 =391 2084 3273502 2693 4207720 3775 5892 6、(1)z=fzero('3*x-sin(x)+1',0) %求x=0时附近的根z =第八章二、2t=0:pi/20:2*pi;x=sin(t);y=cos(t);x1=sin(7*t);y1=cos(7*t);h=plot(x,y,x1,y1);set(h,'marker','x','linewidth',2);set(gca,'xtick',-1:0.1:1);title('篮筐')3、x=0:pi/10:5*pi;y=exp(-0.2*x).*cos(x)+2;h=plot(x,y);set(gca,'color','red','linestyle','-','linewidth',3) ;text(5,2.4,'y=exp(-0.2*x).*cos(x)+2'); 4、t=-pi:pi/100:pi;x=cos(t);y=sin(t);z=t;h=plot(t,x,t,y,t,z);set(h,'linestyle','-','linewidth',3);字符串例ch='Welcome to Beijing';subch=ch(12:18) 选12~18个字符串(空格也算)subch =Beijing>> k=find(ch>='a'&ch<='z'); 找到所有的小写字母的位置>> ch(k)=ch(k)-('a'-'A'); 将小写字母变成大写字母>> char(ch)ans =WELCOME TO BEIJING>> length(k) 统计小写字母的个数ans =14例:已知y=1-1/2+1/3-1/4.........-1/100求y 的值y=0;>> n=100;>> for i=1:100;y=y+(-1)^(i-1)/i;end>> disp(y)绘制二维曲线图x=0:pi/100:2*pi;>> y1=0.2*exp(-0.5*x).*cos(4*pi*x);>> y2=1.5*exp(-0.5*x).*cos(pi*x);>> plotyy(x,y1,x,y2);绘制三维图像例:x=sint+tcosty=cost-tsintz=tt=0:pi/10:10*pi;x=sin(t)+t.*cos(t);y=cos(t)-t.*sin(t);z=t;plot3(x,y,z);axis([-30 30 -30 30 0 35]); 坐标轴的最大值与最小值title('line in 3-D space'); 图形的题目>> xlabel('x');ylabel('y');zlabel('z'); 标注坐标>> grid on; 加网格线xz三维例]2/,0[],,0[,cossin22ππ∈∈+=yxyxz[x,y]=meshgrid(0:pi/100:pi,0:pi/100:pi/ 2);>> z=sin(x.^2)+cos(y.^2);>> mesh(x,y,z);>> axis([0 4 0 1.8 -1.5 1.5]);t=0:pi/20:2*pi;subplot(1,2,1);[x,y,z]=cylinder(sin(t),30);surf(x,y,z); 绘制三维曲面图subplot(1,2,2);>> [x,y,z]=peaks(100);>> mesh(x,y,z); 绘制三维网格图多项式求导例:f(x)=1/x^2+5p=[1];>> q=[1,0,5];>> [p,q]=polyder(p,q)注:c=conv(a,b) 表示a多项式与b 多项式乘积[p,r]=deconv(a,b) 表示a多项式与b 多项式相除其中p为商向量r为余数向量p=polyder(p) 表示求p的导数p=poleder(p,q) 表示求p乘以q的导数[p,q]=poleder(p,q) 表示p除以q的导数多项式求根例:f(x)=2x^4-12x^3+3x^2+5p=[2,-12,3,0,5];>> x=roots(p);>> p=[2,-12,3,0,5];x=roots(p) 求方程f(x)=0的根x =5.72460.8997>> g=poly(x) 已知多项式的根求多项式g =符号求导x=a(t-tsint)y=b(1-cost) 求y对x的一阶导数syms x y a b t;>> f21=a*(t-sin(t));>> f22=b*(1-cos(t));>> diff(f22)/diff(f21) 求y对x的一阶导数ans =b*sin(t)/a/(1-cos(t))注:diff(f1,x,2) 表示f1对x的二阶导数diff(f3,x)表示z对x的偏导diff(f3,y)表示z对y的偏导求不定积分int(f) 求f的不定积分f1=int(f,a,b) 求f在a,b之间的定积分eval(f1)计算积分值符号求极限syms x h>> f=(sin(x+h)-sin(x))/h;>> limit(f,h,0) h趋向于0ans =cos(x) 例2f=sym('(1+t/x)^x');limit(f,inf) f 趋向于无穷 ans = exp(t) 例3f=sym('x*(sqrt(x^2+1)-x)');limit(f,sym('x'),inf,'left') x 趋向于正无穷ans = 1/2 大小写ch='Welcome to Beijing'; subch=ch(12:18)subch =Beijing>> k=find(ch>='A'&ch<='Z'); ch(k)=ch(k)-('A'-'a'); >> char(ch)ans =welcome to beijing>> length(k)ans =2课堂习题2一、求方程组⎪⎩⎪⎨⎧=-+=++=-+234326454510243z y x z y x z y x 的解,用三种方法。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
实验一 MATLAB 运算基础1. 先求以下表达式的值,尔后显示 MATLAB 工作空间的使用情况并保存全部变量。
(1)2sin 85 z1 21 e(2) 12z ln( x 1 x ) ,其中22 x2 1 2i5(3)ae e az sin( a 0.3) ln , a 3.0, 2.9, L , 2.9, 32 22t 0 t 1(4) 2z t 1 1 t 242t 2t 1 2 t 3,其中解:M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成以下操作:(1) 求[100,999] 之间能被 21 整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量比方:ch='ABC123d4e56Fg9'; 那么要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch =123d4e56g9实验二 MATLAB矩阵解析与办理1. 设有分块矩阵 A E R3 3 3 2O S2 3 2 2,其中 E、R、O、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试经过数值计算考据 2A E R RS2O S。
解: M文件以下;5. 下面是一个线性方程组:1 1 12 3 4x11 1 1x23 4 5x 0.521 1 134 5 6(1) 求方程的解。
(2) 将方程右边向量元素 b3 改为 0.53 再求解,并比较 b3 的变化和解的相对变化。
(3) 计算系数矩阵 A 的条件数并解析结论。
解: M 文件以下:实验三选择结构程序设计1. 求分段函数的值。
2x x 6 x 0且x 32y x x x x x5 6 0 5且 2及 321 其他x x用 if 语句实现,分别输出时的 y 值。
解:M 文件以下:2. 输入一个百分制成绩,要求输出成绩等级 A、B、C、D、E。
其中 90 分~100 分为 A,80 分~89 分为 B,79 分~79 分为 C,60 分~69 分为 D,60 分以下为 E。
要求:(1) 分别用 if 语句和 switch 语句实现。
(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
解:M 文件以下3. 硅谷公司员工的薪水计算方法以下:(1) 工作时数高出 120 小时者,高出局部加发 15% 。
(2) 工作时数低于 60 小时者,扣发 700 元。
(3) 其他按每小时 84 元计发。
试编程按输入的工号和该号员工的工时数,计算应发薪水。
解:M 文件下实验四循环结构程序设计1. 依照21 1 1 1L ,求π的近似值。
当 n 分别取 100 、1000 、100002 2 2 26 1 2 3 n时,结果是多少?要求:分别用循环结构和向量运算〔使用 sum 函数〕来实现。
解:M 文件以下:运行结果以下:2. 依照y 1 1 1 1L ,求:3 5 2n 1(1) y<3 时的最大 n 值。
(2) 与(1)的 n 值对应的 y 值。
解:M—文件以下:3. 考虑以下迭代公式:x n 1ab xn其中 a、b 为正的学数。
(1) 编写程序求迭代的结果,迭代的停止条件为 |x n+1 -x n|≤10 -5,迭代初值 x0,迭代次数不高出 500 次。
(2) 若是迭代过程收敛于 r,那么 r 的正确值是2 4b b a2,当(a,b) 的值取(1,1) 、(8,3) 、(10,0.1) 时,分别对迭代结果和正确值进行比较。
解:M 文件以下:运算结果以下;5. 假设两个连续自然数的乘积减 1 是素数,那么称这两个边疆自然数是亲密数对,该素数是亲密素数。
比方,2× 3-1=5 ,由于 5 是素数,所以 2 和 3 是亲密数,5 是亲密素数。
求[2,50] 区间内:(1) 亲密数对的对数。
(2) 与上述亲密数对对应的全部亲密素数之和。
解:M 文件:实验五函数文件4. 设f ( x) 1 12 4( x 2) (x 3),编写一个 MATLAB 函数文件,使得调用 f(x) 时,x 可用矩阵代入,得出的 f(x)为同阶矩阵。
解:函数文件:function f= fx(x)%fx fx 求算 x 矩阵下的 f(x) 的函数值A=0.1+(x-2).^2;B=0.01+(x-3).^4;f=1./A+1./B;clc;x=input(' 输入矩阵 x='); f=fx(x)运算结果:5.yf (40)f (30) f(20)(1) 当 f(n)=n+10ln(n 2+5) 时,求 y 的值。
(2) 当 f(n)=1 × 2+2 × 3+3 × 4+...+n × (n+1) 时,求 y 的值。
解:(1)函数文件:function f=f(x)f=x+10*log(x^2+5);命令文件:clc;n1=input( 'n1=' );n2=input( 'n2=' );n3=input( 'n3=' );y1=f(n1);y2=f(n2);y3=f(n3);y=y1/(y2+y3)(2).函数文件function s= g(n)for i=1:ng(i)=i*(i+1);ends=sum(g);命令文件:clc;n1=input( 'n1=' );n2=input( 'n2=' );n3=input( 'n3=' );y1=g(n1);y2=g(n2);y=y1/(y2+y3)实验八数据办理与多项式计算2. 将 100 个学生 5 门功课的成绩存入矩阵 P 中,进行以下办理:(1) 分别求每门课的最高分、最低分及相应学生序号。
(2) 分别求每门课的平均分和标准方差。
(3) 5 门课总分的最高分、最低分及相应学生序号。
(4) 将 5 门课总分按从大到小序次存入 zcj 中,相应学生序号存入 xsxh 。
提示:上机调试时,为防范输入学生成绩的麻烦,可用取值范围在 [45,95] 之间的随机矩阵来表示学生成绩。
解:M 文件:clc;t=45+50*rand(100,5);P=fix(t); % 生成 100 个学生 5 门功课成绩[x,l]=max(P)%x 为每门课最高分行向量 ,l 为相应学生序号[y,k]=min(P)%y 为每门课最低分行向列 ,k 为相应学生序号mu=mean(P) %每门课的平均值行向量sig=std(P) %每门课的标准差行向量s=sum(P ,2) %5 门课总分的列向量[X,m]=max(s)%5 门课总分的最高分 X 与相应学生序号 m[Y,n]=min(s)%5 门课总分的最低分 Y 与相应学生序号 n[zcj,xsxh]=sort(s)%zcj 为 5 门课总分从大到小排序,相应学生序号 xsxh运行结果:3. 某气象察看得某日 6:00~18:00 之间每隔 2h 的室内外温度〔 0C 〕如实验表 1 所示。
实验表 1 室内外温度察看结果〔0C〕时间 h 6 8 10 12 14 16 18室内温度 t1 18.0室外温度 t2试用三次样条插值分别求出该日室内外 6:30~18:30 之间每隔 2h 各点的近似温度〔0C〕。
解:M 文件:clc;h=6:2:18;t1=[18.0 20.0 22.0 25.0 30.0 28.0 24.0];t2=[15.0 19.0 24.0 28.0 34.0 32.0 30.0];T1=interp1(h,t1,'spline')% 室内的 3 次样条插值温度T2=interp1(h,t2,'spline')% 室外的 3 次样条插值温度运行结果:4. lgx 在[1,101] 区间 10 个整数采样点的函数值如实验表 2 所示。
实验表 2 lgx 在 10 个采样点的函数值x 1 11 21 31 41 51 61 71 81 91101lgx 0试求 lgx 的 5 次拟合多项式 p(x) ,并绘制出 lgx 和 p(x) 在[1,101] 区间的函数曲线。
解:M 文件:x=1:10:101;y=lg10(x);P=polyfit(x,y,5)y1=polyval(P ,x);plot(x,y,':o',x,y1,'-*')5. 有 3 个多项式 P1(x)=x4+2x3+4x2+5 ,P2(x)=x+2 ,P3(x)=x2+2x+3 ,试进行以下操作:(1) 求 P(x)=P 1(x)+P 2(x)P 3(x)。
(2) 求 P(x) 的根。
(3) 当 x 取矩阵 A 的每一元素时,求 P(x) 的值。
其中:1A 20 5(4) 当以矩阵 A 为自变量时,求 P(x) 的值。
其中 A 的值与第 (3)题相同。
解:M 文件:clc;clear;p1=[1,2,4,0,5];p2=[1,2];p3=[1,2,3];p2=[0,0,0,p2];p3=[0,0,p3];p4=conv(p2,p3); %p4 是 p2 与 p3 的乘积后的多项式np4=length(p4);np1=length(p1);p=[zeros(1,np4-np1) p1]+p4 %求 p(x)=p1(x)+p2(x)x=roots(p) %求 p(x) 的根A=[-1 1.2 -1.4;0.75 2 3.5;0 5 2.5];y=polyval(p,A) %x 取矩阵 A 的每一元素时的 p(x) 值实验九数值微积分与方程数值求解1. 求函数在指定点的数值导数。
实验六高层绘图操作3.xy12x 0 2e2ln( x 1 x ) x 0在-5≤x≤5 区间绘制函数曲线。
解:M 文件:clc;x=-5:0.01:5;y=(x+sqrt(pi))/(exp(2)).*(x<=0)+0.5*log(x+sqrt(1+x.^2)).*(x>0); plot(x,y)2. 用数值方法求定积分。