matlab 作业
matlab作业
上机实践练习五实验五:MATLAB 数据可视化实验目的:掌握MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。
学时:2学时实验内容:(1)二维图形绘制。
(2)隐函数绘图(2) 三维曲线和三维曲面绘制。
(3) 图像文件的读取和显示。
1.写出实现下列图形的M文件。
t=[0:0.1:pi];y1=sin(2*t);y2=cos(3*t);plot(t,y1,'b-o');hold onplot(t,y2,'k:o');xlabel('ʱ¼ä')ylabel('·ùÖµ')text(1,sin(2*1),'\fontsize{16}\leftarrowsin(2t) ');text(2.4,cos(3*(2.4)),'\fontsize{16}cos(3t)\rightarrow ',... 'HorizontalAlignment','right')2. 将窗口分割成4个区域,并且在[]0,2π区间上绘制1sin 2,6y x π⎛⎫=+⎪⎝⎭()224cos 3,y x =()3cos y x =,()35sin 1y x =+四条曲线,并且给每一个图形添加标题和标注。
clearx=0:pi/10:2*pi; y1=sin(2.*x+pi/6); y2=4.*cos(3.*x.^2); y3=cos(x); y4=5.*sin(x+1); subplot(2,2,1); plot(x,y1); title('y1');text(1,sin(2*1+pi/6),'sin(2*x+pi/6)') subplot(2,2,2); plot(x,y2)title('y2');text(2,4.*cos(3*2^2),'4*cos(3*x^2)') subplot(2,2,3); plot(x,y3)title('y3');text(2,cos(2),'cos(x)')subplot(2,2,4);plot(x,y4)title('y4');text(2,5.*sin(3),'5*sin(x+1)')3.已知y1=x2,y2=cos(2x),y3=y1*y2,其中x为取值-2π~2π的等差数列(每次增加0.02π),完成下列操作(1)在同一坐标系下用不同的颜色和线型绘制三条曲线,给三条曲线添加图例。
MATLAB课程作业
注意:11月15日是交作业的最后期限。
(交word和MATLAB程序清单,word以“班级-学号-姓名”命名,每个MATLAB程序以”zuoye_题号”命名后,放在一个文件夹下(文件夹命名为“作业程序”),如zuoye_1_1.m),将word和“作业程序”文件夹放在一个文件夹(文件夹以“班级-学号-姓名”)交到班长处,班长统一交到教学办公室。
第一部分程序设计1.1、用MA TLAB可以识别的格式输入下面两个矩阵:(1) 矩阵A的维数;(2) 矩阵A中的元素a41的值;(3) 修改矩阵A的元素,使a41 =3.0;(4) 矩阵A中最后2行和最后3列交汇形成的子矩阵的值。
(5)求出A和B的乘积矩阵C,并将C矩阵的右下角2X 3子矩阵赋给D矩阵。
1.2、已知111121111,131,111214A B⎡⎤⎡⎤⎢⎥⎢⎥=-=-⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求(1)AB-2A,(2)A*B,(3)A﹒*B,(4) AB-BA 1.3、解线性方程:1.4、解方程组:1.5、用MA TLAB语言实现下面的分段函数:1.6、已知x=[1 2 3 ],y=[4 5 6 ],试计算z=x.*y 、x.\y 和x./y.1.7、分别用for 和while 循环语句编写程序,求出1.8、 已知在平面坐标中两点(x 1, y 1)和(x 2, y 2)之间的距离计算公式为 ()()222121y y x x L -+-=(1) 利用命令文件的形式,编写求解该距离的M 文件dis1.m ;(2) 利用函数文件的形式,编写求解该距离的M 文件dis2.m ;(3) 给定两点坐标的值(2,3)和(8, -5),试分别调用命令文件dis1.m 和函数文件dis2.m 求解该两点间距离的值。
1.9、求解方程x 5+6x 3一3x 2=10的5个根,并将其位置用五角星符号标记在复平面上,要求横纵坐标袖的刻度等长,注明虚轴和实轴,在title 位置上写㈩方程。
matlab作业
实验三某厂利用a、b、c三种原料生产A、B、C三种产品,已知生产每种产品在消耗原料方面的各项技术条件和单位产品的利润,以及可利用的各种原料的量,是制定适当的生产规划使得该厂的总利润最大。
对于这个问题,可先将该问题转化为数学模型。
Z=2x1+4x2+3x3X1+3x2+2x3<=802x1+x2+2x3<=403x1+4x2+2x3<=60X1,x2,x3>=0据此可以画出图形,可依靠图形来求出Z的最大值。
c=[-2 -4 -3]A=[1 3 2;2 1 2;3 4 2]b=[60 40 80]lb=[0 0 0][x,f,exitflag,output]=linprog(c,A,b,[],[],lb,[])将上述程序输入matlab。
就可得出结果。
结果如下:x =4.000012.000010.0000f =-86.0000exitflag =1output =iterations: 7cgiterations: 0algorithm: 'lipsol'由上述结果可以知道当A、B、C分别生产4,12,10 公斤时,总利润最大,可达到86。
某工厂生产甲、乙、丙三种产品,单位产品所需工时分别为2、3、1个;单位产品所需原料分别为3、1、5公斤;单位产品利润分别为2、3、5元。
工厂每天可利用的工时为12个,可供应的原料为15公斤。
为使总利润为最大,试确定日生产计划和最大利润。
对于这个问题,可先将该问题转化为数学模型。
Z=2x+3y+5z2x+3y+z<=123x+y+5z<=15据此可以画出图形,可依靠图形来求出Z的最大值。
c=[-2 -3 -5]A=[2 3 1;3 1 5]b=[12;15]lb=[0 0 0][x,Z,exitflag,output]=linprog(c,A,b,[],[],lb,[])将上述程序输入matlab。
就可得出结果。
MATLAB期末大作业
MATLAB期末⼤作业学号:姓名:《Matlab/Simulink在数学计算与仿真中的应⽤》⼤作业1.假设地球和⽕星绕太阳运转的半径分别为r和2r,利⽤comet指令动画显⽰从地球到⽕星的转移轨迹(r可以任意取值,要求实时显⽰探测器、太阳、地球和⽕星的位置)。
解函数function comet(varargin)[ax,args,nargs] = axescheck(varargin{:});error(nargchk(1,3,nargs,'struct'));% Parse the rest of the inputsif nargs < 2, x = args{1}; y = x; x = 1:length(y); endif nargs == 2, [x,y] = deal(args{:}); endif nargs < 3, p = 0.10; endif nargs == 3, [x,y,p] = deal(args{:}); endif ~isscalar(p) || ~isreal(p) || p < 0 || p >= 1error('MATLAB:comet:InvalidP', ...'The input ''p'' must be a real scalar between 0 and 1.'); End指令 %particle_motiont = 0:5:16013;r1=6.7e6;%随便给定参数%---------------------------r2=2*r1;g=9.8;R=6.378e6;m=g*R^2;%内轨道v_inner=sqrt(m/r1);w_inner=v_inner/r1;x_inter=r1*cos(w_inner*t);y_inter=r1*sin(w_inner*t);%外轨道v_outer=sqrt(m/r2);w_outer=v_outer/r2;x_outer=r2*cos(w_outer*t);y_outer=r2*sin(w_outer*t);%控制器转移轨道a=(r1+r2)/2;E=-m/(2*a);V_near=sqrt(m*(2/r1-2/(r1+r2)));%转移轨道在近地点的速度V_far=sqrt(m*(2/r2-2/(r1+r2)));%转移轨道在远地点的速度h=r1*V_near;%由于在近地点的速度垂直于位置失量, h是转移轨道的⽐动量矩e=sqrt(1+2*E*h^2/m^2);%e为椭圆轨迹的偏⼼率TOF=pi*sqrt(a^3/m);%转移轨道是椭圆的⼀半及飞⾏时间是周期的⼀半(开普勒第三定律) w=pi/TOF;%椭圆轨迹的⾓速度c=a*e;b=sqrt(a^2-c^2);x_ellipse=a*cos(w*t)-0.5*r1;y_ellipse=b*sin(w*t);%动画显⽰运动轨迹x=[x_inter;x_outer;x_ellipse]';y=[y_inter;y_outer;y_ellipse]';comet(x,y)%---------------------------动态图像如下:2.利⽤两种不同途径求解边值问题dfdxf gdgdxf g f g=+=-+==34430001,,(),()的解.途径⼀:指令syms f g[f,g]=dsolve('Df=3*f+4*g,Dg=-4*f+3*g','f(0)=0,g(0)=1'); disp('f=');disp(f)disp('g=');disp(g)结果(Matlab 7.8版本)f=i/(2*exp(t*(4*i - 3))) - (i*exp(t*(4*i + 3)))/2g=exp(t*(4*i + 3))/2 + 1/(2*exp(t*(4*i - 3)))(Matlab 6.5版本)f=exp(3*t)*sin(4*t)g=exp(3*t)*cos(4*t)>>途径⼆:%problem2function dy=problem2(t,y)dy = zeros(2,1);dy(1) = 3*y(1)+4*y(2);dy(2) = -4*y(1)+3*y(2);[t,y] = ode45('problem2',[0 2],[0 1]);plot(t,y(:,1),'r',t,y(:,2),'b');图23.假设著名的Lorenz 模型的状态⽅程表⽰为-+-=+-=+-=)()()()()()()()()()()()(322133223211t x t x t x t x t x t x t x t x t x t x t x t x σρρβ其中,设28,10,3/8===σρβ。
Matlab大作业
Matlab的基本操作一、使用函数实现对下列矩阵的左旋和右旋以及反转已知答案:如图:矩阵如图矩阵的左旋如图一矩阵的右旋如图二矩阵的左右反转如图三矩阵的上下反转如图四二、已知A=[8 9 5 ] B=[-1 3 -2][36 -7 11] [2 0 3][21 -8 5] [-3 1 9 ]计算:1)A+5*B;2)A*B和A.*B3)A^3和A.^34)A/B和B\A5)[A,B]答案:A=[8 9 5;36 -7 11;21 -8 5];B=[-1 3 -2;2 0 3;-3 1 9];A+5*BA*BA.*BA^3A.^3A/BA\B[A,B]程序运行结果如下:第二章、Matlab程序设计一、已知S=1+2+22+23+…+263求S的值答案:代码如下:ClearClcs=0,j=2for i=1:63s=s+j^iends程序运行结果如下:二、第三章、Matlab绘图一、在同一坐标系中画出下列函数的图像:x2,-x2,xsin(x)在[0,2π]上的函数图像程序代码如下:clearclcx=0:pi/100:2*pi;y1=x.^2;y2=-x.^2;y3=x.*sin(x);title('同一坐标下的函数图像')plot(x,y1,':',x,y2,'h',x,y3,'--')程序运行结果如下:二、绘制极坐标图像:程序代码如下:clearclcx=0:0.01:2*pi;y=2*cos(2*(x-pi/8));title('极坐标图像')xlabel('x')ylabel('y')polar(x,y)程序运行结果如下:第四章、Matlab符号运算一、求函数y=e-x2 的傅立叶变换及其逆变换程序代码如下:clearclcsyms x t;y=exp(-x^2);Ft=fourier(y,x,t)fx=ifourier(Ft,t,x)程序运行结果如下:二、求下列极限值:答案:1、程序代码:clearclcsyms x;s1=sin(2*x)/sin(5*x);limit(s1,x,0)s2=(1+1/x)^(2*x);limit(s2,x,inf)程序运行结果如下:第五章、Matlab数值运算一、建立一个3*4阶随机矩阵,求矩阵的最大值、最小值、方差和标准差、极差、协方差,和自相关阵程序代码如下:clearclcA=rand(3,4)B=var(A)C=std(A)D=range(A)E=cov(A)F=corrcoef(A)程序运行结果如下:二、求函数f(x)=x3-2x+1在x=[-1 1]之间的极小值和x=-1附近的零点程序代码如下:clearclc[x,y]=fminbnd('x.^3-2.*x+1',-1,1)[x,y]=fzero('x.^3-2.*x+1',-1)程序运行结果如下:第六章、Matlab图形用户界面一、建立一个具有三个输入框的窗口对话框程序代码如下:clearclcprompt={'姓名','年龄','班级'};DTitle='注册学生信息';line[1;1;1];def{'乔阳','18','100412105'};info=inputdlg(prompt,DTitle,line,def,'ON')程序运行结果如下:二、设计一个表现下载进度的进度条程序代码如下:clearclch = waitbar(0,'正在下载,请稍等……');for i=1:1000waitbar(i/10000,h)endclose(h)程序运行结果如下:第七章、Matlab Simulink 仿真一、仿真信号x(t)=sin(t)sin(10t)的波形仿真步骤:1.建立模型窗口:生成无标题(intitled)的模型窗口;2.添加信号源模块(sine)、输出模块(scope)、数学模块(Dot product)3.设置模块参数:如下图:4.编辑模块即将各个模块连接起来。
matlab1-8章课后作业
MATLAB基础教程1~8章作业Matlab第一章1.阐述Matlab的功能Matlab作为一种高级计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境,已被广泛应用于不同领域。
Matlab的基本功能包括:数学计算功能、图形化显示功能、M语言编程功能、编译功能、图形用户界面开发功能、Simulink建模仿真功能、自动代码生成功能。
Matlab第二章1.创建double的变量,并进行计算。
(1)a=87,b=190,计算a+b、a-b、a*b。
(2)创建uint8 类型的变量,数值与(1)中相同,进行相同的计算。
>> a=87,b=190a =87b =190>> a+bans =277>> a-bans =-103>> a*bans =16530>> c=uint8(87), d=uint8(190)c =87d =190>> c+dans =255>> c-dans =>> c*dans =2552.计算(1)sin(60)(2)e^3(3)cos(3π/4)>> sind(60)ans =0.8660>> exp(3)ans =20.0855>> cos(3*pi/4)ans =-0.70713.设u=2,v=3,计算:(1)(2)(3)>> u=2;>> v=3;>> 4*u*v/log(v)ans =21.8457>> (exp(u)+v)^2/(v^2-u)ans =15.4189>> sqrt(u-3*v)/(u*v)ans =0 + 0.4410i4.计算如下表达式:(1)(2)>> (3-5*i)*(4+2*i)ans =22.0000 -14.0000i>> sin(2-8*i)ans =1.3553e+003 +6.2026e+002i5.判断下面语句的运算结果。
MATLAB作业4-1
MATLAB作业4-1MATLAB 作业41、⽤2sin(103)y t =+在(0,3)区间内⽣成⼀组较稀疏的数据,并⽤⼀维数据插值的⽅法对给出的数据进⾏曲线拟合,并将结果与理论曲线相⽐较。
解:2、⽤242231(,)sin()3x y f x y e xy x y x y--=++原型函数⽣成⼀组⽹络数据或随机数据,分别拟合出曲⾯,并和原曲⾯进⾏⽐较。
解:⽹格数据:随机数据:x∈-区间内的光滑函数曲线,⽐较各种插值算法3、假设已知⼀组数据,试⽤插值⽅法绘制出(2,4.9)>> x=[-2,-1.7,-1.4,-1.1,-0.8,-0.5,-0.2,0.1,0.4,0.7,1,1.3,...1.6,1.9,2.2,2.5,2.8,3.1,3.4,3.7,4,4.3,4.6,4.9];y=[0.10289,0.11741,0.13158,0.14483,0.15656,0.16622,0.17332,...0.1775,0.17853,0.17635,0.17109,0.16302,0.15255,0.1402,...0.12655,0.11219,0.09768,0.08353,0.07019,0.05786,0.04687,...0.03729,0.02914,0.02236];解:x y在(0.1,0.1)~(1.1,1.1)区域内的点进⾏插值,并⽤三维曲⾯4、假设已知实测数据由下表给出,试对(,)>> [x,y]=meshgrid(0.1:0.1:1.1);z=[0.83041,0.82727,0.82406,0.82098,0.81824,0.8161,0.81481,0.81463,0.81579,0.81853,0.82304 ;0.83172,0.83249,0.83584,0.84201,0.85125,0.86376,0.87975,0.89935,0.92263,0.94959,0.9801; 0.83587,0.84345,0.85631,0.87466,0.89867,0.9284,0.96377,1.0045,1.0502,1.1,1.1529;0.84286,0.86013,0.88537,0.91865,0.95985,1.0086,1.0642,1.1253,1.1904,1.257,1.3222;0.85268,0.88251,0.92286,0.97346,1.0336,1.1019,1.1764,1.254,1.3308,1.4017,1.4605;0.86532,0.91049,0.96847,1.0383,1.118,1.2046,1.2937,1.3793,1.4539,1.5086,1.5335;0.88078,0.94396,1.0217,1.1118,1.2102,1.311,1.4063,1.4859,1.5377,1.5484,1.5052;0.89904,0.98276,1.082,1.1922,1.3061,1.4138,1.5021,1.5555,1.5573,1.4915,1.346;0.92006,1.0266,1.1482,1.2768,1.4005,1.5034,1.5661,1.5678,1.4889,1.3156,1.0454;0.94381,1.0752,1.2191,1.3624,1.4866,1.5684,1.5821,1.5032,1.315,1.0155,0.62477;0.97023,1.1279,1.2929,1.4448,1.5564,1.5964,1.5341,1.3473,1.0321,0.61268,0.14763];解:5、习题3和4给出的数据分别为⼀元数据和⼆元数据,试⽤分段三次样条函数和B样条函数对其进⾏拟合。
MATLAB作业
MATLAB作业⼀、必答题:1. MATLAB系统由那些部分组成?答:MATLAB系统主要由开发环境、MATLAB语⾔、MATLAB数学函数库、图形功能和应⽤程序接⼝五个部分组成。
2. 如何启动M⽂件编辑/调试器?答:在操作界⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M⽂件编辑/调试器将被启动。
在命令窗⼝中键⼊“edit”命令也可以启动M⽂件编辑/调试器。
3. 存储在⼯作空间中的数组能编辑吗?如何操作?答:存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。
4. 在MATLAB中有⼏种获得帮助的途径?答:在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗⼝键⼊“help” 命令可以列出帮助主题,键⼊“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗⼝键⼊“lookfor 关键词”可以搜索出⼀系列与给定关键词相关的命令和函数(4)模糊查询:输⼊命令的前⼏个字母,然后按Tab键,就可以列出所有以这⼏个字母开始的命令和函数。
5. 有⼏种建⽴矩阵的⽅法?各有什么优点?答:(1)以直接列出元素的形式输⼊;(2)通过语句和函数产⽣;(3).在m⽂件中创建矩阵;(4)从外部的数据⽂件中装⼊。
6. 命令⽂件与函数⽂件的主要区别是什么?答:命令⽂件: M⽂件中最简单的⼀种,不需输出输⼊参数,⽤M ⽂件可以控制⼯作空间的所有数据。
运⾏过程中产⽣的变量都是全局变量。
运⾏⼀个命令⽂件等价于从命令窗⼝中顺序运⾏⽂件⾥的命令,程序不需要预先定义,只要依次将命令编辑在命令⽂件中即可。
函数⽂件:如果M⽂件的第⼀个可执⾏⾏以function开始,便是函数⽂件,每⼀个函数⽂件定义⼀个函数。
Matlab基础及应用第一章上机作业
1、新建一个文件夹(自己的名字命名)
答:
2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
保存,关闭对话框。
使用path命令查看MATLAB搜索路径。
3、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye。
4、使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
5、编写一段简短的脚本文件,保存并显示运行结果。
6、创建两个double型变量a=32、b=5,并计算a+b、a-b、a*b、a/b、a\b;
创建两个int8型变量a、b,取同样数值,并计算a+b、a-b、a*b、a/b、a\b,对于计算结果与前次计算结果不同的情形请给出解释。
7、查看int16数据类型的取值范围(intmin,intmax);查看单精度数据类型的取值范围和精度(realmin,realmax,eps)。
8、求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量:
(1)sin(60o) (2) e3 (3) cos(3/4π)
9、用两种定义复数的方法计算(直接定义,complex(a,b))
(1)(3-5i)(4+2i) (2) sin(2-8i)。
matlab课程设计大作业
matlab课程设计大作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及MATLAB 在工程计算和数据分析中的应用。
通过本课程的学习,学生将能够熟练使用MATLAB进行简单数学计算、线性方程组求解、函数图像绘制等。
1.掌握MATLAB基本语法和编程结构。
2.了解MATLAB在工程计算和数据分析中的应用。
3.熟悉MATLAB的函数库和工具箱。
4.能够使用MATLAB进行简单数学计算。
5.能够使用MATLAB求解线性方程组。
6.能够使用MATLAB绘制函数图像。
7.能够利用MATLAB进行数据分析和处理。
情感态度价值观目标:1.培养学生对计算机辅助设计的兴趣和认识。
2.培养学生团队合作和自主学习的能力。
二、教学内容本课程的教学内容主要包括MATLAB基本语法、编程技巧以及MATLAB在工程计算和数据分析中的应用。
1.MATLAB基本语法:介绍MATLAB的工作环境、基本数据类型、运算符、编程结构等。
2.MATLAB编程技巧:讲解MATLAB的函数调用、脚本编写、函数文件编写等编程技巧。
3.MATLAB在工程计算中的应用:介绍MATLAB在数值计算、线性方程组求解、图像处理等方面的应用。
4.MATLAB在数据分析中的应用:讲解MATLAB在数据采集、数据分析、数据可视化等方面的应用。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解MATLAB的基本语法、编程技巧以及应用案例,使学生掌握MATLAB的基本知识和技能。
2.案例分析法:通过分析实际工程案例,使学生了解MATLAB在工程计算和数据分析中的应用。
3.实验法:安排上机实验,使学生在实际操作中巩固所学知识,提高实际编程能力。
四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。
1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。
2.实验设备:为学生提供计算机实验室,配备有MATLAB软件的计算机。
Matlab习题及答案
现代计算方法Matlab 作业答案1.绘出函数f(x)=sin x x ,在[0,4]上的图形解:在M 文件输入:x=0:pi/100:4;y=x.*sin(x);plot(y)运行2. 求3x +2x +5 = 0的根解:在命令窗口输入:>> solve('x^3+2*x+5=0')ans =((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3) - 2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3))1/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) - ((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)/2 -(3^(1/2)*i*(2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) + ((108^(1/2)*707^(1/2))/108 -5/2)^(1/3)))/21/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) - ((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)/2 +(3^(1/2)*i*(2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) + ((108^(1/2)*707^(1/2))/108 -5/2)^(1/3)))/23.321436min x x x z ++=120..321=++x x x t s301≥x5002≤≤x203≥x解:运用单纯形法计算此题,首先把约束条件化成标准形式:,,,,,205030120654321635241321≥=-=+=-=++x x x x x x x x x x x x x x x(1)在M 文件输入SimpleMthd 函数:function [x,minf] = SimpleMthd(A,c,b,baseVector)sz = size(A);nVia = sz(2);n = sz(1);xx = 1:nVia;nobase = zeros(1,1);m = 1;for i=1:nViaif (isempty(find(baseVector == xx(i),1)))nobase(m) = i;m = m + 1;else;endendbCon = 1;M = 0;while bConnB = A(:,nobase);ncb = c(nobase);B = A(:,baseVector);cb = c(baseVector);xb = inv(B)*b;f = cb*xb;w = cb*inv(B);for i=1:length(nobase)sigma(i) = w*nB(:,i)-ncb(i);end[maxs,ind] = max(sigma);if maxs <= 0minf = cb*xb;vr = find(c~=0 ,1,'last');for l=1:vrele = find(baseVector == l,1);if (isempty(ele))x(l) = 0;elsex(l)=xb(ele);endendbCon = 0;elsey = inv(B)*A(:,nobase(ind));if y <= 0disp('不存在最优解!');x = NaN;minf = NaN;return;elseminb = inf;chagB = 0;for j=1:length(y)if y(j)>0bz = xb(j)/y(j);if bz<minbminb = bz;chagB = j;endendendtmp = baseVector(chagB);baseVector(chagB) = nobase(ind);nobase(ind) = tmp;endendM = M + 1;if (M == 1000000)disp('找不到最优解!');x = NaN;minf = NaN;return;endend(2)在命令窗口输入:clear allA=[1 1 1 0 0 0;1 0 0 -1 0 0;0 1 0 0 1 0;0 0 1 0 0 -1];c=[6 3 4 0 0 0];b=[120;30;50;20];[xm,mf]=SimpleMthd(A,c,b,[3 4 5 6])xm =0 50 70mf =4304.计算下面函数在区间(0,1)内的最小值。
matlab综合大作业(附详细答案)
m a t l a b综合大作业(附详细答案)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5)实验结果:A =0.1349 3.3818 0.6266 1.2279 1.5888-2.3312 3.3783 2.4516 3.1335 -1.67241.2507 0.9247 -0.1766 1.11862.42861.5754 1.6546 5.3664 0.8087 4.2471-1.2929 1.3493 0.7272 -0.6647 -0.38362)将矩阵A按列拉长得到矩阵B;实验程序:B=A(:)实验结果:B =0.1349-2.33121.25071.5754-1.29293.38183.37830.92471.65461.34930.62662.4516-0.17665.36640.72721.22793.13351.11860.8087-0.66471.5888-1.67242.42864.2471-0.38363)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)]实验结果:C =3.3783 3.13350.9247 1.11864)寻找矩阵A中大于0的元素;]实验程序:G=A(find(A>0))实验结果:G =0.13491.25071.57543.38183.37830.92471.65461.34930.62662.45165.36640.72721.22793.13351.11860.80871.58882.42864.24715)求矩阵A的转置矩阵D;实验程序:D=A'实验结果:D =0.1349 -2.3312 1.2507 1.5754 -1.29293.3818 3.3783 0.9247 1.6546 1.34930.6266 2.4516 -0.1766 5.3664 0.72721.2279 3.1335 1.1186 0.8087 -0.66471.5888 -1.67242.4286 4.2471 -0.38366)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;实验程序:E=flipud(fliplr(A))实验结果:E =-0.3836 -0.6647 0.7272 1.3493 -1.29294.2471 0.80875.3664 1.6546 1.57542.4286 1.1186 -0.1766 0.9247 1.2507-1.6724 3.1335 2.4516 3.3783 -2.33121.5888 1.2279 0.6266 3.3818 0.13497)删除矩阵A的第2列和第4列得到矩阵F;实验程序:F=A;F(:,[2,4])=[]实验结果:F =0.1349 0.6266 1.5888-2.3312 2.4516 -1.67241.2507 -0.17662.42861.5754 5.3664 4.2471-1.2929 0.7272 -0.38368)求矩阵A的特征值和特征向量;实验程序:[Av,Ad]=eig(A)实验结果:特征向量Av =-0.4777 0.1090 + 0.3829i 0.1090 - 0.3829i -0.7900 -0.2579 -0.5651 -0.5944 -0.5944 -0.3439 -0.1272-0.2862 0.2779 + 0.0196i 0.2779 - 0.0196i -0.0612 -0.5682 -0.6087 0.5042 - 0.2283i 0.5042 + 0.2283i 0.0343 0.6786 0.0080 -0.1028 + 0.3059i -0.1028 - 0.3059i 0.5026 0.3660 特征值Ad =6.0481 0 0 0 00 -0.2877 + 3.4850i 0 0 00 0 -0.2877 - 3.4850i 0 00 0 0 0.5915 00 0 0 0 -2.30249)求矩阵A的每一列的和值;实验程序:lieSUM=sum(A)实验结果:lieSUM =-0.6632 10.6888 8.9951 5.6240 6.208710)求矩阵A的每一列的平均值;实验程序:average=mean(A)实验结果:average =-0.1326 2.1378 1.7990 1.1248 1.24172.符号计算(10分,每小题5分):1)求方程组20,0++=++=关于,y z的解;uy vz w y z w实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z');y= S. y, z=S. z实验结果:y =[ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] z =[ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]2)利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解; 实验程序:[x,y]=dsolve('Dx=y','Dy=-x')实验结果:x =-C1*cos(t)+C2*sin(t)y = C1*sin(t)+C2*cos(t)3.数据和函数的可视化(20分,每小题5分):1)二维图形绘制:绘制方程2222125x y a a +=-表示的一组椭圆,其中0.5:0.5:4.5a =;实验程序:t=0:0.01*pi:2*pi; for a=0.5:0.5:4.5; x=a*cos(t); y=sqrt(25-a^2)*sin(t); plot(x,y) hold on end实验结果:2) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;实验程序:x=0:0.1:4; y1=sin(x); y2=10.^x;[ax,h1,h2]=plotyy(x,y1,x,y2); set(h1,'LineStyle','.','color','r'); set(h2,'LineStyle','-','color','g'); legend([h1,h2],{'y=sinx';'y=10^x'});实验结果:3)用曲面图表示函数22z x y =+;实验程序:x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z)实验结果:4)用stem 函数绘制对函数cos 4y t π=的采样序列;实验程序:t=-8:0.1:8;y=cos(pi.*t/4); stem(y)实验结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x+=,要求设计出一个FIR 滤波器恢复出原始信号。
MATLAB作业4参考答案
MATLAB作业4参考答案MATLAB作业四参考答案2yt,,sin(103)1、用在(0,3)区间内生成一组较稀疏的数据,并用一维数据插值的方法对给出的数据进行曲线拟合,并将结果与理论曲线相比较。
【求解】类似于上面的例子~可以用几乎一致的语句得出样本数据和插值效果。
>> t=0:0.2:3;y=sin(10*t.^2+3); plot(t,y,'o')ezplot('sin(10*t^2+3)',[0,3]); hold on x1=0:0.001:3;y1=interp1(t,y,x1,'spline'); plot(x1,y1)由于曲线本身变换太大~所以在目前选定的样本点下是不可能得出理想插值效果的~因为样本数据提供的信息量不够。
为了得到好的插值效果~必须增大样本数据的信息量~对本例来说~必须在快变化区域减小样本点的步长。
>> hold offt=[0:0.1:1,1.1:0.04:3]; y=sin(10*t.^2+3); plot(t,y,'o')ezplot('sin(10*t^2+3)',[0,3]); hold on x1=0:0.001:3;y1=interp1(t,y,x1,'spline'); plot(x1,y1)241,,xy22fxyexyxy,,(,)sin()2、用原型函数生成一组网络数据或随机数据,分别拟合出曲3xy,3面,并和原曲面进行比较。
【求解】由下面的语句可以直接生成一组网格数据~用下面语句还可以还绘制出给定样本点是三维表面图。
>> [x,y]=meshgrid(0.2:0.2:2);z=exp(-x.^2-y.^4).*sin(x.*y.^2+x.^2.*y)./(3*x.^3+y); surf(x,y,z) 选择新的密集网格~则可以通过二元插值得出插值曲面。
MATLAB第一章作业答案
第一章M A T L A B概况与基本操作1.选择题:(1)最初的MATLAB核心程序是采用A语言编写的。
(2)即将于2011年9月发布的MATLAB新版本的编号为D。
2011Ra 2011Rb R2011a R2011b(3)在默认设置中,MATLAB中的注释语句显示的颜色是D。
A.黑色B.蓝色C.红色D.绿色(4)如果要以科学计数法显示15位有效数字,使用的命令是B。
long long e long g long d(5)在命令窗口新建变量a、b,如果只查看变量a的详细信息,使用的命令为B。
a a(6)如果要清除工作空间的所有变量,使用的命令为 C 。
all C.两者都可 D.两者都不可(7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上D。
A.冒号B.逗号C.空格D.分号(8)如果要重新执行以前输入的命令,可以使用B键。
A.下箭头↓B.上箭头↑C.左箭头←D.右箭头→(9)如果要查询函数inv的相关信息,并显示在命令窗口,应使用命令A。
D.三者均可(10)如果要启动Notebook文档,下列D操作是可行的。
A.在命令窗口输入notebook命令B.在命令窗口输入notebook filename命令C.在Word中启动M-book文档D.三者均可2.填空题:(1)MATLAB是MATrix和LABoratory两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler和Jack Little。
(2)在MATLAB的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为紫色,注释显示的字体为绿色,错误信息显示的字体为红色。
(3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format compact,各行之间不添加空行的命令为format compact。
备注:本题布置给大家时有一点小错误,现在予以更正。
Matlab作业3(数值分析)答案
Matlab作业3(数值分析)机电工程学院(院、系)专业班组学号姓名实验日期教师评定1.计算多项式乘法(x2+2x+2)(x2+5x+4)。
答:2. (1)将(x-6)(x-3)(x-8)展开为系数多项式的形式。
(2)求解在x=8时多项式(x-1)(x-2) (x-3)(x-4)的值。
答:(1)(2)3. y=sin(x),x从0到2π,∆x=0.02π,求y的最大值、最小值、均值和标准差。
4.设x=[0.00.30.8 1.1 1.6 2.3]',y=[0.500.82 1.14 1.25 1.351.40]',试求二次多项式拟合系数,并据此计算x1=[0.9 1.2]时对应的y1。
解:x=[0.0 0.3 0.8 1.1 1.62.3]'; %输入变量数据xy=[0.50 0.82 1.14 1.25 1.35 1.40]'; %输入变量数据yp=polyfit(x,y,2) %对x,y用二次多项式拟合,得到系数px1=[0.9 1.2]; %输入点x1y1=polyval(p,x1) %估计x1处对应的y1p =-0.2387 0.9191 0.5318y1 =a) 1.29095.实验数据处理:已知某压力传感器的测试数据如下表p为压力值,u为电压值,试用多项式dcpbpappu+++=23)(来拟合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。
解:>> p=[0.0,1.1,2.1,2.8,4.2,5.0,6.1,6.9,8.1,9.0,9.9];u=[10,11,13,14,17,18,22,24,29,34,39];x=polyfit(p,u,3) %得多项式系数t=linspace(0,10,100);y=polyval(x,t); %求多项式得值plot(p,u,'*',t,y,'r') %画拟和曲线x =0.0195 -0.0412 1.4469 9.8267。
山东大学《matlab程序设计》期末作业
《Matlab 程序设计》 期末作业学院: 专业: 班级:学号: 姓名: 成绩:一 、 简答题(每题10分,共50分)1、假设有两个矩阵A 和B ,请用这两个矩阵说明Matlab 数值计算中的“左除”与“右除”有什么区别?2、脚本M 文件与函数M 文件的主要区别是什么?3、设矩阵A=[1 4 3 9;5 30 12 42;2 18 32 15],试编程找出A 中所有大于或等于5的元素,并把这些元素组成一个列向量,并计算出这些元素的总和(注意附上标注说明)4、利用Matlab 编写程序求取335lim 21x x x →∞++和120()t t dt -⎰,并对求取结果进行分子和分母的提取(注意附上标注说明)。
5、利用Matlab 编写程序求微分方程x e y y y x 2cos 52=+'-''的通解。
二、 综合题(每题20分,共40分)1、在同一张图上分别画出两组坐标)10,,2,1(),4,(),,(3222 =+i i i i i i 的散点图和折线图。
要求只能利用plot 命令进行绘制,X 坐标范围[0,105] ,Y 坐标范围[0,1450]。
2、已知学生的名字和百分制分数。
编写相应的程序要求输入所有学生的百分制分数后,一次性判断每个学生的成绩分别是“满分”、“优秀”、“良好”、“及格”还是“不及格”,并要求最后用单元数组按行分别输出每个学生的名字、分数和成绩判断结果。
学生姓名 Jack Marry Peter Rose Tom成 绩 72 83 56 94 100判断标准:满分(100),优秀(90-99),良好(80-89),及格(60-79),不及格(<60)三、 论述题(共10分)浅谈一下Fortran 、matlab 、maple 和mathematic 这四种计算语言的特点和区别。
MATLAB第三章和第四章作业
习题三1.选择题(1)已知a=4,b='4',下面说法错误的为C 。
A. 变量a比b占用的存储空间大B. 变量a和b可以进行加、减、乘、除运算C. 变量a和b的数据类型相同D. 变量b可以用eval命令执行(2)已知s='显示"hello"',则s的元素个数是B 。
A. 12B. 9C. 7D. 18(3)运行命令>>a=sym('pi','d')则对于变量a的描述D是正确的。
A. a是符号变量B. a显示为10位的数值C. a显示为32位的数值D. a不存在(4)对于符号表达式g=sym('sin(a*z)+cos(w*v)'),如果运行命令diff(g),则求导自变量是D。
A. aB. zC. wD. v(5)运行命令>>a=double(sym('sin(pi/2)')),则变量a是 C。
A. 符号变量B. 字符串'1'C. double型的数值1D. 出错(6)运行命令>>y=dsolve('x*D2y-3*Dy=x^2','t')求解微分方程,则D。
A. Dy是指dy/dxB. 得出的y是通解有一个常数符C1C. D2y是指d2y/dxD. 得出的y是通解有两个常数符C1和C2(7)有一个2行2列的元胞数组c,则c(2)是指C 。
A. 第1行第2列的元素内容B. 第2行第1列的元素内容C. 第1行第2列的元素D. 第2行第1列的元素(8)对于一个2行2列的元胞数组c,如果要删除第二列的元素,应该使用的命令是B 。
A.c{:,2}=[]B.c(:,2)=[]C.A、B两种方式均可D.A、B两种方式均不可(9)有一个3行10列的构架数组student,每个构架有name(姓名)、scores两个字段,其中scores是以1×5数组表示的五门课的成绩,那么要查看第4个学生的第2门课成绩,采用的命令中达不到要求的是。
MATLAB大作业
M A T L A B大作业(总15页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--MATLAB大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。
(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。
(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。
第一类:绘制图形。
(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。
斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。
问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。
其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。
接下来对其余三个小三角形重复上述操作,如图所示。
问题三:其他分形曲线或图形。
分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。
matlab作业
1、猜数游戏。
首先由计算机产生[1,100]之间的随机整数,然后由用户猜测所产生的随机数。
根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏。
用户最多可以猜7次。
程序文件:nu m=fix(rand(1)*100);n=1;while n<=7a=input('请输入一个1到100的随机整数');n=n+1;if a>nu mdisp('High');elseif a<nu mdisp('low');elsedisp('won');break;endend2、从键盘输入5个数,求其中最大数和最小数。
并在屏幕上提示输入“请输入您要显示数字的序号”,输入后,回显“您要显示数字为……(此处为实际需要显示序号对应的数字)”。
程序文件:disp('请输入5个数字')for n=1:5;x=input('');A(1,n)=x;endAB=sort(A);Bdisp('最大值是');B(1,5)disp('最小值是');B(1,1)disp('请输入您要显示数字的序号');nu m=input('');disp('您要显示数字为');A(1,nu m)3、求Fibonacci数列(1)大于4000的最小项。
(2)5000之内的项数。
程序文件:(1)大于4000的最小项f=[1,1];j=1;while f(1,j+1)<4000f(1,j+2)=f(1,j)+f(1,j+1);j=j+1;endfdisp('大于4000的最小项是');f(1,j+1)运行结果f =Colu m ns 1 through 101 123 5 8 13 21 34 55Colu m ns 11 through 1989 144 233 377 610 987 1597 2584 4181大于4000的最小项是ans =4181(2)5000之内的项数f=[1,1];j=1;while f(1,j+1)<5000f(1,j+2)=f(1,j)+f(1,j+1);j=j+1;endfdisp('5000之内的项数');j运行结果f =Colu m ns 1 through 101 123 5 8 13 21 34 55Colu m ns 11 through 2089 144 233 377 610 987 1597 2584 4181 67655000之内的项数j =19。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一
1、熟悉MATLAB的窗口结构(命令窗口、历史命令窗口、工作区窗口、当前目录
窗口)
2、掌握命令窗口中基本命令的使用
3、在命令窗口中,给定圆的半径r,求得圆的周长c和面积s,并查看工作区窗
口的变化
4、将r,c,s变量保存到磁盘文件abc.mat中,并删除内存变量r,c,s,查看工作
区窗口的变化
5、将abc.mat文件中变量装入内存,查看工作区窗口的变化
6、将历史命令窗口中的命令再装入命令窗口中使用
7、改变当前目录,查看当前目录窗口的变化
8、掌握命令窗口中
cd,quit,help,date,dir,ls,what,who,clocl,fix(clock),format,save,loa d,clc,clear等命令的使用
9、注意各种MATLAB版本的差别
实验二
1、在命令窗口中,输入长方形的长和宽,求长方形的周长和面积
2、输入三角形的三条边(要满足构成三角形的条件),求三角形的周长和面积
3、掌握MATLAB中各标准函数的使用(sin,cos,sind,fix,mod,…)
4、用fprintf输出各种类型的数据(如fprintf('a=%d\n',123)
a=123
>> fprintf('b=%f\n',123.456)
b=123.456000
>> fprintf('c=%c\n','A')
c=A……)
实验三
1、在编辑窗口中:输入学生成绩,输出该成绩的等级。
等级规定如下:[90,
100]为A等,[80,90)为B等,[70,80)为C等,[60,70)为D等,[0,60)为E等。
要求用if和 switch两种方法实现。
2、商场购物,100件以下,不优惠,100~199件95折,200~399件90折,400~799
件85折,800~1499件80折,1500件以上,75折。
输入所购货物的单价、件数,求实际付款数目。
要求用if和 switch两种方法实现(在编辑窗口中实现)。
实验四
1、求两个正整数的最大公约数和最小公倍数(在编辑窗口中实现,命令窗口中
调用)。
2、求100~300内所有素数(在编辑窗口中实现,命令窗口中调用)。
实验五
1、用函数文件求两个正整数的最大公约数和最小公倍数(在编辑窗口中实现,
命令窗口中调用)。
2、用函数文件求100~300内所有素数(在编辑窗口中实现,命令窗口中调用)。
3、给定一个班的人数和成绩,用函数文件求该班的最高分、最低分和平均分。
实验六
1、自己给定矩阵,实现两矩阵的加、减、乘、除运算
2、用函数文件输出任意行的杨辉三角形
3、自己给定矩阵,实现矩阵的点乘和点除
试验七
1、给定一个行向量,个数自定,用循环的嵌套和函数文件实现该行向量的从小
到大的排列
2、一个学生数据包含:学号、姓名、性别、年龄、成绩,输入一个班若干个学
生数据,将学生数据按成绩从高到低重新排列。
3、自己设定多项式,求多项式的根和多项式的值。
实验八
1、用红色画出y=sin(x)在[-pi,pi]中的图像
2、在同一坐标中,用蓝色画出y=x3+2x2-4x+5的图像
3、在同一坐标中,用黄色画出y=e x的图像
试验九
在第1个子窗口用极坐标画图显示r=0.5(1+cos(θ)),其中θ∈[0,2π];在第2个子窗口作填充图,填充坐标矢量为X=[0 0.2 0.8 1 0.5 0],Y=[1 0 0 1 1.8 1],填充颜色为蓝色;在第3个子窗口作双y轴图y1=sin(t),t∈[0,4π],y2=20*cos(t);在第4个子窗口显示相图x=sin(t),y=cos(t).如图所示。
试验十
1、在区间x=0: π/100:2*π内,在同一幅图上同时绘制曲线
,,并对图形加上一些说明,得到如下所示的图形。
2、在第1个子窗口用半对数坐标同时画出曲线y1=6+log(x)+x和y2=x+5,x∈[0,10],在第2个子窗口用极坐标画图显示r=cos(6θ),其中θ∈[0,2π];在第3个子窗口画出如图所示曲线y=sin(x),x∈[0,2π];在第4个子窗口显示三维离散数据图x=exp(t),y=t,z=exp(t), t∈[0,5].如图所示。
实验十一
1.对x’=-2x(t)+u(t)进行仿真,其中信号u是阶跃波信号。
建模所需模块如下:
Gain 增益模块-2
Integator积分模块
Add 相加
Step 阶跃波
Scope 示波器
Out1 输出变量到工作空间
建立的模型框图如下
代码见e15_1.mdl
可以在命令窗口输入:plot(tout,yout);并与仿真结果比较。
2.GUI编程
在第一个窗口中设置一个列表框,里面有内容:张三、李四、王五、赵六(分四行)。
若双击某行,则弹出第二个窗口,显示选中的内容,按返回按钮,则回到第一个窗口。
代码见mainfig.fig,mainfig.m, nextfig.fig, nextfig.m 或main1fig.fig,main1.m,nextfig1.fig,nextfig1.m
实验十二
设计一个GUI界面如下:
输入姓名,选中性别,选中民族,点击提交按钮,将选中的内容在静态文本框中显示。
代码见zhuce.fig,zhuce.m
实验十三
1、对于给定的一元函数y=f(x) 的n+1个节点值yi=f(xi) (i=0,1,2,…,n)。
试用Lagrange 公式求其插值多项式。
数据如下: 计算f(0.596)和f(0.99)的值。
(提示:f(0.596)≈0.625732,f(0.99)≈1.05423 )
2、用三次Lagrange 公式和Newton 公式求插值多项式,此多项式在x 0=1,x 1=3,x 2=6,x 3=7处的函
数值与f(x)=x 2
相同。
最后求出在x=1.5、2.5、5.5处的近似值。
实验十四
1、 用复合梯形(取n=2,4,8,16)和MATLAB 函数文件求
⎰
10
dx e x 的近似值
2、 用复合辛铺森(取n=2,4,8,16)和MATLAB 函数文件求 ⎰
1
dx e x 的近似值
3、 将上述求得的近似值与真值进行比较 。
试验十五
1、用二分法求方程x 2-x-1=0的正根,使误差小于0.05,用MATLAB 编程实现。
2、求方程x 3-x 2-1=0在x 0=1.5附近的一个根,请自己选择至少两个收敛的迭代公式,用MATLAB 编程实现。
3、用牛顿法求f(x)=x 3-3x-1=0在x 0=2附近的根,用MATLAB 编程实现。
试验十六
1、用gauss 消去法和LU 分解求下列方程组的解
x 0.4
0.55
0.65
0.80
0.95 1.05 y
0.41075 0.57815 0.69675 0.90
1.00
1.25382
4 2 -3 -1 2 1 0 0 0 0 x1
5 8
6 -5 -3 6 5 0 1 0 0 x2 12 4 2 -2 -1 3 2 -1 0 3 1 x3 3 0 -2 1 5 -1 3 -1 1 9 4 x4 2 -4 2 6 -1 6
7 -3 3 2 3 x5 3
8 6 -8 5 7 17 2 6 -3 5 x6 46 0 2 -1 3 -4 2 5 3 0 1 x7 13 16 10 -11 -
9 17 34 2 -1 2 2 x8 38 4 6 2 -7 13 9 2 0 12 4 x9 19 0 0 -1 8 -3 -24 -8 6 3 -1 x10 -21
=
×
真解为x *
=(1,-1,0,1,2,0,3,1,-1,1)’
2、用雅可比迭代和高斯-塞德尔迭代求下列方程组的解
4 2 -3 -1 2 1 0 0 0 0 x1
5 8
6 -5 -3 6 5 0 1 0 0 x2 12 4 2 -2 -1 3 2 -1 0 3 1 x3 3 0 -2 1 5 -1 3 -1 1 9 4 x4 2 -4 2 6 -1 6
7 -3 3 2 3 x5 3
8 6 -8 5 7 17 2 6 -3 5 x6 46 0 2 -1 3 -4 2 5 3 0 1 x7 13 16 10 -11 -
9 17 34 2 -1 2 2 x8 38 4 6 2 -7 13 9 2 0 12 4 x9 19 0 0 -1 8 -3 -24 -8 6 3 -1 x10 -21
=
×
真解为x *=(1,-1,0,1,2,0,3,1,-1,1)。