大连东软信息学院Matlab实验报告-第一次作业
MATLAB第一次实验报告

MATLAB第一次实验报告1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。
并以x,y为坐标显示图像x(n+1) = a*x(n)-b*(y(n)-x(n)^2);y(n+1) = b*x(n)+a*(y(n)-x(n)^2)程序:function [y1,y2]=draw(a,b,c,x1,y1)x=[];y=[];x(1)=x1;y(1)=y1;n=c;for i=1:nx(i+1)=a*x(i)-b*(y(i)-x(i)^2);y(i+1)=b*x(i)+a*(y(i)-x(i)^2);endy1=x;y2=y;plot(y1,y2)输入:draw(5,1,1,1,2)2. 编程实现奥运5环图,允许用户输入环的直径。
程序:clcclearr=input('input a mnmber:')color1=['b','k','r'];color2=['y','g'];t=linspace(0,2*pi);a1=r+0.2*r;a2=3*r+0.4*r;a3=5*r+0.6*r;a=[a1,a2,a3];b1=2*r+0.3*r;b2=4*r+0.5*r;b=[b1,b2];for i=1:3x=r*cos(t)+a(i);y=r*sin(t);plot(x,y,color1(i),'linewidth',5) axis([0,7*r,-2*r,1.5*r]);hold onaxis equalendfor n=1:2x=r*cos(t)+b(n);y=r*sin(t)-r;plot(x,y,color2(n),'linewidth',5) hold onendaxis off输入:6(圆的半径)3. 实现对输入任意长度向量元素的冒泡排序的升序排列。
不允许使用sort函数。
matlab大作业实验报告,《Matlab程序设计》期末实验报告-大作业2015.doc

matlab⼤作业实验报告,《Matlab程序设计》期末实验报告-⼤作业2015.doc《MATLAB程序设计》实验报告学院: 学号: 姓名:⼀、题⽬:1、(10分)已知矩阵,⽤Matlab代码实现以下要求:(1)将矩阵赋给变量A,并在屏幕上显⽰A;(2)将A按列进列逆序重排,重排后的矩阵赋给变量B,并在屏幕上显⽰B;(3)⽤reshape命令将A重排为⼀个2⾏6列矩阵并赋给变量C;(4)将A重排为⼀个列向量,将其赋给变量D,求D的平均值,在屏幕上显⽰D和它的平均值;(5)⽤命令查看变量A的维数,并显⽰运⾏结果。
2、(10分)写代码实现以下要求:构造菜单项‘Plot’,菜单项Plot有两个⼦菜单项Plot sin(选择此项后执⾏画出曲线,线型为虚线,线条颜⾊为红⾊)和Plot cos(选择此项后执⾏画出曲线 ,线型为实线,线条宽度为2)。
3、(20分)已知,实现下列操作:(1)在同⼀个图形窗⼝,同⼀坐标系下⽤不同的颜⾊和线型绘制三条曲线,并添加图例来区分三条曲线(5分)。
(2)⽤subplot命令,以⼦图的⽅式绘制三条曲线,图形排列⽅式为三⾏⼀列(5分)。
(3) 分别⽤直⽅图(bar)、棒状图(stem)和填充图(fill)绘制三条曲线,以⼦图⽅式绘制,排列⽅式为3⾏3列,共9幅⼦图(10分)。
4、(10分)⽤surf命令绘制曲⾯图形,⽤shading interp命令进⾏插值着⾊处理并添加垂直颜⾊棒。
5、(15分)⾃2011年9⽉1⽇起,我国实⾏新的个⼈所得税征收办法,起征点为3500元,请⽤If-else if-else-end结构实现⼈⼯输⼊⽉收⼊后能计算出个⼈所得税的缴纳额并显⽰⽉收⼊10000元时应缴纳的税款。
级数应纳税所得额x(元)税率备注1x<=15003%x指⽉收⼊扣除起征点3500元之后的余额;215008000045%同上6. (10分)⽤while-end循环结构计算级数和的值,输⼊n值,能计算出f的值,并显⽰结果。
第一次MatlAB实验报告

实验一 数学模型的MatlAB 描述一、MatlAB 中数学模型的表示MatlAB 中数学模型的表示主要有三种基本形式:传递函数分子/分母多项式模型、传递函数零极点增益模型和状态空间模型。
它们各有特点,有时需在各种模型之间进行转换。
1. 传递函数分子/分母多项式模型当传递函数为nn n nm m m m a s a sa s ab s b sb sb s G ++++++++=----11101110)(时,在MatlAB 中,直接用分子、分母的系数表示,即],,,[10m b b b num = ],,,[10n a a a d e n = ),()(d e n num tf s G =例1:已知一系统的传递函数2432328()3842ss G s s s s s ++=++++,提取其分子和分母多项式,并绘制零极点图*。
>> num=[3 2 8]; den=[1 3 8 4 2]; G=tf(num,den) [tt,ff]=tfdata(G ,'v') pzmap(G)grid on 结果如下:2. 传递函数的零极点增益模型当传递函数为)())(()())(()(1010n m p s p s p s z s z s z s Ks G ------=时,在MatlAB 中,用[z,p,k]矢量组表示,即[][][]),,()(,,,,,1010k p z zpk s G K k p p p p z z z z n m ====例2:求一传递函数222328()(61)(24)s s G s s s s s ++=++++的零极点及其增益,并绘制零极点图。
>> num=[3 2 8];den=conv([1 6 12],[1 2 4]); G=tf(num,den) GG=zpk(G)[z,p,k]=zpkdata(G ,'v') pzmap(G) grid结果如下:3.状态空间模型当系统的数学模型为状态空间表达式{BuAXX+='+=DuCXY时,在MatlAB中,用[A、B、C、D]矩阵组表示,即系统表示为()DCBAss、、、实验3:已知两系统串联,其中2132265452s sGs s s++=+++,222712432s sGs s++=++,求此串联系统的总的传递函数。
Matlab实验报告

实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。
所以用Maltab 软件很方便地画出规则的直线,方便研究。
实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。
MATLAB实验报告

MATLAB实验报告MATLAB实验报告姓名:专业:学号:实验⼀MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。
2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。
MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2MATLAB算术运算符表3MATLAB关系运算符表4MATLAB逻辑运算符表5MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8标准数组⽣成函数表9数组操作函数三、实验内容1、学习安装MATLAB软件。
2、学习使⽤help命令,例如在命令窗⼝输⼊helpeye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察commandwindow、commandhistory和workspace等窗⼝的变化结果。
4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。
注意:每⼀次M-file的修改后,都要存盘。
四、实验结果练习A:(1)helprand,然后随机⽣成⼀个2×6的数组,观察commandwindow、commandhistory和workspace等窗⼝的变化结果。
matlab实验报告(实验1)

开课学院及实验室:机电学院 2012年11 月16日
(2)在E盘新建一个文件夹并把其加入搜索路径。
截屏相关过程结果并保存。
(3)逐步按照以下步骤进行并记录各个步骤的结果:
1)在指令窗中输入clear指令;
5)再次在指令窗中输入clear指令后,输入
8)把cow.m暂时移动到另一个无关的文件夹,如“我的文档”。
(2)保存全部变量为数据文件Mydata.mat;在对应文件夹中找到该文件,截屏后保存结果;
(4)删除全部内存变量;
Editor/Debugger和脚本编写初步
把以下指令编写为M脚本文件,并运行:
t=0:pi/50:4*pi;
y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid
什么?此方法也是查询函数注释的有效方法,请牢记。
实验一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一段时间,通过本次上机实验初次体验,体会到Mathematica语法规则简单,操作使用方便,和其他语言交互,编程灵活方便,功能十分强大。
Mathematica和Matlab都可以实现某个方案,不同之处在于对不同的问题,处理的方法繁琐程度不一样。
软件掌握多少都不算多,类似的软件还有MathCAD、Maple等,关键在处理具体问题的时候那种软件更适合,或者那种软件处理问题普遍性强,而Mathematica和Matlab分别代表了符号计算和数据处理(或者数值计算)的两个方面普遍适用的软件。
个人感觉Mathematica符号计算强,便于公式推导和函数式制图。
Mathematica界面的窗口和菜单栏是分离式的,便于边计算边对照查看文档,其公式可以复制为公式格式,可直接粘贴于Word等文本中,也便于以公式的形式输入,但该功能在大量符号计算中可能作用不大,编写代码的执行效率肯定比手动输入公式要高的多。
输入和输出都是在同一个界面,便于查看每条代码的结果。
函数使用方式丰富,调用函数可以编写专门的文件,也可直接在输入界面中调用。
可把想到的代码都写成函数的形式,包括各种形式的代码,便于调用。
将所有的算法最终转化为表达式,以函数的形式体现。
例如绘图将表达式的变量范围指定即可,便于函数制图。
Matlab很强大,处理什么都比较得心应手,是款很好的数学式编程工具与计算工具,修改编辑很方便,但体积比较大。
Mathematica 个人感觉侧重于图像处理,尤其那些多边形,多维空间制图,曲面等很实用,而且软件体积比较少,运行速度快,是款和MATLAB 相辅相成的好工具。
通过以上,我自认为较好的解决方案是数据处理用Matlab ,然后将数据导入Mathematica 可视化处理。
符号计算就是Mathematica 了。
以后还需多进行实验,体会Mathematica 的功能。
二、指令运行关于Mathematica 绘图的基本功能以不同输出格式画曲面2||,2||,)(22≤≤=+-y x e z y x Plot3D[Exp[-(x^2+y^2)],{x,-2,2},{y,-2,2}]螺旋线:x=sint,y=cost,z=t/3的图形ParametricPlot3D[{Sin[t],Cos[t],t/8},{t,0,15},Axes →False]圆环面x=cost(3+cosu),y=sint(3+cosu),z=sinu,u≤t≤2π,0≤u≤2π的图形ParametricPlot3D[{Cos[t](3+Cos[u]),Sin[t](3+Cos[u]),Sin[u]},{t,0,2Pi},{u,0, 2Pi},Axes False]三、问题求解(Help)。
MATLAB实验作业一

MATLAB的基本操作(一)实验内容及步骤1.进入MATLAB工作环境,熟悉各窗口的功能。
(1)双击桌面图标,或从“开始”菜单打开MATLAB.exe,启动MATLAB。
(2)查看MATLAB界面各窗口的布局、了解其功能,并完成各窗口之间的切换。
(3)设置当前工作目录。
在D盘创建mymatlab目录,并将其作为当前工作目录。
今后的实验过程中以此目录作为当前工作目录。
2.计算5.542+cos(35π)√17.89÷3.5−e2的值。
(1)在命令窗口(Command Window)中输入程序:a=5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)(2)按回车键运行,如果出现“Error”(出错信息),则应找出原因并改正,再运行。
(3)运行结果22.9291过程: >> a=5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)a =22.9291>>3.输入矩阵A=[428256319], B=[111222333], 在命令窗口中执行下列表达式,掌握其含义:A(2,3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A(1)在命令窗口键入A=[4 2 8;2 5 6;3 1 9] ,生成矩阵A;键入B=[1 1 1;2 22;3 3 3] ,生成矩阵B。
>>A=[4 2 8;2 5 6;3 1 9] A =4 2 82 5 63 1 9>> B=[1 1 1;2 2 2;3 3 3]B =1 1 12 2 23 3 3>> A(2,3)ans =6>> A(6)ans =1>> A(:,2)ans =251>> A(3,:)ans =3 1 9>> A(:,1:2:3)4 82 63 9>> A(:,3).*B(:,2)ans =81227>> A(:,3)*B(2,:)ans =16 16 16 12 12 12 18 18 18>> A*Bans =32 32 32 30 30 30 32 32 32>> A.*Bans =4 2 8 4 10 12 9 3 27>> A^2ans =44 26 116 36 35 10041 20 111>> A.^2ans =16 4 644 25 369 1 81>> B/Aans =0.5000 0.0769 -0.38461.0000 0.1538 -0.76921.5000 0.2308 -1.1538>> B./Aans =0.2500 0.5000 0.12501.0000 0.4000 0.33331.0 3.0000 0.3333>> B.\Aans =4.0000 2.0000 8.00001.00002.50003.00001.0000 0.3333 3.0000>>4. 产生一个5阶魔方矩阵,将矩阵的第3行4列元素赋值给变量a;将由矩阵第2,3,4行第2,5列构成的子矩阵赋值给变量b。
MATLAB实验报告

MATLAB实验报告⼀.试验时间:2013/10/15 ⼆.实验地点:⼤楼五楼8号机房三.实验名称:MATLAB 数值计算四.实验⽬的:1.掌握MATLAB 数据对象的特点以及数值的运算规则。
2.掌握MATLAB 中建⽴矩阵的⽅法以及矩阵处理和分析的⽅法。
3.掌握MATLAB 中常量与变量的使⽤及各种表达式的书写规则。
4.熟悉MATLAB 常⽤函数的使⽤以及多项式的运⽤。
⼆.实验内容1. 求下列表达式的值。
(1)z1=2185sin 2e +结果:>> z1=2*sin((85/360)*pi)/(1+eps*eps) z1 =1.3512(2)z2=),x 1(ln 21++x ?-+=5,45.0t *21,2x结果:>> x=[2 1+2*i;-0.45 5] x =2.0000 1.0000 + 2.0000i -0.4500 5.0000 >> z2=1/2*log(x+sqrt(1+x)) z2 =0.6585 0.6509 + 0.4013i -0.6162 1.0041 (3)z3=22.0^3.0^e a e a -×sin(a+0.3)+ln(23.0a +),a=-3.0,-2.9,-2.8,…2.8,2.9,3.0结果:>> a=-3:0.1:3;>> z3=(eps(a*0.3)-eps(a*0.2))/2.0.*sin(a+0.3)+log((a+0.3)/2.0) z3 =Columns 1 through 50.3001 + 3.1416i 0.2624 + 3.1416i 0.2231 + 3.1416i 0.1823 + 3.1416i 0.1398 + 3.1416i0.0953 + 3.1416i 0.0488 + 3.1416i -0.0000 + 3.1416i -0.0513 + 3.1416i -0.1054 + 3.1416i Columns 11 through 15-0.5108 + 3.1416i -0.5978 + 3.1416i -0.6931 + 3.1416i -0.7985 + 3.1416i -0.9163 + 3.1416i Columns 21 through 25-1.0498 + 3.1416i -1.2040 + 3.1416i -1.3863 + 3.1416i -1.6094 + 3.1416i -1.8971 + 3.1416i Columns 26 through 30-2.3026 + 3.1416i -2.9957 + 3.1416i -37.0245 -2.9957 -2.3026 Columns 31 through 35-1.8971 -1.6094 -1.3863 -1.2040 -1.0498Columns 36 through 40-0.9163 -0.7985 -0.6931 -0.5978 -0.5108Columns 41 through 45-0.4308 -0.3567 -0.2877 -0.2231 -0.1625Columns 46 through 50-0.1054 -0.0513 0.0000 0.0488 0.0953Columns 51 through 550.1398 0.1823 0.2231 0.2624 0.3001Columns 56 through 600.3365 0.3716 0.4055 0.4383 0.4700Column 610.50082.创建⼀个由10个元素组成的等差数列x,第⼀个元素是1,第10个元素是20.(1)计算其元素个数;(2)取出其中第⼆个元素赋值给y.(3)将数组X的前3个元素分别赋值为4,5,6.(4)将数组X的前5个元素倒序后构成⼀个字数组赋值给Z。
(完整word)Matlab实验报告

实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境.2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format 命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x);(2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1—x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x);(3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x—4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x—3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2)y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(—x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x—1)/(x—2); 求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
matlab实习报告[1]
![matlab实习报告[1]](https://img.taocdn.com/s3/m/af88f10979563c1ec5da7133.png)
Matlab上机实习报告学院电子信息学院班级信息105学号20100012457941姓名张三2011年6月28日前段时间我们进行了Matlab上机实习。
实习了有五天,共做了四个部分。
分别是:一,Matlab基本操作;二,数值数组及其运算;三,Matlab图形绘制基础。
四,句柄图形和图形用户界面制作下面分别介绍个部分实习内容。
实习内容一Matlab基本操作1,实习目的:·掌握Matlab的启动和退出;·熟悉Matlab的命令窗口;·熟悉其他常用窗口和工具栏;2,实习内容与步骤:在指令窗中输入下面一段程序,功能是::画出衰减振荡曲线y=(e-t/3)sin3t及其他的包络线y0=(e-t/3)。
T的取值范围是。
t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,’-r’,t,y0,’:b’,t,-y0,’:b’)观察输出结果3,通过下拉菜单File:Preferences改变设置指令窗中的字体、颜色等。
如:数据显示格式的设置:Format short 小数点后四位(缺省情况),如显示p为3.1416。
Format long 小数点后十四位,如显示p为3.14159265358979。
Formant bank 小数点后两位,如显示p为3.14。
Format short e 小数点后四位科学记数法,如显示p为3.1416e+000。
Format long e 小数点后十四五位科学记数法,如显示p为3.141592653589793e+000。
在指令窗中键入y1=2*sin(0.3*pi)/(1+sqrt(5))然后利用回调指令计算y2=2*y1*cos(0.3*pi)/(1+sqrt(5))y1 =0.5000y2 =0.18164,了解软件中的一些功能和命令。
包括熟悉历史指令窗(Command History)、熟悉当前目录浏览器(Current Diretory)、熟悉工作空间浏览器(Workspace Browser),以及一些指令如: clear 清除当前工作区中的所有变量clc 清除指令窗中内容(未清除当前工作区中的变量)clf 清除图形窗口cd 设置当前工作目录exit,quit 退出Matlab实习内容二数值数组及其运算1,实习目的·掌握一维数组的创建和寻访;·掌握二维数组的创建和寻访;·掌握的Matlab矩阵和数组的运算;·熟悉Matlab关系操作和逻辑操作;2,实习内容和步骤(1)常量与变量变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。
matlab入门实验报告

matlab入门实验报告Matlab入门实验报告引言Matlab是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。
本实验报告旨在介绍Matlab的基本使用方法和一些常见的实验应用案例,帮助读者快速入门并掌握该软件的基本功能。
一、Matlab的安装与配置在开始使用Matlab之前,首先需要进行软件的安装和配置。
根据操作系统的不同,Matlab的安装过程可能会有所差异。
一般来说,只需要按照安装向导的指示进行操作即可完成安装。
在安装完成后,还需要进行一些基本配置,如设置工作目录、添加路径等,以便于后续的实验操作。
二、Matlab的基本语法和数据类型Matlab的基本语法与其他编程语言相似,主要由变量、函数和控制语句组成。
在Matlab中,变量的命名是不区分大小写的,可以包含字母、数字和下划线,但不能以数字开头。
Matlab支持多种数据类型,包括数值型、字符型、逻辑型等。
数值型数据在Matlab中的表示形式有整数、浮点数和复数。
Matlab提供了丰富的数学函数和运算符,可以进行各种数值计算和运算。
同时,Matlab还支持矩阵和向量的运算,这是其在科学计算和数据分析中的重要应用之一。
字符型数据主要用于表示文本信息。
在Matlab中,可以使用单引号或双引号来定义字符串,还可以通过字符串函数来处理和操作字符串。
逻辑型数据主要用于表示真值,即真或假。
在Matlab中,逻辑型数据可以通过逻辑运算符进行比较和判断。
三、Matlab的图形绘制和数据可视化Matlab提供了强大的绘图功能,可以用于绘制各种类型的图形,如曲线图、散点图、柱状图等。
通过Matlab的图形绘制函数,可以将数据可视化,更直观地展示数据的特征和规律。
同时,Matlab还支持对图形的自定义设置,如坐标轴范围、标签、标题等。
除了基本的二维图形绘制外,Matlab还支持三维图形绘制和动画效果展示。
通过Matlab的三维绘图函数,可以绘制三维曲面图、等高线图等。
MATLAB基础学习实验报告

MATLAB实验报告题目:第一次实验报告学生姓名:学院:专业班级:学号:年月MATLAB第一次实验报告————入门第一次上机实验刘老师就MATLAB软件进行了大致的讲解,并讲了如何建立M文件,定义函数数组矩阵,如何绘图。
先就老师讲解及自己学习的情况做汇报。
一、建立M文件<1>M文件建立方法:1. 在MATLAB中,点:File→New →M-file2. 在编辑窗口中输入程序内容3. 点File →Save,存盘,M文件名必须与函数名一致<2>课上实例例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2 答:建立M文件:fun.mfunction f=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2如此便可以直接使用函数fun.m例如计算f(1,2), 只需在MATLAB命令窗口键入命令:x=[1 2]fun(x)得f =100.题目:有一函数,写一程序,输入自变量的值,输出函数值.解答:建立M文件:zuoye1.mfunction f=zuoye1(x,y)f=x^2+sin(x*y)+2*y命令行输入x=1,y=1zuoye1(x,y)得ans =3.8415经验算答案正确,所以程序正确。
二、定义数组、矩阵<1>说明逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter 键也表示开始新一行. 输入矩阵时,严格要求所有行有相同的列题目:有一个4x5矩阵,编程求出其最大值及其所处的位置.解答:a=round(10*rand (4,5))[temp I]=max(a)[am II]=max(temp)p=[I(II) II]运行得一随机矩阵a =7 7 7 3 70 8 2 0 38 7 7 1 109 4 0 8 0temp =9 8 7 8 10I =4 2 1 4 3am =10II =5p = 3 5即最大值为10,位置为第三行第五列。
MATLAB第一次实验

华北水利水电大学信息工程学院Matlab实验报告学号:201215828姓名:谭秋教师:陈黎霞实验1.基本操作命令练习一、实验目的1.熟悉matlab软件及基本操作命令;2.通过实验掌握矩阵的建立方法;二、实验环境1.计算机2.matlab软件三、实验说明1.熟悉matlab运行环境,正确操作,认真观察;2.实验学时:2学时;3.整理实验结果,提交实验报告。
四、实验内容1.熟悉(1)命令窗口的使用;(2)工作空间窗口的使用;(3)工作目录、搜索路径的设置;(4)命令历史记录窗口的使用;(5)各菜单及帮助系统的使用。
2.练习常用的键盘操作和快捷键4. (1)输入 A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在MATLAB中可以得到A,B两个矩阵。
如下图所示:在命令窗口中执行下列表达式,掌握其含义:A(2, 3) , A(:,2) ,A(3,:) , A(:,1:2:3) , A(:,3).*B(:,2),A(:,3)*B(2,:),A(2, 3)表示A矩阵里边第二行第三列的元素;A(:,2)表示A矩阵里边第二列的元素;A(3,:)表示A矩阵里边第三行的元素;A(:,1:2:3)表示A矩阵里边按列取,取第一列和第三列的元素;A(:,3).*B(:,2)表示A矩阵里边的第三列元素和B矩阵里边第二列元素的点运算。
A(:,3)*B(2,:)表示A矩阵里边的第三列元素和B矩阵里边的第二列元素的矩阵运算。
(2)输入 C=1:2:20,则C(i)表示什么?其中 i=1,2,3, (10)答:输入 C=1:2:20,则C(i)表示在1到20之间从1开始取数,且每个数相差2,到20截止。
如下图所示。
(3)保存变量 C 到指定路径下;删除workspace中的C,重新加载C。
答:点击save workspace,将变量C保存到本地磁盘D:\ matlab\ bin 里边,并且命名为matlab变量C.m。
数值分析matlab上机实验报告

数值分析matlab上机实验报告matlab软件实验报告数学上机课实验报告matlab实验报告总结数值分析试卷篇一:《MATLAB与数值分析》第一次上机实验报告标准实验报告(实验)课程名称学生姓名:李培睿学号:2013020904026指导教师:程建一、实验名称《MATLAB与数值分析》第一次上机实验二、实验目的1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算操作。
(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序)2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。
(用.m 文件编写进行符号因式分解和函数求反的程序)3. 掌握Matlab函数的编写规范。
4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、三维曲线和面的填充、三维等高线等。
(用.m 文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释)5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。
三、实验内容1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。
并以x,y为坐标显示图像x(n+1) = a*x(n)-b*(y(n)-x(n) ); y(n+1) = b*x(n)+a*(y(n)-x(n) )2. 编程实现奥运5环图,允许用户输入环的直径。
3. 实现对输入任意长度向量元素的冒泡排序的升序排列。
不允许使用sort函数。
四、实验数据及结果分析题目一:①在Editor窗口编写函数代码如下:并将编写的函数文件用“draw.m”储存在指定地址;②在Command窗口输入如下命令:③得到图形结果如下:题目二:①在Editor窗口编写函数代码如下:并将编写的函数文件用“circle.m”储存在指定地址;②再次在Editor窗口编写代码:并将编写的函数文件用“Olympic.m”储存在指定地址;③在Command窗口输入如下指令(半径可任意输入):④按回车执行,将在图形窗口获得五环旗:题目三:①在Editor窗口编写函数代码如下:并用.将编写的函数文件用“qipaofa.m”储存在指定地址;②在Command窗口输入一组乱序数值,则可以得到升序排序结果如下:五、总结及心得体会1. 要熟悉MATLAB编译软件的使用方法,明白有关语法,语句的基本用法,才可以在编写程序的时候游刃有余,不至于寸步难行。
MATLAB基础性实验报告1

一.实验目的:熟悉MATLAB进入与界面及常见的命令、数学函数,掌握数组、矩阵的计算,能编写简单的M文件。
熟悉MATLAB常见的绘图命令、能画出二维、三维图形,并能针对图形作常用的图形处理。
二.实验仪器、设备或软件:电脑、MATLAB软件三.实验内容:1、熟悉MATLAB的界面与窗口;2、在命令窗口实现常见的数学函数;3、数组:(1)建立数组;(2)实现对数组元素的访问;(3)对数组进行标量—数组,数组—数组运算。
4、矩阵:(1)建立矩阵;(2)对矩阵元素进行操作;(3)对矩阵进行计算,如加、乘、逆等。
5、程序设计:(1)熟悉for,while,if-else-end结构;(2)编写M文件实现函数;(3)计算:设银行年利率为11.25%。
将10000元钱存入银行,问多长时间会连本带利翻一翻?6、MATLAB绘制平面图形命令;7、MATLAB绘制三维图形命令;(1)曲线:plot3(x,y,z,s);(2)曲面:surf(x,y,z);mesh(x,y,z)网格曲面meshz(x,y,z).8、图形处理:(1)格栅、图例和标注;(2)定制坐标;(3)图形保持;(4)图形分割、缩放;(5)改变视角。
9、实验作业(1)绘制y=x3的函数图、对数坐标图、半对数坐标图;(2)在同一平面中的两个窗口分别画出心形线和马鞍面。
要求:在图形上加格栅、图列和标注、坐标、不同角度观察马鞍面。
四.实验记录:1、输入A=[7 1 5;2 5 6;3 1 5],在命令窗口中执行下列表达式,掌握其含义:A(2,3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2)A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A 运行结果如下:2、学习使用diag, eye, magic, ones, rand, randn, zeros, size()的常用函数(通过help方法)3、y=x^3坐标图MATLAB代码:x=linspace(-5,5,100);y=x.^3;subplot(2,2,1);plot(x,y);title('y=x^3的常坐标图');subplot(2,2,2);loglog(y);title('y=x^3的双对数坐标图');subplot(2,2,3);semilogx(y);title('y=^3的X轴对数坐标图');subplot(2,2,4);semilogy(y);title('y=x^3的Y轴对数坐标图');坐标图:。
MATLAB上机实验实验报告

MATLAB上机实验一一、实验目的初步熟悉MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息; 命令窗口二、实验内容1 熟悉MATLAB 平台的工作环境;2 熟悉MATLAB 的5 个工作窗口;3 MATLAB 的优先搜索顺序;三、实验步骤1. 熟悉MATLAB 的5 个基本窗口①Command Window 命令窗口②Workspace 工作空间窗口③Command History 命令历史记录窗口④Current Directory 当前目录窗口⑤Help Window 帮助窗口1 命令窗口Command Window;在命令窗口中依次输入以下命令:>>x=1>> y=1 2 34 5 67 8 9;>> z1=1:10,z2=1:2:5;>> w=linspace1,10,10;>> t1=ones3,t2=ones1,3,t3=ones3,1>> t4=ones3,t4=eye4x =1z1 =1 2 3 4 5 6 7 8 9 10t1 =1 1 11 1 11 1t2 =1 1 1t3 =111t4 =1 1 11 1 11 1 1t4 =1 0 0 00 1 0 00 0 1 00 0 0 1思考题:①变量如何声明,变量名须遵守什么规则、是否区分大小写;答:1变量声明1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用;当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在;脚本没有输入输出参数,由一系列MATLAB命令组成的M文件没有单独的工作空间,只能共享调用者的工作空间;当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中;2.全局变量在函数或基本工作空间内,用global声明的变量为全局变量;例如声明a为全局变量:>>global a声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它曲赋值;如果函数的子函数也要使用全局变量,也必须用global声明;3.永久变量永久变量用persistent声明,只能在M文件函数中定义和使用,只允许声明它的函数存取;当声明它的函数退出时,MATLAB不会从内存中清除它,例如声明a为永久变量:>>persistent a2变量命名规则如下:始于字母,由字母、数字或下划线组成;区分大小写;可任意长,但使用前N个字符;N与硬件有关,由函数namelengthmax返回,一般N=63;不能使用关键字作为变量名关键字在后面给出;避免使用函数名作为变量名;如果变量采用函数名,该函数失效;3区分大小写②试说明分号、逗号、冒号的用法;答:分号:加上分号“;”其作用是将计算机结果存入内存,但不显示在屏幕上,反之,语句结尾若不加“;”,则表示在语句执行后,在将计算结果存入内存的同时,还将运算结果显示出来;逗号:分割列表冒号:从什么到什么,比如1:10意思是——1到10③linspace 称为“线性等分”函数,说明它的用法;可使用help命令,格式如下:>>help linspace④说明函数ones 、zeros 、eye 的用法;答;1ones函数:全部元素都为1的常数矩阵; 2zeros函数:全部元素都为0的矩阵; 3eye函数:单位矩阵;4linspace函数:如a=linspacen1,n2,n3,表示在线性空间上,行矢量的值从n1到n22 工作空间窗口Workspace;单击工作空间窗口右上角的按钮,将其从MATLAB 主界面分离出来;①在工作空间查看各个变量,或在命令窗口用who, whos注意大小写查看各个变量;②在工作空间双击变量,弹出Array Editor 窗口数组编辑器窗口,即可修改变量;③使用save 命令把工作空间的全部变量保存为文件;>>save④输入下列命令:>>clear all %清除工作空间的所有变量观察工作空间的变量是否被清空;使用load 命令把刚才保存的变量载入工作空间;>>load⑤清除命令窗口命令:>>clc3 历史命令窗口Command History;打开历史命令窗口,可以看到每次运行MATLAB 的时间和曾在命令窗口输入过的命令,练习以下几种利用历史命令窗口重复执行输入过的命令的方法;①在历史命令窗口中选中要重复执行的一行或几行命令,右击,出现快捷菜单,选择Copy,然后再Paste 到命令窗口;②在历史命令窗口中双击要执行的一行命令,或者选中要重复执行的一行或几行命令后,用鼠标将其拖动到命令窗口中执行;③在历史命令窗口中选中要重复执行的一行或几行命令,右击,出现快捷菜单,选择Evaluate Selection,也可以执行;④或者在命令窗口使用方向键的上下键得到以前输入的命令;例如,按方向键“↑”一次,就重新将用户最后一次输入的命令调到MATLAB 提示符下;重复地按方向上键“↑”,就会在每次按下的时候调用再往前一次输入的命令;类似地,按方向键“↓”的时候,就往后调用一次输入的命令;按方向键“←”或者方向键“→”就会在提示符的命令中左右移动光标,这样用户就可以用类似于在字处理软件中编辑文本的方法编辑这些命令;4 当前目录命令窗口Current Directory;MATLAB 的当前目录即是系统默认的实施打开、装载、编辑和保存文件等操作时的文件夹;打开当前目录窗口后,可以看到用“save”命令所保存的文件是保存在目录C:\MATLAB6p5\work 下;5 帮助窗口Help Window;单击工具栏的图标,或选择菜单View|Help,或选择菜单Help|MATLAB Help 都能启动帮助窗口;①通过Index 选项卡查找log2函数的用法,在Search index for 栏中输入需要查找的词汇“log2”,在左下侧就列出与之最匹配的词汇条目,选择“log21”,右侧的窗口就会显示相应的内容;②也可以通过Search 选项卡查找log2 函数的用法;Search 选项卡与Index 选项卡不同,Index 只在专用术语表中查找,而Search 搜索的是整个HTML 帮助文件;2. MATLAB 的数值显示格式设置屏幕显示方式有紧凑Compact和松散Loose两种,其中Loose 为默认方式;>>a=ones1,30>>format compact>>a数字显示格式有short、long、short e、long e 等,请参照教材的列表练习一遍;>>format long>>pi>>format short>>pi>>format long>>pi>>format +>>pi>>-pi3. 变量的搜索顺序在命令窗口中输入以下指令:>>pi>>sinpi;>>exist'pi'>>pi=0;>>exist'pi'>>pi>>clear pi>>exist'pi'>>pi思考题:① 3 次执行exist'pi'的结果一样吗如果不一样,试解释为什么答:不一样,pi原来是库存函数,但是如果被赋值则系统默认被赋予的值为pi后来的值,但是当执行clear pi之后所赋的值被清空,因此pi的值又成为②圆周率pi 是系统的默认常量,为什么会被改变为0答:pi原来是库存函数,但是如果被赋值则系统默认被赋予的值为pi后来的值,但是当执行clear pi之后所赋的值被清空,因此pi的值又成为实验二 MATLAB语言基础一、实验目的基本掌握MATLAB向量、矩阵、数组的生成及其基本运算区分数组运算和矩阵运算、常用的数学函数;交接字符串的操作;二、实验内容1 向量的生成和运算;2 矩阵的创建、引用和运算;3 多维数组的创建及运算;4 字符串的操作;三、实验步骤1.向量的生成和运算1 向量的生成直接输入法:A =2 3 4 5 6>> B=1;2;3;4;5B =12345冒号生成发:>> A=1:2:10 ,B=1:10 ,C=10:-1:1A =1 3 5 7 9B =1 2 3 4 5 6 7 8 9 10C =10 9 8 7 6 5 4 3 2 1函数法:Linspace 是线性等分函数,logspace 是对数等分函数;>> A=linspace1,10 ,B=linspace1,30,10A =Columns 1 through 9Columns 10 through 18Columns 19 through 27Columns 28 through 36Columns 37 through 45Columns 46 through 54Columns 55 through 63Columns 64 through 72Columns 73 through 81Columns 82 through 90Columns 91 through 99Column 100B =Columns 1 through 9Column 10>> A=logspace0,4,5A =1 10 100 1000 10000练习:使用logspace 创建1-4 的有10个元素的行向量;答案:>> A=logspace1,10,4piA =+010Columns 1 through 9Columns 10 through 122 向量的运算维数相同的行向量只见可以相加减,维数相同的列向量也可以相加减,标量可以与向量直接相乘除;>> A=1 2 3 4 5, B=3:7,A =1 2 3 4 5B =3 4 5 6 7>> AT=A', BT=B',AT =12345BT =34567>> E1=A+B, E2=A-BE1 =4 6 8 10 12E2 =-2 -2 -2 -2 -2 >> F=AT-BT,F =-2-2-2-2-2>> G1=3A, G2=B/3,G1 =3 6 9 12 15G2 =向量的点积与叉积运算;>> A=ones1,10;B=1:10; BT=B';>> E1=dotA,BE1 =55>> E2=ABTE2 =55>> clear>> A=1:3,B=3:5,A =1 2 3B =3 4 5>> E=crossA,BE =-2 4 -22.矩阵的创建、引用和运算1 矩阵的创建和引用矩阵是由nm 元素构成的矩阵结构,行向量和列向量是矩阵的特殊形式;直接输入法:>> A=1 2 3;4 5 6A =1 2 3 4 5 6 >> B= 1 4 72 5 83 6 9B =1 4 72 5 83 6 9 >> A1ans =1>> A4:endans =5 36 >> B:,1ans =123>> B:ans =123456789>> B5ans =5抽取法>> clear>> A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16A =1 2 3 45 6 7 89 10 11 1213 14 15 16>> B=A1:3,2:3B =2 36 710 11>> C=A1 3,2 4C =2 410 12>> A1 3;2 4ans =1 95 13函数法:>> A=ones3,4A =1 1 1 11 1 1 11 1 1 1>> B=zero3Undefined function or method 'zero' for input arguments of type 'double'. >> B=zeros3B =0 0 00 0 00 0 0>> C=eyes3,2Undefined function or method 'eyes' for input arguments of type 'double'. >> C=eye3,2C =1 00 10 0>> D=magic3D =8 1 63 5 74 9 2拼接法>> clear>> A=ones3,4A =1 1 1 11 1 1 1>> B=zeros3B =0 0 00 0 00 0 0>> C=eye4C =1 0 0 00 1 0 00 0 1 00 0 0 1>> D=A BD =1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 >> F=A;CF =1 1 1 11 1 1 11 1 1 10 1 0 0 0 0 1 0 0 0 0 1 拼接函数和变形函数法:>> clear>> A=0 1;1 1A =0 11 1>> B=2ones2B =2 22 2>> cat 1,A,B,Aans =0 11 12 22 20 11 1>> cat 2 A,B,Acat 2 A,B,AError: Unexpected MATLAB expression.>> cat2,A,B,Aans =0 1 2 2 0 11 12 2 1 1>> repmatA,2,2ans =0 1 0 11 1 1 10 1 0 11 1 1 1>> repmatA,2ans =0 1 0 11 1 1 10 1 0 11 1 1 1练习:使用函数法、拼接法、拼接函数法和变形函数法,按照要求创建以下矩阵:A为43⨯的3⨯的单位矩阵、D为33⨯的0矩阵/C为33⨯的全1矩阵、B为3魔方阵、E由C 和D纵向拼接而成,F抽取E的2---5行元素生成、G由F经变形为46⨯的大3⨯的矩阵而得、以G为子矩阵用复制函数repmat生成8矩阵H;答案:>> A=ones3,4A =1 1 1 11 1 1 11 1 1 1>> B=zeros3,3B =0 0 00 0 00 0 0>> C=eye3C =1 0 00 1 00 0 1>> D=magic3D =8 1 63 5 74 9 2>> E=C;DE =1 0 00 1 00 0 18 1 63 5 74 9 2>> F=2:5,:F=2:5,:Error: Expression or statement is incorrect--possibly unbalanced , {, or . >> F=E2:5,:F =0 1 00 0 18 1 63 5 7>> G=respaceE,3,4Undefined command/function 'respace'.>> G=respaceF,3,4Undefined command/function 'respace'.>> G=reshapeF,3,4G =0 3 1 10 1 5 68 0 0 7>> H=repmatG,2,2H =0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 7 0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 7 2)矩阵的运算矩阵的加减、数乘与乘法已知矩阵:>> A=1 23 -1,A =1 23 -1>> B=-1 01 2B =-1 01 2>> A+Bans =0 24 1>> 2Aans =2 46 -2>> 2A-3Bans =5 43 -8>> ABans =1 4-4 -2矩阵的逆矩阵>> format rat;A=1 0 1;2 1 2;0 4 61 0 12 1 2 0 4 6 >> A1=invAA1 =-1/3 2/3 -1/6 -2 1 0 4/3 -2/3 1/6 >> AA1ans =1 0 0 0 1 0 0 0 1 矩阵的除法>> a=1 2 1;3 1 4;2 2 1,b=1 1 2,d=b'a =1 2 1 3 1 42 2 1b =1 1 2112>> c1=binva,c2=b/ac1 =6/7 3/7 -4/7 c2 =6/7 3/7 -4/7 >> c3=invad, c4=a\bc3 =12/7-4/7Error using ==> mldivideMatrix dimensions must agree.>> c3=invad, c4=a\dc3 =12/7-4/7c4 =12/7-4/7练习:按下列要求求出各种的矩阵运算的值求矩阵的秩、特征值和特征向量、矩阵的乘幂与开方;矩阵的指数与对数矩阵的提取与翻转答案:>> A=6 3 4 3-2 5 7 -48 -1 -3 -7A =6 3 4 3-2 5 7 -48 -1 -3 -7>> B=rankAB =3>> rb=rankArb =3>> X,Lamda=eigAError using ==> eigMatrix must be square.>> X,Lamda=eigsAError using ==> eigsA must be a square matrix or a function which computes Ax. >> C=6 3 4-2 5 78 -1 -3C =6 3 4-2 5 78 -1 -3>> X,Lamda=eigsCX =Lamda =0 00 00 0>> X,Lamda=eigCX =Lamda =0 0 0 0 0 0 >> X,Lamda=eigCX =Lamda =0 0 0 0 0 0 >> D=A^2Error using ==> mpower Matrix must be square. >> D=C^2D =34 12 626 22 34>> E=sqrtmCE =+ - -+ - -- + +>> F=expmCF =+004>> G=logmCWarning: Principal matrix logarithm is not defined for A with nonpositive real eigenvalues. A non-principal matrix logarithm is returned.> In funm at 153In logm at 27G =+ - -- + + >> H=fliplrCH =4 3 6 75 -2 -3 -1 8 >> I=triuCI =6 3 4 0 57 0 0 -3 >> J=trilCJ =6 0 0 -2 5 0 8 -1 -3 >> K=diagCK =65-33.多维数组的创建及运算1)多维数组的创建>> A1=1,2,3;4 5 6;7,8,9;A2=reshape10:18,3,3 A2 =10 13 1611 14 1712 15 18>> T1:,:,1=ones3;T1:,:,2=zeros3T1:,:,1 =1 1 11 1 11 1 1T1:,:,2 =0 0 00 0 00 0 0>> T2=ones3,3,2T2:,:,1 =1 1 11 1 11 1 1T2:,:,2 =1 1 11 1 11 1 1>> T3=cat3,A1,A2,T4=repmatA1,1,1,2T3:,:,1 =1 2 34 5 67 8 9T3:,:,2 =10 13 1611 14 1712 15 18T4:,:,1 =1 2 34 5 67 8 9T4:,:,2 =1 2 34 5 67 8 92)多维数组的创建数组运算用小圆点加在运算符的前面表示,以区分矩阵的运算;特点是两个数组相对应的元素进行运算;>> A=1:6;B=ones1,6;>> C1=A+B,C2=A-BC1 =2 3 4 5 6 7C2 =0 1 2 3 4 5 >> C3=A.B,C4=B./A,C5=A.\BC3 =1 2 3 4 5 6C4 =C5 =关系运算或逻辑运算的结果都是逻辑值;>> I=A>3,C6=AII =0 0 0 1 1 1C6 =4 5 6>> A1=A-3,I2=A1&AA1 =-2 -1 0 1 2 3 I2 =1 1 0 1 1 1>> I3=~II3 =1 1 1 0 0 0 4.字符串的操作1 字符串的创建>> S1='Ilike MATLAB'S1 =Ilike MATLAB>> S2='I''m a stuent.'S2 =I'm a stuent.>> S3=S2,'and',S1S3 =I'm a MATLAB2)求字符串长度>> lengthS1ans =12>> sizeS1ans =1 123)字符串与一维数值数组的相互转换>> CS1=absS1CS1 =73 108 105 107 101 32 77 65 84 76 65 66>> CS2=doubleS1CS2 =73 108 105 107 101 32 77 65 84 76 65 66>> charCS2ans =Ilike MATLAB>> setstrCS2ans =Ilike MATLAB练习:用char 和向量生成的方法创建如下字符串AaBbCc......XxYyZz.>> S1=65:90;S2=97:122;>> C=S1;S2;>> C=C:';>> S3=doubleC;charS3ans =AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvWwXxYyZz实验三 MALTAB数值运算一、实验目的掌握MATLAB的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作;二、实验内容1)多项式运算;2)多项式插值和拟合;3)数值为积分;4)结构数组和细胞数组;三、实验步骤1、多项式运算1)多项式表示;在MATLAB中,多项式表示成向量的形式;如:432S S S+-+在MATLAB中表示为359>> s=1 3 -5 0 92)多项式的加减法相当于向量的加减法,但必须注意阶次要相同;如不同,低阶次的要补0;如多项式23547+-++相加;s s s s++与多项式432239s s>> s1=0 0 2 3 11>> s2=1 2 -5 4 7>> s3=s1+s2答;s1 =0 0 2 3 11s2 =1 2 -5 4 7s3 =1 2 -3 7 183)多项式的乘、除法分别用函数conv和的deconv实现; >> s1=2 3 11>> s2=1 3 -5 4 7>> s3=convs1,s2>> s4=deconvs3,s1答;s1 =2 3 11s2 =1 3 -5 4 7s3 =2 9 10 26 -29 65 77s4 =1 3 -5 4 74)多项式求根用函数roots;>> s1=2 4 2>> rootss1答;s1 =2 4 2ans =-1-15)多项式求值用函数polyval>> s1=2 4 1 -3>> polyvals1,3>> x=1:10>> y=polyvals1,x答;s1 =2 4 1 -3ans =90x =1 2 3 4 5 6 7 8 9 10y =Columns 1 through 84 31 90 193 352 579 886 1285 Columns 9 through 10练习:求23(1)(3)(1)21s s ss s+++++的“商”及余数;>> s1=1 0 1;s2=1 3;s3=1 1;>> s4=1 0 2 1;>> q,r=deconvconvconvs1,s2,s3,s4答;q =1 4r =0 0 2 -5 -12、多项式插值和拟合有一组实验数据如附表1-1所示;附表1-1分别用拟合二阶至三阶和插值线性和三次样条的方法来估算X=时Y的值;以下是实现一阶拟合的语句;>> x=1:10>> y=16 32 70 142 260 436 682 1010 1342 1960>> p1=polyfitx,y,1 %一阶拟合>> y1=polyvalp1, %计算多项式P1在x=的值答;x =1 2 3 4 5 6 7 8 9 10y =Columns 1 through 816 32 70 142 260 436 682 1010Columns 9 through 101342 1960p1 =y1 =+0033、数值微积分1)差分使用diff函数实现;>> x=1:2:9>> diffx答;x =1 3 5 7 9ans =2 2 2 22)可以用因变量和自变量差分的结果相处得到数值微分;>> x=linspace0,2pi,100;>> y=sinx;>> plotx,y>> y1=diffy./diffx;>> plotx1:end-1,y1答;3)cumsum函数求累计积分,trapz函数用梯形法求定积分,即曲线的面积;>> x=ones1,10>> cumsumx>> x=linspace0,pi,100;>> y=sinx;>> trapzx,y>> p=cumsumy;>> p100pi/100-1答;x =1 1 1 1 1 1 1 1 1 1ans =1 2 3 4 5 6 7 8 9 10ans =ans =练习:图A1是瑞士地图,为了算出其国土面积,首先对地图作如下测量:以由西向东方向为X轴,由南向北方向为Y 轴,选择方便的原点,并将从最西边界点到最东边界点在X轴上的区间适当划分为若干段,在每个分点的Y方向测出南边界点和北边界点的Y坐标Y1和Y2,这样就得到表1,根据地图比例尺回到18mm相当于40Km,试由测量数据计算瑞士国km比较;地图的数据见附表1-2单位mm;土近似面积,与其精确值412282附表1-2X 7 13 34 48 56 61 91Y1 44 45 47 50 50 38 30 30 34 36 34 41 45 46续表提示:由高等数学的知识,一条曲线的定积分是它与x轴所围成的面积,那么两条曲线所围成的面积可由两条曲线的定积分相减得到;4、结构数组与细胞数组1)机构数组的创建;>> ='Jack';>> student2.n>> ='Lucy';>> student或者用struct函数创建;>> student=struct'number',{'001','002'},'name',{'Jack','Lucy'};答;student =1x2 struct array with fields:numbername2)机构数组的操作;>> student1.subject= %添加subject域并赋予空值>> student1.score=>> filednamesstudeng>>fieldnamesstudeng>>fieldnamesstudent>> getfieldstudent,{2},'name'>> student=rmfieldstudent,'subject' %删除subject域>> student=setfieldstudent,{1},'score',90;>> student2.score=88; %比较和上一条语句是否效果一样答;student =1x2 struct array with fields:numbernamesubjectstudent =1x2 struct array with fields:numbernamesubjectscoreUndefined function or variable 'studeng'.练习:创建一结构数组stusorce,其域为:No,Name,English,Math,Chinese,Total,Average;结构数组的大小为2×2;3)细胞数组的创建;>> A={'How are you',ones3;1 2;3 4,{'cell'}}; %直接创建>> B1,1={'Hello world'}; %由各个细胞元素创建>> B1,2={magic3};>> B2,1={1 2 3 4};答或者用cell函数先创建空的细胞数组,然后再给各个元素赋值c=cell1,2;>> c1,1={'Hello world'};>> c1,2={magic3};>> c1,3={1 2 3 4};4)细胞数组的操作;>> ans1=A1,1>> ans2=A1,1>> whos ans1 ans2>> celldispA>> a1=A{2,1}1,2>> a2 a3=dealA{1:2}答;ans1 ='How are you'ans2 ='How are you'Name Size Bytes Class Attributesans1 1x1 84 cellans2 1x1 84 cellA{1,1} =How are youA{2,1} =1 23 4A{1,2} =1 1 11 1 11 1 1A{2,2}{1} =cella1 =2a2 =How are youa3 =1 23 4实验四 MALTAB符号运算一、实验目的掌握符号变量和符号表达式的创建,掌握MALTAB的symbol工具箱的一些基本运用;二、实验内容1)符号变量、表达式、方程及函数的表示; 2)符号微积分运算;3)符号表达式的操作和转换;4)符号微分方程求解;三、实验步骤1、符号运算的引入在数值运算中如果求x xxπsinlim→,则可以不断让的让x趋近0,一球的表达式趋近什么数,但终究不能令x=0,因为在数值运算中0不是能作除数的;MATLAB的符号运算能解决这内问题;输入如下命令:>> f=sym'sinpix/x'>> limitf,'x',0答;f =sinpix/xans =pi2、符号常量、符号变量、符号表达式的创建1)使用sym创建输入以下命令,观察Workspace中A、B、f是什么内性的数据,占用多少字节的内存空间;>> A=sym'1' %符号常量>> B=sym'x' %符号变量>> f=sym'2x^2+3x-1' %符号表达式>> clear>> f1=sym'1+2' %有单引号,表示字符串>> f2=sym1+2 %无单引号>> f2=sym1+2>> f4=sym'2x+3' %为什么出错>> x=1>> f4=sym2x+3答;A =1B =x2x^2+3x-1f1 =1+2f2 =3f2 =3f4 =2x+3x =1f4 =5通过看MATLAB的帮助可知,sym的参数可以使字符串或是数值类型,无论是哪种类型都会生成符号类型数据; 2)使用syms创建>> clear>> syms x y z>> x,y,z>> f1=x^2+2x+1>> f2=expy+expz^2>> f3=f1+f2答;x =xy =yz =zf1 =x^2+2x+1f2 =expy+expz^2f3 =x^2+2x+1+expy+expz^23、符号矩阵创建>> syms a1 a2 a3 a4>> A=a1 a2;a3 a4>> A1,A3答;A =a1, a2a3, a4ans =a1a24、符号算术运算1)符号向量相乘、相除符号量相成和数值量相乘一样,分成矩阵乘和数组乘;>> a=sym5;b=sym7;>> c1=ab>> c2=a/b>> a=sym5;B=sym3 4 5;>> C1=aB,C2=a\B>> syms a b>> A=5 a;b 3;B=2a b;2b a;>> C1=AB,C2=A.B>> C3=A\B,C4=A./B答;c1 =35c2 =5/7C1 =15, 20, 25C2 =3/5, 4/5, 1C1 =10a+2ab, 5b+a^22ab+6b, b^2+3aC2 =10a, ab2b^2, 3aC3 =2ab-3/-15+ab, a^2-3b/-15+ab2ba-5/-15+ab, -5a-b^2/-15+abC4 =5/2/a, a/b1/2, 3/a2)符号数值任意精度控制和运算任意精度的VPA运算可以使用命令digits设定默认的精度和vpa对指定对象以新的精度进行计算来实现; >> a1=sym'2sqrt5+pi'>> a=sym'2sqrt5+pi'>> b=sym2sqrt5+pi>> digits>> vpaa>> digits15>> c1=vpaa,56>> c2=vpab,56答a1 =2sqrt5+pia =2sqrt5+pib =Digits = 32ans =ans =c1 =c2 =注意观察c1和c2的数值类型,c1和c2是否相等;3) 符号类型与数值类型的转换使用命令sym 可以把数值型对象转换成有理数性符号对象,命令vpa 可以讲数值型对象转换为任意精度的VPA 型符号对象;使用double,numeric 函数可以将有理数型和VPA 型符号对象转换成数值对象.>> clear>> a1=sym'2sqrt5+pi'>> b1=doublea1 %符号转数值>> b2=isnumericb1 %判断是否转换成了数值>> a2=vpaa1,70 %数值转符号答;a1 =2sqrt5+pib1 =b2 =1a2 =85、 符号表达式的操作和转换1独立变量的确定原则独立变量的确定原则:在符号表达式中默认变量是惟一的;MATLAB 会对单个英文小写字母除i 、j 外进行搜索,且以x 为首选独立变量;如果表达式中字母不唯一,且无x,就选在字母表最接近x 的字母;如果有相连的字母,则选择在字母表中较后的那一个;例如:'*3'z y +中,y 是默认独立变量;)'*sin('b t a +,t 是默认独立变量;输入以下命令,观察并分析结果;>> clear>> f=sym'a+b+i+j+x+y+xz'>> findsymf>> findsymf,1>> findsymf,2>> findsymf,3>> findsymf,4>> findsymf,5>> findsymf,6答;f =a+b+i+j+x+y+xzans =a, b, j, x, xz, yans =xans =x,xzans =x,xz,yans =x,xz,y,jans =x,xz,y,j,bans =x,xz,y,j,b,a2符号表达式的化简符号表达式化简主要包括表达式美化pretty 、合并同类项collcet 、多项式展开expand 、因式分解factor 、化简simple 或simplify 等函数;①合并同类项collect;分别按x 的同幂项和e 指数同幂项合并表达式: 2(1)()t t x xe x e --+++;>> syms x t;>> f=x^2+x^exp-t+1x+exp-t;>> f1=collectf>> f2=collectf,'exp-t'答;f1 =x^3+exp-tx^2+x^exp-t+1x+x^exp-t+1exp-tf2 =x^2+x^exp-t+1exp-t+x^2+x^exp-t+1x②对显示格式加以美化pretty;针对上例,用格式美化函数可以使显示的格式更符合数学书写习惯;>> prettyf1>> prettyf2答;f1 =x^3+exp-tx^2+x^exp-t+1x+x^exp-t+1exp-tf2 =x^2+x^exp-t+1exp-t+x^2+x^exp-t+1x>> prettyf1prettyf23 2 exp-t exp-tx + exp-t x + x + 1 x + x + 1 exp-t2 exp-t 2 exp-tx + x + 1 exp-t + x + x + 1 x注意与直接输出的f1和f2对比;③多项式展开expand;展开12x-成x不同次幂的多项式.(1)>> syms x>> f=x-1^12;>> expandf>> prettyexpandf答;ans =1+x^12-12x^11+66x^10-220x^9+495x^8-792x^7+924x^6-792x^5+495x^4-220x^3+66x^2-12x 12 11 10 9 8 7 6 51 + x - 12 x + 66 x - 220 x + 495 x - 792 x + 924 x - 792 x4 3 2+ 495 x - 220 x + 66 x - 12 x④因式分解factor;将表达式121x-做因式分解;>> syms x;f=x^12-1;>> prettyfactorf答;ans =1+x^12-12x^11+66x^10-220x^9+495x^8-792x^7+924x^6-792x^5+495x^4-220x^3+66x^2-12x 12 11 10 9 8 7 6 51 + x - 12 x + 66 x - 220 x + 495 x - 792 x + 924 x - 792 x4 3 2+ 495 x - 220 x + 66 x - 12 x>> syms x;f=x^12-1;prettyfactorf2 2 2 4 2x - 1 1 + x + x 1 + x 1 - x + x 1 + x x - x + 1⑤化简simple或simplify;将函数f=;>> clear>> syms x;f=1/x^3+6/x^2+12/x+8^1/3;>> g1=simplef>> g2=simplifyf答;g1 =2x+1/xg2 =2x+1^3/x^3^1/36、符号表达式的变量替换subs函数可以对符号表达式中的符号变量进行替换>> clear>> f=sym'x+y^2+4x+10'>> f1=subsf,'x','s' %使用s替换x>> f2=subsf,'x+y','z'答;f =x+y^2+4x+10f1 =s+y^2+4s+10f2 =z^2+4x+107、符号极限、符号积分与微分1)求极限函数的调用格式limitF,x,a %返回符号对象F当x→a时的极限limitF,a %返回符号对象F当独立变量→a时的极限limitF %返回符号对象F当独立变量→0a=0时的极限limitF,x,a,’right’ %返回符号对象F当x→a时的右极限limitF,x,a,’left’ %返回符号对象F当x→a时的左极限例一:>> clear>> f=sym'sinx/x+ax'>> limitf,'x',0 %以x为自变量求极限>> limitf,'a',0 %以a为自变量求极限>> limitf %在默认情况下以x为自变量求极限>> findsymf %得到变量并且按字母表顺序排列答‘f =sinx/x+axans =1ans =sinx/xans =1ans =a, x例二:>> clear>> f=sym'sqrt1+1/n;>> limitf,n,inf %求n趋于无穷大时的极限2)求积分函数的调用格式intF %求符号对象F关于默认变量的不定积分intF,v %求符号对象F关于指定变量v的不定积分intF,a,b %求符号对象F关于默认变量的从a到b的定积分intF,v,a,b %求符号对象F关于指定变量的从a到b的定积分3)求微分方程的调用格式diffF %求符号对象F关于默认变量的微分diffF,v %求符号对象F关于指定变量v的微分diffF,n %求符号对象F关于默认变量的n阶微分,n为自然数1、2、3……diffF,v,n %求符号对象F关于指定变量v的n阶微分8、符号方程求解1常规方程求解函数的调用格式g=solveeq %求方程或表达式或字串eq关于默认变量的解g=solveeq,var %求方程或表达式或字串eq关于指定变量var的解g=solveeq1,eq2,….,eqn,var1,var2,…,varn %求方程或表达式或字串eq1,eq2,eq3,……eqn关于指定变量组var1,var2,……,varn的解求一元二次方程20++=的解;其求解方法有多种形式:ax bx c①seq=solve'ax^2+bx+c'②seq=solve'ax^2+bx+c=0'③eq=’ax^2+bx+c’;④eq=’ax^2+bx+c=0’;seq=solveeq⑤sym x a b ceq=ax^2+bx+cseq=solveeq2常微分方程求解求解常微分方程的函数是dsolve;应用此函数可以求得常微分方程组的通解,以及给定边界条件或初始条件后的特解;常微分方程求解函数的调用格式:r=dsolve’eq1,eq2,…’,’cond1,cond2,…’,’v’r=dsolve’eq1’,’eq2’,…,’cond1’,’cond2’,…,’v’说明:①以上两式均可给出方程eq1,、qeq2对应初始条件cond1、cond2之下的一v 作为解变量的各微分方程的解; ②常微分方程解的默认变量为t;③第二式中最多可接受的输入式是12个;④微分方程的表达方法;在用MATLAB 求解常微分方程时,用大写字母Dy 表示dxdy ,用D2y 表示22d y dx ,依此类推; 边界条件以类似于ya=b 给出;其中y 为因变量,a 、b 为常数.如果初始条件给的不够,求出的解为含有C1、C2等待定常数的通解;例一 求微分方程x dx dy 2=的通解. 练习:1求222132lim x x x x →--+; 2求函数()cos 2sin 2f x x x =-的积分;求函数()g x =3计算定积分60(sin 2)x dx π+⎰ 4求下列线性方程组的解5求解但y0=2,在z0=7时,微分方程组的解;实验五 MATLAB 程序设计一、实验目的掌握MATLAB 程序设计的主要方法,熟练编写MATLAB 函数.二、 实验内容1M 文件的编辑;。
Matlab第一次作业报告

Matlab 大作业姓名:吴高峰 学号:11407990513一. 问题阐述一个电压源通过电阻与电容串联的网络对电容充电。
设t=0为初始时刻(初始时刻之前电路断开,不工作),电压源输出电压x(t)为单位阶跃函数,电容两端的电压为y(t),回路电流为i(t),并将电压源视为系统输入,电容上的电压视为系统输出。
电路的初始状态为y(0)。
如图。
图:电容的充电电路以及等价系统1.数学分析首先根据网络拓扑和元件伏安特性建立该电路方程组dt t dy c t i t Ri t x t y )()()()()(=-=化简得到:)(1)(1)(t y RC t x RC dt t dy -=该方程也称为系统的状态方程。
在方程中,变量y 代表电容两端的电压,是电容储能的函数。
本例中它既是系统的状态变量,又是系统的输出变量。
2.数值求解 最直接的求解方法是将上式转换为以时间向前递进的计算递推式,并以微小仿真时间步进⊿代替无穷小量dt 进行近似数值计算。
首先,将dy(t)=y(t+dt)-y(t)代入前公式中,并整理得时间向前递推式 dt t y RC dt t x RC t y dt t y )(1)(1)()(-+=+将近似式⊿≈dt 代入得到∆-∆+≈∆+)(1)(1)()(t y RC t x RC t y t y当已知当前时刻t 上的输入信号x(t)和状态y(t),通过该式就可以计算出下一时刻t+⊿上新的系统状态来,这种算法称为微分方程的欧拉算法 。
用欧拉算法的统一接口程序重新对例题2.2进行仿真,并与Matlab 内部库提供的求解器的求解结果进行对比。
二.解决办法1.解答过程)(1)(1)(t y RC t x RC dt t dy -=可简写为标准状态方程形式:⎪⎩⎪⎨⎧=+-=∙x y f RC x RC x 11仿真即对该标准状态方程进行数值求解的过程。
首先依据Matlab 所规定的状态方程函数的标准接口形式编写电容的充放电过程的标准状态议程函数。
大连东软信息学院Matlab实验报告-第一次作业

MATLAB教程练习题1.利用Matlab中的函数生成3×3单位阵,2×3全0阵和4×3全1阵;2.利用Matlab中的函数生成10个在区间[14,99]上均匀分布的随机整数。
3. 计算向量(2,4,6,8)的最大值,最小值,平均值,中值【查一下这个函数】;4. 在行向量(2,4,6,8)和(1,3,5,7)之间实施加减乘除及幂运算;5. 在向量(1,3,5)与标量2之间实施加减乘除及幂运算。
6. 求 121211130⎛⎫ ⎪ ⎪ ⎪⎝⎭-的转置、行列式【查一下这个函数】、逆矩阵【查一下这个函数】。
7.要求利用diag 函数和其他函数生成数组A =。
8.将上面生成的数组A = ,转换成行向量B。
9. 产生一均匀分布在(-5,5)之间的5*3阶随机矩阵C,并要求所有的数值为整数。
10. 利用函数产生一个(0,1)间均匀分布的6*6随机矩阵D,然后统计D中大于等于0.6的元素个数。
11.产生一个4*5的随机矩阵E,要求为整数,且矩阵的元素范围为[0,100],计算出矩阵的最大值所在的位置。
12. 产生100到1的等差数列,数据点为20个,赋值给F(1)取F的第10个单元的值,赋值给F1;(2)取F的前10个单元的值,赋值给F2;(3)取F的后5个单元的值,赋值给F3;(4)取F的偶数单元的值,赋值给F4;(5)将F的数据倒排,赋值给F5。
13. 定义矩阵G=[1 2 3;4 5 6;7 8 9];(1)抽取A中的第1、2行,第2、3列元素,赋值给G1;(2)抽取A中的第1、4个元素作为新矩阵G2的第1行,抽取第2、3个元素作为新矩阵G2的第2行;resleep(1 4 2 3 , 2,2)(3)对矩阵G1和G2进行求和、求差、求乘和点乘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB教程练习题
1.利用Matlab中的函数生成3×3单位阵,2×3全0阵和4×3全1阵;
2.利用Matlab中的函数生成10个在区间[14,99]上均匀分布的随机整数。
3. 计算向量(2,4,6,8)的最大值,最小值,平均值,中值【查一下这个函数】;
4. 在行向量(2,4,6,8)和(1,3,5,7)之间实施加减乘除及幂运算;
5. 在向量(1,3,5)与标量2之间实施加减乘除及幂运算。
6. 求 121211130⎛⎫ ⎪ ⎪ ⎪⎝⎭-的转置、行列式【查一下这个函数】、逆矩阵【查一下这个函数】。
7.要求利用diag 函数和其他函数生成数组A =。
8.将上面生成的数组A = ,转换成行向量B。
9. 产生一均匀分布在(-5,5)之间的5*3阶随机矩阵C,并要求所有的数值为整数。
10. 利用函数产生一个(0,1)间均匀分布的6*6随机矩阵D,然后统计D中大于等于0.6的元素个数。
11.产生一个4*5的随机矩阵E,要求为整数,且矩阵的元素范围为[0,100],计算出矩阵的最大值所在的位置。
12. 产生100到1的等差数列,数据点为20个,赋值给F
(1)取F的第10个单元的值,赋值给F1;
(2)取F的前10个单元的值,赋值给F2;
(3)取F的后5个单元的值,赋值给F3;
(4)取F的偶数单元的值,赋值给F4;
(5)将F的数据倒排,赋值给F5。
13. 定义矩阵G=[1 2 3;4 5 6;7 8 9];
(1)抽取A中的第1、2行,第2、3列元素,赋值给G1;
(2)抽取A中的第1、4个元素作为新矩阵G2的第1行,抽取第2、3个元素作为新矩阵G2的第2行;
resleep(1 4 2 3 , 2,2)
(3)对矩阵G1和G2进行求和、求差、求乘和点乘。