Matlab语言及应用大作业
- 格式:doc
- 大小:1.05 MB
- 文档页数:13
MATLAB大作业1、 问题背景:某报纸近几年的广告收入如表所示,由于业务需要,该报纸将扩版。
试预测2008年以后该报纸的广告收入(万元),以便计算扩版后所需的费用。
该报纸2003—2007年的广告统计数据如表所示。
2003-2007历年广告收入统计数据表年份20032004200520062007230235255292373广告收入(万元)可以看出,广告在现代社会中扮演的角色越来越重要,认识广告收入的变化规律,建立广告收入的数学模型,才能做出准确的预报。
现利用3—21给出的理念广告收入的统计数据(以万元为单位),对模型作检验,最后用它预报2007年以后该报纸的广告收入。
2、 解题思路:为了确定函数形式,首先用MALAB画出数据的散点图,以便观察数据规律,MATLAB程序如下:x=2003:2007;y=[230,235,255,292,373];plot(x,y,'*') 运行得通过对图像所呈现规律的分析,认为可以用多项式进行拟合,猜测图像可能是一个二次或三次拟合或者是一个四次五次拟合:MATLAB拟合源程序如下所示:year=[2003,2004,2005,2006,2007]; %输入自变量——年份income=[230,235,255,292,373]; %输入因变量——广告收入year1=2003:2018; %输入需要检测的年份——2003-2018年year2=2008:2018; %输入需要预测的年份[p2,s2]=polyfit(year,income,2) %p2为系数,s2为残差income1=polyval(p2,year1) %计算拟合结果income2=polyval(p2,year2) %计算拟合结果plot(year,income,'*',year2,income2,'X',year1,income1); %画图legend('实际数据','拟合数据');xlabel('年份');ylabel('广告收入(万元)')执行上述程序后,得到二次拟合结果如图:p2 =1.0e+007 *0.0000 -0.0048 4.8459s2 =1.0e+003 * R: [3x3 double]df: 2normr: 9.6451income1 =Columns 1 through 140.2325 0.2306 0.2529 0.2992 0.3697 0.46440.5832 0.7261 0.8932 1.0845 1.2998 1.53931.80302.0908Columns 15 through 162.4027 2.7388income2 =1.0e+003 *0.4644 0.5832 0.7261 0.8932 1.08451.2998 1.5393 1.80302.0908 2.4027 2.7388得到相应的二次拟合函数式如下所示,其中自变量X表示年份,因变量Y表示广告收入,单位万元。
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 语言求解问题的方法,培养学生分析问题、解决问题、应用知识的能力和创新精神,全面提高学生的综合素质。
上机实验共8学时。
主要实验内容是基于理论课所学知识对课后典型习题进行MATLAB 求解,基本掌握常见数学问题的求解方法与命令调用,更深入地认识和了解MATLAB 语言强大的计算功能。
上机实验最终以书面报告的形式提交,并作为期末成绩考核内容的一部分。
二、 实验内容(8学时)第一部分MATLAB 语言编程、科学绘图与基本数学问题求解(4学时)主要内容:掌握MATLAB 语言编程基础、科学绘图方法、微积分问题、线性代数问题等基本数学问题的求解与应用。
练习题:1、安装MATLAB 软件,应用demo 命令了解主要功能,熟悉基本功能,会用help 命令。
2、用MATLAB 语句输入矩阵A 和B⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1423143212344321A , ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡++++++++++++++++=4j 11j43j 22j34j 11j 42j 33j 24j 13j 22j 31j 41j 42j 33j 24j 1B 前面给出的是44⨯矩阵,如果给出5)6,5(=A 命令将得出什么结果? 代码:A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]B=[1+4j 2+3j 3+2j 4+1j;4+1j 3+2j 2+3j 1+4j;2+3j 3+2j 4+1j 1+4j;3+2j 2+3j 4+1j 1+4j] A(6,5)=53、假设已知矩阵A,试给出相应的MATLAB命令,将其全部偶数行提取出来,赋给B矩阵,用magic(8)A 命令生成A矩阵,用上述命令检验一下结果是不是正确。
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语言及应用》期末大作业题目1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;2)将矩阵A按列拉长得到矩阵B;3)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;4)寻找矩阵A中大于0的元素;]5)求矩阵A的转置矩阵D;6)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;7)删除矩阵A的第2列和第4列得到矩阵F;8)求矩阵A的特政值和特征向量;9)求矩阵A的每一列的和值;10)求矩阵A的每一列的平均值;程序代码:clear;clc;A=1+sqrt(4)*randn(5) %生成均值为1,方差为4的5*5矩阵A;B=A(:) %将矩阵A按列拉长得到矩阵B;C=A([2 3],[2 4]) %提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;n=find(A>0) %寻找矩阵A中大于0的元素;x=A(n)D=A' %求矩阵A的转置矩阵D;E1=flipud(A); %对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;E=fliplr(E1)F=A(:,[1 3 5]) %删除矩阵A的第2列和第4列得到矩阵F;[Av,Ad]=eig(A) %求矩阵A的特征值和特征向量;S=sum(A,1) %求矩阵A的每一列的和值;Avg=S/5 %求矩阵A的每一列的平均值;运行结果:A =2.3333 2.1171 0.8568 2.1971 -0.7526-1.7853 0.4453 -3.8292 1.2944 0.4690 -1.6011 -1.5874 -0.3887 0.7971 0.3448 -0.2100 -0.7769 -1.7828 -4.2700 -1.3165 -1.9771 -0.9730 1.6593 1.0561 2.1601B =2.3333-1.7853-1.6011-0.2100-1.97712.11710.4453-1.5874-0.7769-0.97300.8568-3.8292-0.3887-1.78281.65932.19711.29440.7971-4.27001.0561-0.75260.46900.3448-1.31652.1601C =0.4453 1.2944-1.5874 0.7971n =167111516171820222325x =2.33332.11710.44530.85681.65932.19711.29440.79711.05610.46900.34482.1601D =2.3333 -1.7853 -1.6011 -0.2100 -1.97712.1171 0.4453 -1.5874 -0.7769 -0.97300.8568 -3.8292 -0.3887 -1.7828 1.65932.1971 1.2944 0.7971 -4.2700 1.0561-0.7526 0.4690 0.3448 -1.3165 2.1601E =2.1601 1.0561 1.6593 -0.9730 -1.9771-1.3165 -4.2700 -1.7828 -0.7769 -0.21000.3448 0.7971 -0.3887 -1.5874 -1.60110.4690 1.2944 -3.8292 0.4453 -1.7853-0.7526 2.1971 0.8568 2.1171 2.3333F =2.3333 0.8568 -0.7526-1.7853 -3.8292 0.4690-1.6011 -0.3887 0.3448-0.2100 -1.7828 -1.3165-1.9771 1.6593 2.1601Av =Columns 1 through 40.1004 + 0.2832i 0.1004 - 0.2832i0.6302 -0.5216-0.5969 -0.5969 -0.4811 0.0856 -0.4405 + 0.0006i -0.4405 - 0.0006i -0.3078 0.21200.2732 - 0.4899i 0.2732 + 0.4899i0.0244 -0.1780-0.0617 + 0.2024i -0.0617 - 0.2024i 0.5254 0.8025 Column 50.3903-0.49590.02180.1929-0.7511Ad =Columns 1 through 4-2.6239 + 1.7544i 0 0 00 -2.6239 - 1.7544i 0 00 0 -0.2434 00 0 0 3.54550 0 0 0Column 50 0 0 02.2257S =-3.2403 -0.7749 -3.4846 1.0747 0.9049Avg =-0.6481 -0.1550 -0.6969 0.2149 0.18102.符号计算(10分,每小题5分):1) 求方程组20,0uy vz w y z w ++=++=关于,y z 的解;2) 利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解;程序代码:clc[u,v,w] = solve('u*y^2 + v*z + w = 0','y + z + w = 0','u,v,w')[x y]=dsolve('Dx=y','Dy=-x')运行结果:u =(-v*z+y+z)/y^2v =vw = -y-zx =-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:4a =;程序代码:clccleara=0.5:0.5:4.5;t=-2*pi:0.1:2*pi;N=length(a); for i=1:1:Nx=a(i)*cos(t);y=sqrt(25-a(i).^2).*sin(t);plot(x,y)hold onend运行结果:-5-4-3-2-1123452) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;程序代码:clcclearx=0:0.01:4;y1=sin(x); y2=10.^x;plotyy(x,y1,x,y2) %用双y 轴绘制二维图形运行结果:3) 用曲面图表示函数22z x y =+;程序代码:clcclear[X,Y] = meshgrid(-2:0.05:2); %产生xy 平面上的网格数据Z = X.^2 + Y.^2;surf(X,Y,Z) %绘着色曲面图hold off运行结果:4) 用stem 函数绘制对函数cos 4y t π=的采样序列;程序代码:clcclearfs=25;Ts=1/fs;n=1:1:200;yn=cos(pi*n*Ts/4);stem(n,yn) %绘离散数据的火柴杆图运行结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x +=,要求设计出一个FIR 滤波器恢复出原始信号。
试卷总分:100 得分:97.33一、判断题(6小题,每小题5分,共30分)1.标量可以和数组进行乘除运算。
答案:正确2.假设二维数组A,则A( {图} 代表数组A的全部元素。
答案:正确3.Matlab中对虚数虚单元的描述使用 i或j 。
答案:正确4.符号表达式的四则运算和数值运算一样,用+、-、*、/、∧运算符实现。
答案:正确5.使用函数zeros(5)生成的是一个具有5个元素的向量。
答案:正确6.在sin(x)运算中,x是角度。
答案:错误二、单选题(6小题,每小题5分,共30分)7.ones(n,m)函数是用来产生特殊矩阵的,由它形成的矩阵称为()。
A.单位矩阵B.全零矩阵C.对角矩阵D.空矩阵答案:A8.角度x=[20 30 60],计算其余弦函数的运算为 {图} 。
A.COS(deg2rad(x))B.COS(x)C.cos(x)D.cos(deg2rad(x))答案:D9.如果x=1:-2:-8,则x(1)和x(5)分别是 {图} 。
A.1,-8B.-1,-7C.-1,-8D.1,-7答案:D10.如果想将矩阵A第1行第1列的元素改为50,可以通过()语句来完成。
A.A(1,1)=50B.A(1:1)=50C.A(1;1)=50D.A(1 1)=50答案:A11.矩阵每一行中的元素之间要用某个符号分割,这个符号可以是()。
A.逗号B.分号C.回车D.冒号答案:A12.表达式ax 3 +by 2 改写成Matlab的语句形式是()。
A.ax3+by2B.a*x3+b*y2C.ax*3+by*2D.a*x^3+b*y^2答案:D三、多选题(5小题,每小题8分,共40分)13.关于Simulink描述正确的是()A.Simulink是一个用来对动态系统进行建模、仿真和分析的软件包B.支持连续的、离散的或二者混合的线性和非线性系统C.支持具有多种采样速率的多速率系统D.不支持离散的非线性系统答案:ABC14.a=[9 0.6 0 -2 -0.7],在进行逻辑运算时,描述正确的是()A.在Matlab中对数组a进行逻辑运算时,a相当于a=[0 0 1 1 1]B.在Matlab中对数组a进行逻辑运算时,a相当于a=[1 1 0 1 1]C.Matlab约定在所有关系、逻辑表达式中,作为输入的任何非0数都被看成是“逻辑假”,只有0被认为是“逻辑真”D.Matlab约定在所有关系、逻辑表达式中,作为输入的任何非0数都被看成是“逻辑真”,只有0被认为是“逻辑假”答案:BD15.在sin(x)运算中,描述正确的是()A.在sin(x)运算中,x是弧度B.Matlab规定所有的三角函数运算都是按弧度进行运算C.在sin(x)运算中,x是角度D.Matlab规定所有的三角函数运算都是按角度进行运算答案:AB16.要求在闭区间[0,2π]上产生具有10个等距采样点的一维数组,下面指令实现正确的有()A.使用数组生成的冒号表达式 a = 0:2*pi/10:2*piB.使用数组生成的冒号表达式 a = 0:2*pi/11:2*piC.使用数组生成的linspace函数 a1 = linspace(0,2*pi,10)D.使用数组生成的linspace函数 a1 = linspace(0,4*pi,10)答案:AC17.有程序如下:A=1:2:5;B=[A;2*A;3*A]执行完成后结果正确的有()A.B= 1 3 5 2 6 10 3 9 15B.B(2, {图} =2 6 10C.B(:,3)= 5 10 15D.B(:,3)= 15 5 15答案:AC。
《MATLAB及应⽤》实验指导书“作业”《MATLAB及应⽤》实验指导书班级:姓名:学号:总评成绩:汽车⼯程系电测与汽车数字应⽤中⼼⽬录实验04051001 MATLAB语⾔基础 (3)实验04051002 MATLAB科学计算及绘图 (12)实验04051001 MATLAB语⾔基础实验⽬的1)熟悉MATLAB的运⾏环境2)掌握MATLAB的矩阵和数组的运算3)掌握MATLAB符号表达式的创建4)熟悉符号⽅程的求解实验内容(任选6题)1.利⽤rand等函数产⽣下列矩阵:产⽣⼀个均匀分布在(-5,5)之间的随机阵(50×2),要求显⽰精度为精确到⼩数点后⼀位(精度控制指令为format)。
format banka=-5; b=5;r = a + (b-a).* rand(50,2)r =3.15 -2.244.06 1.80-3.73 1.554.13 -3.371.32 -3.81-4.02 -0.02-2.22 4.600.47 -1.604.58 0.854.57 0.06 -0.15 1.99 3.00 3.91 -3.58 4.59 -0.78 0.47 4.16 -3.612.92 -3.514.59 -2.42 1.56 3.41 -4.64 -2.463.49 3.144.34 -2.56 2.58 -1.502.43 -3.03-1.08 -2.49 1.55 1.16 -3.29 -0.27 2.06 -1.48 -4.68 3.31 -2.23 0.85 -4.54 0.50 -4.03 4.17 3.23 -2.141.952.57-1.83 2.54 4.50 -1.20 -4.66 0.68 -0.61 -4.24 -1.18 -4.46-0.10 -3.70-0.54 0.691.46 -0.312.09 -4.882.55 -1.632.在⼀个已知的测量矩阵T(100×100)中,删除整⾏数据全为0的⾏,删除整列数据全为0的列(判断某列元素是否为0⽅法:检查T(: , i) .* (T(: , i))是否为0)。
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语言及应用大作业姓名:xxx学号:xxxxxxxxxxxx班级:xxxx1.利用plot函数在区间[0,2π]同时绘制x=sin(t)和y=cos(t),z=sin(t)+cos(t)的图形。
要求:1)对图像x轴和y轴分别标注“时间”和“函数值”>> t=[0:0.01:2*pi];x=sin(t);y=cos(t);z=sin(t)+cos(t);plot(t,x,t,y,t,z);xlabel('时间','fontsize',20,'fontweight','bold');ylabel('函数值','fontsize',20,'fontweight','bold');2)对曲线加图例标注,图例位置自动定位(12分)。
t=[0:0.01:2*pi];x=sin(t);y=cos(t);z=sin(t)+cos(t);plot(t,x,t,y,t,z);xlabel('时间','fontsize',20,'fontweight','bold'); ylabel('函数值','fontsize',20,'fontweight','bold'); gtext('x=sin(t)');gtext('y=cos(t)');gtext('z=sin(t)+cos(t)');2.求2!+4!+6!+8!+10! (12分)s=sum(factorial(2:2:10))s =36698663.编写m 函数,计算函数值(12分)221,10002,,0≥<≤<≤<⎪⎪⎩⎪⎪⎨⎧-=x x x x x x y 首先创建.m 文件function y=funn(x) if x<0y=0; elseif x>=0&&x<1 y=x; elseif 1<=x&&x<2 y=2-x;elsey=0;end在MA TLAB命令窗口中输入>> funn(50)得:ans =4.计算下面矩阵的特征值、特征向量、迹和秩。
一、 程序分析题1、命令窗口中输入如下命令,在%号后写出每行命令的功能。
(不用写出运算结果) A=1; f0=4; phi=pi/3; w0=2*pi*f0;t=0:0.01:1; %__________________________________________ y=A*cos(w0*t+phi) ;axis off %__________________________________________ PT=plot(t,y); %__________________________________________ set(PT,’LineWidth ’,[5]); %__________________________________________ AX=gca; %__________________________________________ set(AX,’FontSize ’,14); %__________________________________________ axis square %__________________________________________ xlabel(‘时间[s]’); %__________________________________________ T=title(‘余弦波’) %__________________________________________ set(T,’FontSize ’,’16’); %__________________________________________ legend(‘cos ’); %__________________________________________ grid on %__________________________________________二、 程序设计题2、已知两个矩阵:3765213100132610A ---⎡⎤⎢⎥---⎢⎥=⎢⎥-⎢⎥-⎣⎦,1468237021570010B ⎡⎤⎢⎥⎢⎥=⎢⎥--⎢⎥-⎣⎦将矩阵A 中所有等于-1的元素改为3,将矩阵B 中等于0的元素值改为新的矩阵A 中相应位置元素的值,最后将新的矩阵A 的第三、四列的元素全改为-1,编写相应的程序。
MATLAB语言及应用
大作业
姓名:xxx
学号:xxxxxxxxxxxx
班级:xxxx
1.利用plot函数在区间[0,2π]同时绘制x=sin(t)和
y=cos(t),z=sin(t)+cos(t)的图形。
要求:1)对图像x轴和y轴分别标注“时间”和“函数值”
>> t=[0:0.01:2*pi];
x=sin(t);
y=cos(t);
z=sin(t)+cos(t);
plot(t,x,t,y,t,z);
xlabel('时间','fontsize',20,'fontweight','bold');
ylabel('函数值','fontsize',20,'fontweight','bold');
2)对曲线加图例标注,图例位置自动定位(12分)。
t=[0:0.01:2*pi];
x=sin(t);
y=cos(t);
z=sin(t)+cos(t);
plot(t,x,t,y,t,z);
xlabel('时间','fontsize',20,'fontweight','bold'); ylabel('函数值','fontsize',20,'fontweight','bold'); gtext('x=sin(t)');
gtext('y=cos(t)');
gtext('z=sin(t)+cos(t)');
2.求2!+4!+6!+8!+10! (12分)
s=sum(factorial(2:2:10))
s =
3669866
3.编写m 函数,计算函数值(12分)
221,10002,,
0≥<≤<≤<⎪⎪
⎩⎪⎪⎨⎧-=x x x x x x y 首先创建.m 文件
function y=funn(x) if x<0
y=0; elseif x>=0&&x<1 y=x; elseif 1<=x&&x<2 y=2-x;
else
y=0;
end
在MA TLAB命令窗口中输入
>> funn(50)
得:
ans =
4.计算下面矩阵的特征值、特征向量、迹和秩。
抽取它的对角线元素作成只含对角线元素,其它元素均为零的三阶矩阵。
(12分)A=[7 3 -2;3 4 -1;-2 -1 3]
>> A=[7 3 -2;3 4 -1;-2 -1 3];
[vA,dA]=eig(A);
rA=rank(A);
trA=trace(A);
diagA=diag(diag(A))
5.分别用矩阵除法和SOLVE 函数求解下面线性方程组(16分)
6
10272109103232121=+-=-+-=-x x x x x x x 矩阵除法
>> A=[10,-1,0;-1,10,-2;0,-2,10]; >> B=[9;7;6]; >> X=A\B X =
0.9958 0.9579
0.7916
SOLVE法
a=[10,-1,0;-1,10,-2;0,-2,10] ; b=[9;7;6];
x=linsolve(a,b)
x =
0.9958
0.9579
0.7916
6.试用自己的话简要回答下面的问题(12分)
a.什么是MATLAB的搜索路径?如何查看搜索路径?如何进行搜索路径的扩展?
matlab的搜索路径是matlab的安装主目录及所有工具箱的路径
(1).搜索路径对话框[file] [set path] (2).path命令(3)genpath命令(4)editpath path tool 命令
(1)利用路径设置菜单(2)使用path命令扩展(3)使用addpath命令扩展(4)使用
editpath和pathtool命令扩展
b、在SIMULINK中如何对模块进行添加、复制和删除的操作。
模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。
复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块。
删除:选中模块,按Delete键即可。
若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。
也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。
7. 求解方程09652234=+-+-x x x x 的所有根(12分)
>> p=[2 -5 6 -1 9];
>> roots(p)
ans =
1.6024 + 1.2709i
1.6024 - 1.2709i
-0.3524 + 0.9755i
-0.3524 - 0.9755i
8.用fsolve 函数求解下面非线性方程(
12分)。
0cos 3.0sin 8.00
sin 3.0cos 8.0212211=+-=--x x x x x x
x0=[0.5 0.5];
fsolve('fwm',x0)
ans =
0.7793 0.7763
fwm.m
function y=fwm(x)
y(1)=x(1)-0.8*cos(x(1))-0.3*sin(x(2));
y(2)=x(2)-0.8*sin(x(1))-0.3*cos(x(2));
y=[y(1) y(2)];。