实验一 MATLAB基础训练

合集下载

(完整版)MATLAB)课后实验[1]

(完整版)MATLAB)课后实验[1]

实验一 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。

MATLAB实验:运算基础,并且附有答案

MATLAB实验:运算基础,并且附有答案

实验二、MATLAB运算基础一、实验目的掌握MATLAB各种表达式的书写规则及常用函数的使用。

掌握MATLAB中字符串、元胞数组和结构的常用函数的使用。

二、实验内容及步骤1、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 1718 19 20;21 22 23 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 1311]1)求它们的乘积C >>C=A*B2)将矩阵C的右下角3x2子矩阵赋给D >>I=[3 4 5];J=[2 3];D=C(I,J)也可以用>>D=C([3 4 5],[2 3])D =520 397705 557890 7172、完成下列操作1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length函数。

)>> a=100:999;find(rem(a,61)==0)ans =23 84 145 206 267 328 389 450 511572 633 694 755 816 877>> b=a(ans)b =122 183 244 305 366 427 488 549 610 671 732 793 854 915 976>> length(b)ans =152)建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。

)a=’I am maying’;a( find(a>’A’&a<’Z’))=[]3、已知A=[23 10 -78 0;41 -45 65 5;32 5 0 32;6 -54 92 14],取出其前3行构成矩阵B,其前两列构成矩阵C,其左下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E<D、E&D、E|D、~E|~D。

实验一 MATLAB基础训练

实验一  MATLAB基础训练

实验一 MATLAB基础训练一、实验目的本次上机实验主要练习使用Matlab的基本操作和基础知识,包括数组(复数、向量、矩阵、结构体数组等)的创建和数组元素的操作和运算、矩阵的运算、Matlab的运算符(尤其是点运算‘.’)、脚本M文件和函数M文件的编写、Matlab文件的编程(基本的流程控制结构)、基本的二维和三维绘图方法以及图形的标注等。

希望通过本次实验使大家尽量在短时间内(4学时)掌握Matlab的基本操作和基础知识,为后面的实验项目奠定基础。

二、实验原理参见PPT中有关内容。

三、实验内容1. 上机练习课件中的例子。

2. 设两个复数a=1+2i, b=3-4i, 计算a+b, a-b, a*b, a/b, a和b的模。

3. 计算下式的结果,其中x=-3.5°, y=6.7°(提示:①应将角度单位由度转换为数学函数所能处理的弧度值;②求根函数sqrt,取绝对值函数abs,具体用法用help查询)4. 对矩阵123456789A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦, 实现下列操作:(1) 左右翻转(fliplr命令)(2) 上下翻转(flipud命令)(3) 利用cat命令分别将A扩展成3×6和6×3的矩阵(3) 分别提取A的第2行,第2列,对角线元素(4) 删除A的第2行2列的元素(提示:将矩阵元素赋空阵[]可以删除元素,注意此时元素的访问只能使用单下标的方式。

观察删除元素后,A中元素的排列方式的变化)5. 创建[0,2π]区间上拥有100个等间隔元素的列向量...x.(Matlab默认是行向量),并绘制y=sin(x1/3)的函数图像。

6. 创建如下图所示的单结构体数组。

7. 编程训练:下图所示电路中,R 1=2Ω, R 2=4Ω, R 3=12Ω, R 4=4Ω, R 5=12Ω, R 6=4Ω, R 7=2Ω, u s =10V, 求i 3。

(要求:以脚本M 文件方式建立程序。

实验一MATLAB软件入门

实验一MATLAB软件入门

实验一:MATLAB 软件入门一、 实验目的及意义[1] 熟悉MATLAB 软件的用户环境;[2] 了解MATLAB 软件的一般目的命令;[3] 掌握MATLAB 数组操作与运算函数;[4] 掌握MATLAB 软件的基本绘图命令;[5] 掌握MATLAB 语言的几种循环、条件和开关选择结构。

通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。

二、实验内容1.MATLAB 软件的数组操作及运算练习;2.直接使用MATLAB 软件进行作图练习;3.用MATLAB 语言编写命令M-文件和函数M-文件。

三、实验步骤1. 在E 盘建立一个自己的文件夹;2.开启软件平台——MATLAB ,将你建立的文件夹加入到MATLAB 的搜索路径中。

3.利用帮助了解函数max, min, sum, mean, sort, length ,rand, size 和diag 的功能和用法。

4.开启MATLAB 编辑窗口,键入你编写的M 文件(命令文件或函数文件);5.保存文件(注意将文件存入你自己的文件夹)并运行;6.若出现错误,修改、运行直到输出正确结果;7.写出实验报告,并浅谈学习心得体会。

四、实验任务基础实验1.设有分块矩阵⎥⎦⎤⎢⎣⎡=⨯⨯⨯⨯22322333S O R E A ,其中E,R,O,S 分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证⎥⎦⎤⎢⎣⎡+=22S 0RS R E A 。

2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如表1.1,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该10种商品的总收入和总利润。

表1.1单件进价 7.15 8.25 3.20 10.30 6.68 12.03 16.85 17.51 9.30 单件售价11.10 15.00 6.00 16.25 9.90 18.25 20.80 24.15 15.50 销量 568 1205 753 580 395 2104 1538 810 6943.在同一个坐标下作出y 1=e x ,y 2=1+x,y 3=1+x+(1/2)x 2,y 4= 1+x+(1/2)x 2+(1/6)x 3这四条曲线的图形,要求在图上加各种标注,观察、发现、联想、猜想,给出验证及理论证明。

实验报告(一)MATLAB 基础操作

实验报告(一)MATLAB 基础操作
>> whos
Name Size Bytes Class Attributes
a 1x1 8 double
ans 1x1 1 logical
b 1x1 2 char
c 1x1 1 logical
8、题目:执行如下指令,观察其运算结果、变量类型和字节数,理解其意义。
Clear;fun='abs(x)',x=-2,eval(fun),double(fun)
对实验题目的解答:
(1)执行如下指令:
>> x=-2:0.05:2;y=x.^4-2.^x;[y01,x01]=min(abs(y))
y01 =
0.0328
x01 =
24
>> x(x01)
ans =
-0.8500
>> y1=y; y1(x01)=max(abs(y));[y02,x02]=min(abs(y1))
prod([1 2;3 4])
对实验题目的解答:
>> prod([1 2;3 4])
ans =
3 8
改进或思考:prod表示将二维数组的列相乘
3、题目:执行如下指令,观察其运算结果,理解其意义。
[a,b]=min([10 20;30 40])
对实验题目的解答:
>> [a,b]=min([10 20;30 40])
对实验题目的解答:
(1)执行指令:
>> clear;fun='abs(x)',x=-2,eval(fun),double(fun)
fun =
abs(x)
x =
-2
ans =
2

实验一 MATLAB 入门

实验一  MATLAB 入门

1、P20,第一题(11), (12). 说明结果意义。

(11)find([10 20;30 40]>=[40,30;20 10])>> find([10 20;30 40]>=[40,30;20 10])ans =24(12)[a,b]=find([10 20;30 40]>=[40,30;20 10])>> [a,b]=find([10 20;30 40]>=[40,30;20 10])a =22b =122、进行如下操作,将矩阵A2×3 、B2×2 拼接成矩阵C2×5 ,提取C的第一、三、四列得到矩阵D,删除C的第三、四列元素得到矩阵E解:>> clear;A=[1,2,3;4,5,6]B=[7,8;9,10]A =1 2 34 5 6B =7 89 10>> C=[A B]C =1 2 3 7 84 5 6 9 10>> D=C(:,[1 3 4])D =1 3 74 6 9>> C(:,3:4)=[]C =1 2 84 5 10>> E=CE =1 2 84 5 103、建立一个4×5矩阵, 求其最大值及其所处的位置.(help)>> clear;A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20]N=max(max(A))[r,c]=find(N==A)A =1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 20N =20r =4c =54、P20, 第五题。

(1)用z=magic(10)得到10阶魔方矩阵:(2)求z的各列元素的和;(3)求z的对角线元素之和(提示:先用diag(z)提取z的对角线);(4)将z的第二列除以3;(5)将z的第3行元素加到第8 行.解:(1)>> z=magic(10)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6679 6 13 95 97 29 31 38 45 7210 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59 (2)>> sum(z)ans =505 505 505 505 505 505 505 505 505 505 (3)>> sum(diag(z))ans =505(4)>> sqrt(3)\z(:,2)ans =57.157746.188046.765450.229553.693613.85642.88683.46416.928210.3923(5)>> z(3,:)+z(8,:)ans =83 87 101 115 119 83 87 101 115 119 5、建立字符串向量‘ABc123d4e56Fg9’ ,然后对该向量做如下处理(1) 取第1~5个字符组成的子字符串。

实验一MATLAB操作基础实验报告

实验一MATLAB操作基础实验报告

闽 江 学 院 电 子 系 实 验 报 告学生姓名:班级:学 号:课程:MATLAB 程序设计一、 实验题目:MATLAB 操作基础 二、 实验地点:实验楼A210 实验目的:1、熟悉MATLAB 的操作环境及基本操作方法。

2、掌握MATLAB 的搜索路径及其设置方法。

3、熟悉MATLAB 帮助信息的查阅方法。

三、 实验内容:1、先建立自己的工作目录,再将自己的工作目录设置到MATLAB 搜索路径下,再试验用help 命令能否查询到自己的工作目录。

2、在MATLAB 环境下验证例1-1至1-4,并完成以下题目: (1)绘制右图所示图形 (2)求383、利用MATLAB 的帮助功能分别查询inv ,plot 、max 、round 等函数的功能及用法。

4、在工作空间建立一个变量a ,同时在当前目录下建立一个M 文件:a.m ,试在命令窗口输入a ,观察结果,并解释原因。

四、 实验环境(使用的软硬件): MATLAB 7.0 五、 实验结果:实验程序: (1)求38。

程序: x=8;plot(x, x^(1/3));0.10.20.30.40.50.60.70.80.91-1-0.8-0.6-0.4-0.200.20.40.60.81得到的结果: ans= 2(2)绘制图像 程序:x=[0:0.001:1];plot(x, sin(2*pi*x),x, 2*x-1,x,0); 得到结果如下图:(3)查询plot 、inv 、round 、max 等函数的功能及用法 分别输入:输入:help plot 得到:PLOT Linear plot.PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, length(Y) disconnected points are plotted.PLOT(Y) plots the columns of Y versus their index.If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)). In all other uses of PLOT, the imaginary part is ignored.Various line types, plot symbols and colors may be obtained with0.10.20.30.40.50.60.70.80.91-1-0.8-0.6-0.4-0.200.20.40.60.81PLOT(X,Y,S) where S is a character string made from one elementfrom any or all the following 3 columns:b blue . point - solidg green o circle : dottedr red x x-mark -. dashdot c cyan + plus -- dashed m magenta * stary yellow s squarek black d diamondv triangle (down)^ triangle (up)< triangle (left)> triangle (right)p pentagramh hexagramFor example, PLOT(X,Y,'c+:') plots a cyan dotted line with a plus at each data point; PLOT(X,Y,'bd') plots blue diamond at each data point but does not draw any line.PLOT(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...) combines the plots defined by the (X,Y,S) triples, where the X's and Y's are vectors or matrices and the S's are strings.For example, PLOT(X,Y,'y-',X,Y,'go') plots the data twice, with a solid yellow line interpolating green circles at the data points.The PLOT command, if no color is specified, makes automatic use of the colors specified by the axes ColorOrder property. The default ColorOrder is listed in the table above for color systems where the default is blue for one line, and for multiple lines, to cyclethrough the first six colors in the table. For monochrome systems, PLOT cycles over the axes LineStyleOrder property.PLOT returns a column vector of handles to LINE objects, onehandle per line.The X,Y pairs, or X,Y,S triples, can be followed byparameteralue pairs to specify additional propertiesof the lines.输入:help inv得到:INV Matrix inverse.INV(X) is the inverse of the square matrix X.A warning message is printed if X is badly scaled ornearly singular.输入:help round得到:ROUND Round towards nearest integer.ROUND(X) rounds the elements of X to the nearest integers.输入:help max得到:MAX Largest component.For vectors, MAX(X) is the largest element in X. For matrices,MAX(X) is a row vector containing the maximum element from eachcolumn. For N-D arrays, MAX(X) operates along the firstnon-singleton dimension.[Y,I] = MAX(X) returns the indices of the maximum values in vector I. If the values along the first non-singleton dimension contain morethan one maximal element, the index of the first one is returned.MAX(X,Y) returns an array the same size as X and Y with thelargest elements taken from X or Y. Either one can be a scalar.[Y,I] = MAX(X,[],DIM) operates along the dimension DIM.When complex, the magnitude MAX(ABS(X)) is used, and the angleANGLE(X) is ignored. NaN's are ignored when computing the maximum.Example: If X = [2 8 4 then max(X,[],1) is [7 8 9],7 3 9]max(X,[],2) is [8 and max(X,5) is [5 8 59], 7 5 9].inv 求矩阵的逆plot 画图max 求最大值round 向0取整六、思考练习:1、help命令和look for命令有什么区别?lookfor 关键词在所有M文件中找“关键词”,比如:lookfor inv(即寻找关键词“inv”)其实就和我们平时用CTRL+F来查找“关键词”是一样的而help是显示matlab内置的帮助信息用法:help 命令,比如 help inv ,作用就是调用inv这个命令的帮助2、什么是工作空间?假定有变量A与B存在于工作空间中,如何用命令保存这两个变量?下次重新进入MATLAB后,又如何装载这两个变量?①工作空间:工作空间是由系统所提供的特殊变量和用户自己使用过程生成的所有变量组成的一个概念上的空间;②保存变量:保存当前工作空间,比如要保存的路径为f:\matlab\work\matlab.mat,输入命令:save f:\matlab\work\matlab.mat ;③载入变量:输入命令:load f:\matlab\work\matlab.mat 。

matlab基础实验

matlab基础实验

实验一 MATLAB基础知识一、实验目的1.熟练掌握Matlab的启动与退出;2. 熟悉Matalb的命令窗口,常用命令和帮助系统;3. 熟悉Matalb的数据类型;4. 熟悉Matlab的基本矩阵操作,运算符和字符串处理二、实验设备1.方正电脑2.MATLAB软件三、实验内容1. 已知矩阵A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0]写出完成下列操作的命令:(1) 将矩阵A的第2-5行中第1,3,5列元素赋给矩阵B;(2) 删除矩阵A的第7号元素;(3) 将矩阵A的每个元素加上30;(4) 求矩阵A的大小和维数;(5) 将矩阵A的右下角3*2矩阵构成矩阵C;(6) 输出[-5,5]范围内的所有元素;程序:A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0]%(1)B=A(2:5,[1 3 5])%(2)A2=A;A2(7)=[]%(3)A3=A+30%(4)length(A)size(A)%(5)C=A(end-2:end,end-1:end)%(6)A6=A.*(A>=-5 & A<=5)结果:A =3 4 -1 1 -9 106 5 07 4 -161 -4 7 -1 6 -82 -4 5 -6 12 -8-3 6 -7 8 -1 18 -4 9 1 3 0B =6 0 41 7 62 5 12-3 -7 -1A2 =Columns 1 through 73 6 1 2 -3 8 5 Columns 8 through 14-4 -4 6 -4 -1 0 7 Columns 15 through 215 -7 9 1 7 -1 -6 Columns 22 through 288 1 -9 4 6 12 -1 Columns 29 through 353 10 -16 -8 -8 1 0 A3 =33 34 29 31 21 4036 35 30 37 34 1431 26 37 29 36 2232 26 35 24 42 22 27 36 23 38 29 31 38 26 39 31 33 30ans =6ans =6 6C =12 -8-1 13 0A6 =3 4 -1 1 0 00 5 0 0 4 01 -4 0 -1 0 02 -4 5 0 0 0 -3 0 0 0 -1 1 0 -4 0 1 3 02.设x=-74o,y=27 o,22的值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 MATLAB基础训练
一、实验目的
本次上机实验主要练习使用Matlab的基本操作和基础知识,包括数组(复数、向量、矩阵、结构体数组等)的创建和数组元素的操作和运算、矩阵的运算、Matlab的运算符(尤其是点运算‘.’)、脚本M文件和函数M文件的编写、Matlab文件的编程(基本的流程控制结构)、基本的二维和三维绘图方法以及图形的标注等。

希望通过本次实验使大家尽量在短时间内(4学时)掌握Matlab的基本操作和基础知识,为后面的实验项目奠定基础。

二、实验原理
参见PPT中有关内容。

三、实验内容
1. 上机练习课件中的例子。

2. 设两个复数a=1+2i, b=3-4i, 计算a+b, a-b, a*b, a/b, a和b的模。

3. 计算下式的结果,其中x=-3.5°, y=6.7°
(提示:①应将角度单位由度转换为数学函数所能处理的弧度值;②求根函数sqrt,取绝对值函数abs,具体用法用help查询)
4. 对矩阵
123
456
789
A
⎡⎤
⎢⎥
=⎢⎥
⎢⎥
⎣⎦
, 实现下列操作:
(1) 左右翻转(fliplr命令)
(2) 上下翻转(flipud命令)
(3) 利用cat命令分别将A扩展成3×6和6×3的矩阵
(3) 分别提取A的第2行,第2列,对角线元素
(4) 删除A的第2行2列的元素
(提示:将矩阵元素赋空阵[]可以删除元素,注意此时元素的访问只能使用单下标的方式。

观察删除元素后,A中元素的排列方式的变化)
5. 创建[0,2π]区间上拥有100个等间隔元素的列向量
...x.(Matlab默认是行向量),并绘制
y=sin(x1/3)的函数图像。

6. 创建如下图所示的单结构体数组。

7. 编程训练:下图所示电路中,R 1=2Ω, R 2=4Ω, R 3=12Ω, R 4=4Ω, R 5=12Ω, R 6=4Ω, R 7=2Ω, u s =10V, 求i 3。

(要求:以脚本M 文件方式建立程序。

此项练习M 脚本文件的建立以及使用Matlab 解线性方程组。


(提示:先建立电路方程如下
1233334555567()()0()0++-=⎧⎪-+++-=⎨⎪-+++=⎩a a b s b c b c
R R R i R i u R i R R R i R i R i R R R i
该线性方程组等价于矩阵形式:
AX B =
其中,A 是包含R 1~R 7的系数矩阵, B =(u s , 0, 0)T 是常数矩阵, X =(i a , i b , i c )T =A -1B=A \B 为解向量。

因此使用矩阵除法(注意区别左除和右除)可以迅速解出i a , i b , i c 。

最后i 3= i a -i b =0.3704。


8. 编程训练:已知某电路的电流i (t )的表达式为
101()0.88-==∑n t n i t nte
画出[-π, π]区间上的电流波形。

(要求:① 以脚本M 文件方式建立程序;② 用12号字体给图形加上标注‘t ’和‘i(t)’,红色曲线+圆形标记‘o ’,如下图所示。

此项练习二维绘图方法、图形的标注和循环控制结构)
9. 编程训练:已知y x ,的取值范围是[,]a b ,若a =﹣8, b =8,
画出z =所表
示的三维曲面。

(要求:① 以脚本M 文件方式建立程序;② 使用surf 和mesh 函数分别绘出曲面图和网格图,参考图形如下。

此项练习三维绘图方法)
10. 以函数M 文件的方式重做第9个项目,其中函数的输入参数为a 和b 。

(此项练习M 函数文件的建立)
11. 建立如下图所示的用户界面菜单。

要求:(A)把用户菜单 'Option' 设置为顶层的第3菜单项;(B)下拉菜单被两条分隔线分为三个菜单区;(C)最下菜单项又有两个子菜单组成。

(此项练习用户菜单的建立,写出M 文件)
四、实验要求
以上训练项目要求在4个实验学时内完成,并提交项目7-11的程序。

五、思考题
1. 举例说明如何创建三维数组?
2. 第9个训练项目中,函数z的表达式中,分子可能被0除,导致绘图数据点中出现非数NaN,绘出的图形不正确。

如何解决这一问题?
3. 如何将第9个项目中的两幅图放在同一个图形窗口中显示?(提示:使用subplot命令将图形窗口分割成1×2的子窗口。

subplot(m,n,i)将图形窗口分割成m×n的子窗口,并指定第i个子窗口为图形的绘制区域)
4. surf函数绘出的三维图一般有黑色格线,如何消掉黑色格线?以第9个项目为例说明。

相关文档
最新文档