哈工大MATLAB选修课小作业2
MATLAB作业2参考答案(2018)
MATLAB 作业二参考答案1、试求下面线性代数方程的解析解与数值解,并检验解的正确性。
2932114010110503848246303356684953X -----⎡⎤⎡⎤⎢⎥⎢⎥----⎢⎥⎢⎥=⎢⎥⎢⎥---⎢⎥⎢⎥------⎣⎦⎣⎦【求解】求出A , [A;B ] 两个矩阵的秩,可见二者相同,所以方程不是矛盾方程,应该有无穷多解。
>> A=[2,-9,3,-2,-1; 10,-1,10,5,0; 8,-2,-4,-6,3; -5,-6,-6,-8,-4]; B=[-1,-4,0; -3,-8,-4; 0,3,3; 9,-5,3]; [rank(A), rank([A B])] ans =4 4用下面的语句可以求出方程的解析解,并可以验证该解没有误差。
>> x0=null(sym(A));x_analytical=sym(A)\B; syms a; x=a*[x0 x0 x0]+x_analytical x =[ a+967/1535, a-943/1535, a-159/1535] [ -1535/1524*a, -1535/1524*a, -1535/1524*a][ -3659/1524*a-1807/1535,-3659/1524*a-257/1535,-3659/1524*a-141/1535] [ 1321/508*a+759/1535, 1321/508*a-56/1535, 1321/508*a-628/1535] [ -170/127*a-694/307, -170/127*a+719/307, -170/127*a+103/307] >> A*x-B ans =[ 0, 0, 0][ 0, 0, 0][ 0, 0, 0][ 0, 0, 0]用数值解方法也可以求出方程的解,但会存在误差,且与任意常数a 的值有关。
>> x0=null(A); x_numerical=A\B; syms a;x=a*[x0 x0 x0]+x_numerical; vpa(x,10)ans =[ .2474402553*a+.1396556436, .2474402553*a-.6840666849, .2474402553*a-.1418 420333][-.2492262414*a+.4938507789,-.2492262414*a+.7023776988e-1,-.2492262414*a+ .3853511888e-1][ -.5940839201*a, -.5940839201*a, -.5940839201*a][ .6434420813*a-.7805411315, .6434420813*a-.2178190763,.6434420813*a-.50860 89095][-.3312192394*a-1.604263460, -.3312192394*a+2.435364854,-.3312192394*a+.3867176824]>> A*x-Bans =[ 1/18014398509481984*a, 1/18014398509481984*a, 1/18014398509481984*a] [ -5/4503599627370496*a, -5/4503599627370496*a, -5/4503599627370496*a] [ -25/18014398509481984*a, -25/18014398509481984*a,-25/18014398509481984*a][ 13/18014398509481984*a, 13/18014398509481984*a, 13/18014398509481984*a]2、求解下面的联立方程,并检验得出的高精度数值解(准解析解)的精度。
哈尔滨工程大学传热学大作业数值计算matlab程序内容
传热学作业数值计算1 程序内容: 数值计算matlab程序内容:>> tw1=10; % 赋初值赋初值 tw2=20; c=1.5; p2=20; p1=c*p2; L2=40; L1=c*L2; deltaX=L2/p2; a=p2+1; b=p1+1; =ones(a,b)*5; m1=ones(a,b); m1(a,2:b-1)=zeros(1,b-2); m1(2:a,1)=zeros(a-1,1); m1(2:a,b)=zeros(a-1,1); m1(1,:)=ones(1,b)*2; k=0; max1=1.0; tn= ; while(max1>1e-6) max1=0; k=k+1; for i=1:1:a for j=1:1:b m=m1(i,j); n= (i,j); switch m case 0 tn(i,j)=tw1; case 1 tn(i,j)=0.25*(tn(i,j+1)+tn(i,j-1)+tn(i+1,j)+tn(i-1,j)); case 2 tn(i,j)=tw1+tw2*sin(pi*(j-1)/(b-1)); end er=abs(tn(i,j)-n); if er>max1 max1=er; end end end =tn; end k max1 t2=ones(a,b); %求解析温度场求解析温度场for i=a:-1:1 for j=1:1:b y=deltaX*(a-i); x=deltaX*(j-1); t2(i,j)=tw1+tw2*sin(pi*x/L1)*(sinh(pi*y/L1))/(sinh(pi*L2/L1)); end end t2 迭代次数k =706 数值解温度场 数值解每次迭代的最大误差max1 =9.8531e-07 解析温度场 t2 解析温度场取第11行的解析解和数值解的点行的解析解和数值解的点行的解析解的直线,散点为其数值解的点 曲线为第11行的解析解的直线,散点为其数值解的点解析解 第11行的误差=[数值解(11行) –解析解(11行)]/解析解数值温度场图像数值温度场图像 解析温度场图像解析温度场图像数值解与解析解的误差数值解与解析解的误差数值计算matlab 程序内容:程序内容: >> tw1=10; tw2=20; c=1.5; p2=20; p1=c*p2; L2=20; deltaX=L2/p2; L1=c*L2; a=p2+1; b=p1+1; =ones(a,b)*5; m1=ones(a,b); m1(a,2:b-1)=zeros(1,b-2); m1(2:a,1)=zeros(a-1,1); m1(2:a,b)=zeros(a-1,1); m1(1,:)=ones(1,b)*2; k=0; max1=1.0; tn= ; while(max1>1e-6) max1=0; k=k+1; for i=1:1:a for j=1:1:b m=m1(i,j); n= (i,j); switch m case 0 tn(i,j)=tw1; case 1 tn(i,j)=0.25*(tn(i,j+1)+tn(i,j-1)+tn(i+1,j)+tn(i-1,j)); case 2 tn(i,j)=tw2; end er=abs(tn(i,j)-n); if er>max1 max1=er; end end end =tn; end k max1 tx=ones(a,b); for i=1:1:a for j=1:1:b y=(a-i)*deltaX; x=(j-1)*deltaX; m=sym('m'); g=(((-1)^(m+1)+1)/m)*sin(m*pi*x/L1)*sinh(m*pi*y/L1)/sinh(m*pi*L2/L1); h=symsum(g,m,1,100); tx(i,j)=2*h*(tw2-tw1)/pi+tw1; end end tx 迭代次数k = 695 数值解温度场 数值解每次迭代的最大误差max1 =9.8243e-07 解析温度场 tx = 解析温度场行的解析解和数值解的点取第11行的解析解和数值解的点行的解析解的直线,散点为其数值解的点 曲线为第11行的解析解的直线,散点为其数值解的点解析解 第11行的误差=[数值解(11行) –解析解(11行)]/解析解图像: 数值温度场 图像图像 :解析温度场tx图像:数值解与解析解的误差数值解与解析解的误差程序内容: 数值计算matlab程序内容:>> t0=90; =10; L=10; c=0.25; p2=20; p1=p2/c; B=c*L; d=0.5*B; h=10; a=p2+1; b=p1+1; deltaX=B/p2; lambda=160; Bi=h*deltaX/lambda; =ones(a,b)*10; m1=ones(a,b)*3; m1(2:a-1,1)=zeros(a-2,1); m1(a,2:b-1)=ones(1,b-2); m1(1,2:b-1)=ones(1,b-2)*6; m1(2:a-1,b)=ones(a-2,1)*2; m1(1,b)=ones(1,1)*4; m1(a,b)=ones(1,1)*5; m1(1,1)=7; m1(a,1)=8; tn= ; max1=1.0; k=0; while ( max1>1e-6) k=k+1; max1=0; for i=1:1:a for j=1:1:b m=m1(i,j); n=tn(i,j); switch m case 0 tn(i,j)=t0; case 1 tn(i,j)=(2*tn(i-1,j)+tn(i,j-1)+tn(i,j+1)-4* )/(4+2*Bi)+ ; case 2 tn(i,j)=(2*tn(i,j-1)+tn(i-1,j)+tn(i+1,j)-4* )/(4+2*Bi)+ ; case 3 tn(i,j)=0.25*(tn(i,j-1)+tn(i,j+1)+tn(i-1,j)+tn(i+1,j)); case 4 tn(i,j)=(tn(i,j-1)+tn(i+1,j)-2* )/(2*Bi+2)+ ; case 5 tn(i,j)=(tn(i,j-1)+tn(i-1,j)-2* )/(2*Bi+2)+ ; case 6 tn(i,j)=(2*tn(i+1,j)+tn(i,j-1)+tn(i,j+1)-4* )/(4+2*Bi)+ ; case 7 tn(i,j)=t0; case 8 tn(i,j)=t0; end er=abs(tn(i,j)-n); if er>max1 max1=er; end end end =tn; end k ta=ones(a,b); Bi1=h*d/lambda; sbi=sqrt(Bi1); for i=1:1:a for j=1:1:b if i>(a+1)/2 y=-(i-(a+1)/2)*deltaX; else y=((a+1)/2-i)*deltaX; end x=deltaX*(j-1); ta(i,j)=(cosh(sbi*(L-x)/d)+sbi*sinh(sbi*(L-x)/d))*(t0- )/(cosh(sbi*L/d)+sbi*sinh(sbi*L/d))+ ; end end ta 迭代次数k =1461 数值解温度场 解析温度场 ta 解析温度场行的解析解和数值解的点取第11行的解析解和数值解的点曲线为第11行的解析解的直线,散点为其数值解的点行的解析解的直线,散点为其数值解的点解析解 第11行的误差=[数值解(11行) –解析解(11行)]/解析解图像如下图像如下数值温度场图像数值温度场图像 解析温度场图像解析温度场图像数值解与解析解的误差数值解与解析解的误差程序内容:数值计算matlab程序内容:>> tw=10; L2=15; c=0.75; L1=L2/c; p2=24 ; p1=p2/c; deltaX=2*L2/p2; a=p2+1; b=p1+1; lambda=16; qv0=24; =ones(a,b)*5; m1=ones(a,b); m1(1,:)=zeros(1,b); m1(2:a,b)=zeros(a-1,1); m1(2:a,1)=zeros(a-1,1); m1(a,2:b-1)=zeros(1,b-2); tn= ; max1=1.0; k=0; while(max1>1e-6) max1=0; k=k+1; for i=1:1:a for j=1:1:b m=m1(i,j); n=tn(i,j); switch m case 0 tn(i,j)=tw; case 1 tn(i,j)=0.25*(tn(i-1,j)+tn(i+1,j)+tn(i,j-1)+tn(i,j+1)+qv0*(deltaX^2)/lambda); end er=abs(tn(i,j)-n); if er>max1 max1=er; end end end =tn; end k; tx=ones(a,b); for i=1:1:a for j=1:1:b if i>(a+1)/2 y=-(i-(a+1)/2)*deltaX; else y=((a+1)/2-i)*deltaX; end if j>(b+1)/2 x=(j-(b+1)/2)*deltaX; else x=-((b+1)/2-j)*deltaX; end m=sym('m'); xi=(2*m-1)*pi/2; g=((-1)^m)/(xi^3)*(cosh(xi*y/L1)/cosh(xi*L2/L1))*cos(xi*x/L1); h=symsum(g,m,1,100); tx(i,j)=2*qv0*L1^2/lambda*h+qv0*(L1^2-x^2)/(2*lambda)+tw; end end tx 数值温度场 解析温度场tx 取第13行的解析解和数值解的点行的解析解和数值解的点行的解析解的直线,散点为其数值解的点曲线为第13行的解析解的直线,散点为其数值解的点解析解 第13行的误差=[数值解(13行) –解析解(13行)]/解析解数值温度场图像数值温度场图像 解析温度场图像解析温度场图像数值解与解析解的误差数值解与解析解的误差。
选修课MATLAB作业
选修课MATLAB作业Matlab程序设计作业学院:信息科学与技术学院专业:通信⼯程姓名:刘潇学号:201313070404班级:通信4班教师:徐静⽇期:2014年11⽉9⽇⽂件1%学号:201313070404%姓名:刘潇clear all %清除⼯作空间的所有变量clf %清除图形窗⼝的内容mfilename('fullpath') %返回当前正在运⾏的函数所在⽂件的⽂件名echo on%本m⽂件运⾏后会输出6个图形subplot(2,3,1) %subplot(m,n,p)是将多个图画到⼀个平⾯上的⼯具。
其中,m表⽰是图排成m⾏,n表⽰图排成n列,p表⽰图所在的位置。
t = 0:0.1:10;z = impulse(1, [1 1 1], t);stairs(t(1:5:end),z(1:5:end)) %stairs函数⽤于绘制阶梯状图,在图中为蓝⾊的那根线hold on %hold on 表⽰保留原来的图plot(t,z,'r') %绘图函数,在图中为红⾊的那根连续的线plot([0 t(end)], [0 0], 'k:') %绘图函数,在图中为⽔平虚线,左边对准了0刻度线title('Impulse Response - (STAIRS)') %在图形上⽅添上标题subplot(2,3,2) %此函数表⽰接下来的图形绘制在第⼆个位置theta = 2*pi*(0:74)/75;x = cos(theta);y = sin(theta);z = abs(fft(ones(10,1), 75))';stem3(x, y, z) %stem3函数绘制离散序列数据的三维杆图title('Polar FFT - (STEM3)') %在图形上⽅添上标题subplot(2,3,3) %此函数表⽰接下来的图形绘制在第三个位置[X,Y,Z] = peaks(-2:0.25:2);[U,V] = gradient(Z, 0.25);contour(X,Y,Z,10); %该函数⽤于绘制矩阵的等⾼线hold on %hold on 表⽰保留原来的图quiver(X,Y,U,V); %使⽤箭头绘制⽮量图title('Surface Gradient - (CONTOUR & QUIVER)') %在图形上⽅添上标题theta = 0:0.1:4*pi;[x,y] = pol2cart(theta(1:5:end), theta(1:5:end));subplot(2,3,4) %此函数表⽰接下来的图形绘制在第四个位置polar(theta,theta)axis([-13 13 -12.5 14.5])title('Spiral Plot - (POLAR)') %在图形上⽅添上标题subplot(2,3,5) %此函数表⽰接下来的图形绘制在第五个位置compass(x,y) %在⼀个圆形带⽹格的区域内,使⽤带箭头的线条绘制从原点出发的若⼲向量。
MATLAB实验课课后作业(2)
实验目的:1、 掌握Matlab 的基本操作和基本运算。
2、 理解常见数学模型的概念、算法。
3、 理解遗传算法的基本算子的实现和改进。
一、基本编程要求:写出完成下列运算的程序,并给出计算结果。
(#表示第一位同学学号的最后一位)1随机给出一个10*6的矩阵,矩阵的元素在区间(-20+#,20+#)内,并找出该矩阵中最小的元素。
2生成一个15*1#任意0-1矩阵,使得1的个数出现的概率为0.3. 并统计矩阵中元素1的个数。
3画出函数21+sin()2x y x=+在[-1#,1#]的图像。
4. 定义一个函数,功能是实现反馈一个矩阵的对角线上元素的平方和,以及最小的元素所在的行x,列y (如果有重复的,要求全部反馈)。
5. 以(1,1),(5,-6),(7,9)为中心,分别随机产生50个服从N (0,1),N (0,5),N (0,10)的正态分布的随机数据,用K-均值聚类方法,将上述数据分为两类、三类和四类,并画图。
二、110警车配置方案110警车在街道上巡弋,既能够对违法犯罪分子起到震慑作用,降低犯罪率,又能够增加市民的安全感,同时也加快了接处警(接受报警并赶往现场处理事件)时间,提高了反应时效,为社会和谐提供了有力的保障。
考虑某城市内一区域,为简化问题,假定所有事发现场均在下图的道路叉口上。
(见下图,蓝色部分为水域,道路数据见附件,相邻两个交叉路口之间的道路近似认为是直线)。
某城市拟增加一批配备有GPS 卫星定位系统及先进通讯设备的110警车,布置在各交通路口。
设110警车接警后的平均行驶速度为40km/h 。
求警车的最优配置。
请完成以下问题:1、用Matlab 软件画出图形。
2、求点1##到2##的最短距离与路径。
3、若警车有1#辆,(#表示第一位同学学号的后一位)用贪婪算法求最优配置,并明确给出结果和在接警后三分钟内赶到现场的比例。
4、若警车有1#辆,(#表示第一位同学学号的后一位)用遗传算法求最优配置,并明确给出结果和在接警后三分钟内赶到现场的比例。
matelab作业2参考答案
matelab作业2参考答案Matlab作业2参考答案Matlab作业2是一项综合性的任务,要求学生运用Matlab编程语言解决一系列数学问题。
本文将为大家提供一份参考答案,帮助学生更好地理解和完成这项作业。
首先,我们将讨论作业的第一个问题,即给定一个矩阵A,求解其特征值和特征向量。
在Matlab中,可以使用eig函数来实现这一功能。
例如,假设我们有一个3×3的矩阵A,可以按照以下方式计算其特征值和特征向量:```A = [1 2 3; 4 5 6; 7 8 9];[eigenvectors, eigenvalues] = eig(A);```在上述代码中,变量eigenvectors将存储A的特征向量,而变量eigenvalues 将存储A的特征值。
通过打印这两个变量的值,我们可以得到矩阵A的特征值和特征向量。
接下来,我们将探讨作业的第二个问题,即求解线性方程组。
假设我们有一个3×3的系数矩阵A和一个3×1的常数向量b,我们需要求解方程组Ax=b。
在Matlab中,可以使用backslash运算符来求解线性方程组。
例如,假设我们有以下方程组:```A = [1 2 3; 4 5 6; 7 8 9];b = [10; 20; 30];x = A \ b;```在上述代码中,变量x将存储方程组的解。
通过打印变量x的值,我们可以得到方程组的解。
此外,作业的第三个问题要求学生使用Matlab绘制函数图像。
在Matlab中,可以使用plot函数来实现这一功能。
例如,假设我们要绘制函数y=sin(x),其中x的取值范围为0到2π,可以按照以下方式绘制函数图像:```x = 0:0.1:2*pi;y = sin(x);plot(x, y);```在上述代码中,变量x将存储x的取值范围,变量y将存储对应的函数值。
通过调用plot函数,我们可以将函数y=sin(x)的图像绘制出来。
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小作业
matlab小作业当提到 MATLAB(MATrix LABoratory)的小作业时,通常涉及到基于矩阵和数值计算的任务。
以下是一个简单的MATLAB 小作业示例:小作业题目:向量运算和图形绘制向量运算:创建两个列向量 A 和 B,分别包含 5 个随机整数。
计算它们的点积、叉积和对应元素相乘的结果。
矩阵操作:创建一个 3x3 的矩阵 C,其中的元素可以是任意整数。
计算该矩阵的转置、逆矩阵以及行列式。
图形绘制:使用 plot 函数绘制函数 y = sin(x) 在区间 [-2π, 2π] 上的图像。
使用不同的线型、颜色和标签来区分不同的图线。
子图:创建一个包含两个子图的图形,分别绘制y = cos(x) 和 y = tan(x) 在相同的区间上。
调整轴标签、标题和图例以提高图形可读性。
保存图形:将整个图形保存为一个图像文件(比如 PNG 或 JPEG 格式)。
MATLAB 代码示例:% 向量运算A = randi([1, 10], 5, 1);B = randi([1, 10], 5, 1);dot_product = dot(A, B);cross_product = cross(A, B);elementwise_product = A .* B;% 矩阵操作C = randi([1, 10], 3, 3);transpose_C = transpose(C);inverse_C = inv(C);determinant_C = det(C);% 图形绘制x = linspace(-2*pi, 2*pi, 100);y_sin = sin(x);figure;plot(x, y_sin, '-r', 'LineWidth', 2, 'DisplayName', 'y = sin(x)');ylabel('y');title('Graph of y = sin(x)');legend('show');% 子图y_cos = cos(x);y_tan = tan(x);figure;subplot(2, 1, 1);plot(x, y_cos, '-b', 'LineWidth', 2, 'DisplayName', 'y = cos(x)');xlabel('x');ylabel('y');title('Graph of y = cos(x)');legend('show');subplot(2, 1, 2);plot(x, y_tan, '-g', 'LineWidth', 2, 'DisplayName', 'y = tan(x)');xlabel('x');title('Graph of y = tan(x)');legend('show');% 保存图形saveas(gcf, 'my_plot.png');以上 MATLAB 代码包含了基本的向量和矩阵操作,以及图形的绘制和保存。
matlab选修课 答案详解 实验指导书Matlab软件应用与开发
《Matlab软件应用与开发》实验指导书实验1 Matlab 操作基础及矩阵运算(一)、实验类型:验证型(二)、实验类别:基础实验(三)、每组人数:1(四)、实验要求:选修(五)、实验学时:3个学时(六)、实验目的:(1)熟悉MATLAB软件中关于矩阵运算的各种命令;(2)学会运用MATLAB软件自定义函数,并求出函数值;(3)学会在MATLAB环境下编写函数。
(七)、预备知识:线性代数中的矩阵运算;高等数学中微积分知识。
本实验所用MATLAB命令●矩阵输入格式:A=[a11 a12;a21 a22];b=初始值:步长:终值●求A的转置:A’●求A加B:A+B●求A减B:A-B●求A乘B:A*B●求A的行列式:det(A)●求A的逆:inv(A)●求A的秩: rank(A)●求函数的极限limit(.)● 求函数的导数diff(.) ● 求函数的积分 int(.) ● 求代数方程的解 solve(.) ● 求微分方程的解 dsolve(.) (八)、内容与要求: 1、 输入矩阵A,B,b;⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=521572215431352134153524852421A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=232556463515148355372182414512B []27252321=b2、 矩阵转置、四则运算。
C1=A ’,C2=A+B,C3=A-B,C4=A*B3、 求行列式。
D1=|A|,D2=|B|4、 求矩阵A 、B 的秩E1,E25、 求极限 11232lim +∞→⎪⎭⎫⎝⎛++x x x x6、 设x xe y =,求)5(y7、 求dx xx ⎰41ln8、求微分方程的通解232++=+'x x y y x9、自定义函数21221221)1()(100),(x x x x x f -+-=,并计算)2,1(f 。
(九)、实验操作1、>> A=[21 24 85 4;2 35 15 34;21 35 31 54;21 72 15 52] A =21 24 85 42 35 15 3421 35 31 5421 72 15 52>> B=[12 45 1 24;18 72 53 35;48 1 15 35;46 56 25 23]B =12 45 1 2418 72 53 3548 1 15 3546 56 25 23>> b=21:2:27b =21 23 25 272、>> C1=A',C2=A+B,C3=A-B,C4=A*BC1 =21 2 21 2124 35 35 7285 15 31 154 34 54 52C2 =33 69 86 2820 107 68 6969 36 46 8967 128 40 75C3 =9 -21 84 -20-16 -37 -38 -1-27 34 16 19-25 16 -10 29C4 =4948 2982 2668 4411 2938 4529 2932 2580 4854 6520 3691 4056 4660 9056 5362 4745 3、>> D1=det(A),D2=det(B)D1 =2181568D2 =-31822764、>> E1=rank(A),E2=rank(B);E1 =4E2 =45、>> syms x; %定义符号变量x>> limit(((2*x+3)/(2*x+1))^(x+1),x,inf) %求函数((2*x+3)/(2*x+1))^(x+1)当x->inf 时的极限 (inf 即英文 infinity “无穷”的缩写) inf表示正无穷大ans =exp(1)6、>> syms y x %定义符号变量>> y=x*exp(x); %定义符号函数>> diff(y,5) %计算符号函数的五阶导数ans =5*exp(x)+x*exp(x)7、>> syms x s %定义符号变量>> s=(log(x))/sqrt(x) %定义符号表达式>> int(s,1,4) %计算符号表达式在区间[1,4]上的定积分ans =8*log(2)-4 8、>> [y]=dsolve('x*Dy+y=x^2+3*x+2','x') %微分或导数的输入是用Dy 、D2y 、D3y 、…来表示y的一阶导数dx dy或y '、二阶导数x d y d 22或y ''、三阶导数x d y d 33或y '''、…。
MATLAB选修课作业
目录第二章 MATLAB数据及其运算1.下列命令执行后 L2、L3、L4的值分别是多少?2.建立单元矩阵A并回答问题第三章 MATLAB矩阵分析与处理1.求(x+y)5的展开式:pascal(6)2.求矩阵A的特征值和相应的特征向量第四章 MATLAB程序设计1.已知:s=1+2+2^2+2^3+…2^63,分别用循环结构和调运MATLAB的SUM函数求S的值;2.分别用if和switch语句实现以下计算,其中a,b,c的值从键盘输入;第五章 MATLAB绘图1.绘制下列曲线2.绘制下列极坐标图第六章 MATLAB数值计算1.求数值积分2.绘制下列极坐标图第七章 MATLAB符号计算1.分解因式2.求非线性方程的符号1第二章 MATLAB数据及其运算1.下列命令执行后 L2、L3、L4的值分别是多少?A=1:9;B=10-A;L2=A<=5;L3=A>3&A<7:;L4=find(A>3&A<7);L2 =1 1 1 1 1 0 0 0 0L3 =0 0 1 1 1 0 0 0L4 =4 5 62.建立单元矩阵A并回答问题A{1,1}=1;A{1,2}='brenden';A{2,1}=reshape(1:9,3,3);A{2,2}={12,34,2;54,21,3;4,23,67};(2)A(2)和A(4)的值分别是多少?(3)A(3)=[ ]和A{3}=[ ]的值分别是多少?A(2)ans = [3x3 double]A(4)ans = {3x3 cell}A(3)=[ ]A= [1] [3x3 double] {3x3 cell}> A{3}=[ ]A = [1] [3x3 double] [ ]第三章 MATLAB矩阵分析与处理1.求(x+y)5的展开式:pascal(6)2.求矩阵A的特征值和相应的特征向量A=[1 1 0.5;1 1 0.25;0.5 0.25 2]; [V,D]=eig(A)V =0.7212 0.4443 0.5315-0.6863 0.5621 0.4615-0.0937 -0.6976 0.7103D =-0.0166 0 00 1.4801 00 0 2.53653第四章 MATLAB程序设计1.已知:s=1+2+2^2+2^3+…2^63,分别用循环结构和调运MATLAB的SUM函数求S的值;s=2^0;n=63;for i=1:63;s=s+2^i;endss =1.8447e+019n=63;i=0:n;f=2.^i;s=sum(f)s =1.8447e+0192.分别用if和switch语句实现以下计算,其中a,b,c的值从键盘输入;a=8;b=5;c=10;x=0.5:0.1:5.5;if x>=0.5&x<1.5y=a*x^2+b*x+c;endif x>=1.5&x<3.5y=a*sin(c*b)+x;endif x>=3.5&x<5.5y=log(b+c/x);endyx=input('请输入X的值')switch fix(x)case{1}y=a*x^2+b*x+c;case{2}y=a*sin(c*b)+x;case{3}y=log(b+c/x);end第五章 MATLAB绘图1.绘制下列曲线(2)x=-2*pi:pi/180:2*pi;y=(1/2*pi).*exp(-x.^2/2);plot(x,y)5(3)x=0:pi/180:2*pi;y=cos(x);z=sin(x);plot(y,z)2.绘制下列极坐标图(3)theta=-2*pi:0.01:2*pi;rho=5./cos(theta);polar(theta,rho ,'-')(4)theta=-2*pi:pi/180:2*pi;rho=(pi/3)*(theta.^2);polar(theta,rho,'k')7第六章 MATLAB 数值计算1.求数值积分1.50sin sin 5dx x x π⎰z=quad('(sin(x).^5).*sin(5*x)',0,pi) z =0.09822.20sin dx 1cos x x xπ+⎰ y=quad('(x.*sin(x))./(1+cos(x).^2)',0,pi) y =2.4674第七章 MATLAB 符号计算1.分解因式(1)x 9-1syms xa=x^9-1;factor(a)ans=(x-1)*(x^2+x+1)*(x^6+x^3+1)(4)x 2+y 2+z2+2(xy+yz+zx)syms x y z;d=x^2+y^2+z^2+2*(x*y+y*z+z*x);C=factor(d)C =(x+y+z)^22.求非线性方程的符号解(1)ax2+bx+c=0x=solve('a*x^2+b*x+c=0','x')x =-(b+(b^24*a*c)^(1/2))/(2*a) -(b-(b^2-4*a*c)^(1/2))/(2*a)9。
(完整版)MATLAB作业2参考答案
(完整版)MATLAB作业2参考答案MATLAB 作业⼆参考答案1、试求出如下极限。
【求解】极限问题可以由下⾯语句直接求解。
>> syms x; f=(x+2)A(x+2)*(x+3)A(x+3)/(x+5F(2*x+5); limit(f,x,i nf) ans = exp(-5) >> syms x yfa=(x A 2*y+x*y A 3)/(x+y)A 3; limit(limit(fa,x,-1),y,2) ans = -6>> fc=(1-cos(xA2+yA2))*exp(xA2+yA2)/(xA2+yA2); limit(limit(fc,x,O),y,O) ans = 02、试求出下⾯函数的导数。
(1) y(x) . xsinx 、1e x , (2) atan yIn(x 2 y 2)x【求解】由求导函数diff() 可以直接得出如下结果,其中 (2)为隐函数,故需要⽤隐函数求导公式得出导数。
>> syms x;f=sqrt(x*si n( x)*sqrt(1-exp(x))); simple(diff(f)) ans =1/2/(x*s in (x)*(1-exp(x))A(1/2))A(1/2)*(si n(x)*(1-exp(x))A(1/2)+ x*cos(x)*(1-exp(x))A(1/2)-1/2*x*sin (x)/(1-exp(x))A(1/2)*exp(x)) >> syms x,y; f=ata n(y /x)_log(xA2+yA2); f1=simple(-diff(f,x)/diff(f,y)) f1 =(y+2*x)/(x-2*y)2 23、假设U cos 1 J *,试验证⼀———。
\y x y y x【求解】证明⼆者相等亦可以由⼆者之差为零来证明,故由下⾯的语句直接证明。
>> syms x y; u=acos(x/y); diff(diff(u,x),y)-diff(diff(u,y),x) ans =(1) limx (x 2)x 2(x 3)x3(x 5)2x 52..x y lim y 21(x xy 3y)3H xy2Xos2Xe2o o2xyt 2x2f2f2f4、假设 f (x, y) e dt ,试求 22 2y x x yy【求解】由下⾯的命令可以得出所需结果。
哈工大matlab选修课试题
2015年春季学期《MATLAB语言及应用》课程试卷姓名:李清蔚学号:11408010304学院:机电学院专业:机械设计制造及其自动化(1)请概括Matlab中冒号(:),逗号(,),分号(;)的功能?(6分):用于生成一位数组,表示一位数组的全部元素或多维数组的某一维的全部元素,用于要显示计算结果的命令之间的分隔符,用于输入变量之间的分隔符,用于数组行元素之间的分隔符。
;用于不显示计算结果命令行的结尾,用于不显示计算结果命令之间的分隔符,用于数组元素行之间的分隔符。
(2)a=[1 -6 0 0.45 0 100],b=[0 1.5 4 0 0.5 -34],请问在进行逻辑运算时,a、b分别相当于什么样的逻辑量?a与b的逻辑与、逻辑或都分别是什么?(4分)元素方式的逻辑变量a&b=[0 1 0 0 0 1], a|b=[1,1,1.1,1](3)有几种建立矩阵的方法?各有什么优点?(4分)直接输入矩阵,eye()生成单位矩阵,通过M文件建立矩阵,通过外部数据文件导入矩阵(4)生成一个7阶的魔方矩阵A,再采用相应的MATLAB命令,将其全部奇数行提取出来,赋给矩阵B,给出执行语句以及计算结果。
(4分)A=magic(7)table=[1 3 5 7];[n,len]=size(table);B=A(table(1),:);for i=2:lenB=[B;A(table(i),:)];EndB= 30 39 48 1 10 19 2846 6 8 17 26 35 3713 15 24 33 42 44 422 31 40 49 2 11 20(5)生成5阶魔方矩阵A,再分别计算A中元素的平方、A矩阵的平方,给出执行语句以及计算结果。
(5分)A=magic(5)B=A.^2C=A^2A =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9B =289 576 1 64 225529 25 49 196 25616 36 169 400 484100 144 361 441 9121 324 625 4 81C =1090 900 725 690 820850 1075 815 720 765700 840 1145 840 700765 720 815 1075 850820 690 725 900 1090(6)生成矩阵84126115689a⎡⎤-⎢⎥=--⎢⎥⎢⎥-⎣⎦,计算a的行列式、逆矩阵,给出执行语句以及计算结果。
matlab课后习题解答第二章
第2章符号运算习题2及解答1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1))〖目的〗●不能从显示形式判断数据类型,而必须依靠class指令。
〖解答〗c1=3/7+0.1c2=sym(3/7+0.1)c3=sym('3/7+0.1')c4=vpa(sym(3/7+0.1))Cs1=class(c1)Cs2=class(c2)Cs3=class(c3)Cs4=class(c4)c1 =0.5286c2 =37/70c3 =c4 =Cs1 =doubleCs2 =symCs3 =symCs4 =sym2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')〖目的〗●理解自由符号变量的确认规则。
〖解答〗symvar(sym('sin(w*t)'),1)ans =wsymvar(sym('a*exp(-X)'),1)ans =asymvar(sym('z*exp(j*th)'),1) ans = z5求符号矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。
〖目的〗● 理解subexpr 指令。
〖解答〗A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]')DA=det(A) IA=inv(A);[IAs,d]=subexpr(IA,d) A =[ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA =a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d =1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)8(1)通过符号计算求t t y sin )(=的导数dtdy。
MATLAB 选修课作业
课程:计算方法学院:信息工程学院班级:电信0906姓名:黄星星学号:0120909310615第一个图clearclose allb=1000;a=[11000];w=[0:1000*2*pi];[hf,w]=freqs(b,a,w);subplot(1,3,1)plot(w/2/pi,abs(hf));grid;xlabel('f/Hz');ylabel('幅度');fs0=[1000,500];for m=1:2fs=fs0(m);[d,c]=impinvar(b,a,fs);wd=[0:512]*pi/512;hw1=freqz(d,c,wd);subplot(1,3,2);plot(wd/pi,abs(hw1)/abs(hw1(1)));hold on;endgrid;xlabel('f/(Hz)');text(0.52,0.88,'t=0.002s');text(0.12,0.54,'T=0.001s');for m=1:2fs=fs0(m);[f,e]=bilinear(b,a,fs);wd=[0:512]*pi/512;hw2=freqz(f,e,wd);subplot(1,3,3)plot(wd/pi,abs(hw2)/abs(hw2(1)));hold on;endgrid;xlabel('f/(Hz)');text(0.5,0.74,'T=0.002S');text(0.12,0.34,'t=0.001s');得到波形如图(1)Figure1图(1)Figure1第二个图clcclearclose allN=21;wc=pi/4;n=0:N-1;r=(N-1)/2;hdn=sin(wc*(n-r))/pi./(n-r);if rem(N,2)~=0hdn(r+1)=wc/pi;endwn1=boxcar(N);hn1=hdn.*wn1';wn2=hamming(N)hn2=hdn.*wn2';subplot(2,2,1)stem(n,hn1,'.')line([020],[00]);title('矩形窗设计的h(n)');xlabel('n');ylabel('h(n)');subplot(2,2,3)stem(n,hn2,'.')line([0,20],[00])title('hamming窗设计的h(n)');xlabel('n');ylabel('h(n)');hn11=fft(hn1,512);w=2*[0:511]/512;subplot(2,2,2)plot(w,20*log10(abs(hn11)))gridaxis([02-805]);title('幅度特性');xlabel('w/pi');ylabel('幅度(dB)');hn22=fft(hn2,512);subplot(2,2,4)plot(w,20*log10(abs(hn22)))gridaxis([02-805]);title('幅度特性');xlabel('w/pi');ylabel('幅度(dB)');得到波形如图(2)Figure2图(2)Figure2第三个图clcclear[t,omg,ft,ift]=prefourier([0,5],1000,[-250,250],1000); g=3*cos(10*t)+2*cos(20*t);%由定义生成基带信号f=g.*cos(100*t);%调制g0=f.*cos(100*t);%解调G0=ft*g0;%解调输出的频谱h=(omg<30&omg>-30);%定义低通滤波器G1=G0.*h;%在频域进行低通滤波g1=ift*G1;%逆变换得到时域输出G=ft*g;F=ft*f;subplot(4,1,1)plot(t,g)xlabel('t')ylabel('g(t)')subplot(4,1,2)plot(t,f)xlabel('t')ylabel('f(t)')subplot(4,1,3)plot(t,g0)xlabel('t')ylabel('g0(t)')subplot(4,1,4)plot(t,g1)xlabel('t')ylabel('g1(t)')figuresubplot(5,1,1)plot(omg,G)axis([-250250-28])xlabel('w')ylabel('G(w)')subplot(5,1,2)plot(omg,F)axis([-250250-24])xlabel('w')ylabel('F(w)')subplot(5,1,3)plot(omg,G0)axis([-250250-24])xlabel('w')ylabel('G0(w)')subplot(5,1,4)plot(omg,h)axis([-250250-0.51.5])xlabel('w')ylabel('H(w)')subplot(5,1,5)plot(omg,G1)axis([-250250-24])xlabel('w')ylabel('G1(w)')得到波形如图(3)Figure3图(3)Figure3I_noise=input('Enter1for Gaussian noise of variance5added to signal');N_tot=2048;N_seg_0=8;k=1:N_tot;f_0=20;del_t=0.005;f_samp=1/del_t;t=del_t*(k-1);max_t=max(t);x=cos(2*pi*f_0*(k-1)*del_t);n=sqrt(5)*randn(size(x));if I_noise==1x=x+n;elsex=x;endsubplot(4,1,1),plot(t,x),axis([02-55]),xlabel('t'),ylabel('x(t)')for l=1:3N_seg=N_seg_0/2^(l-1);NFFT=N_tot/N_seg;[P,F]=PSD(x,NFFT,f_samp); subplot(4,1,l+1),plot(F,P),axis([0100-580]),ylabel('PSD-dB'),...text(40,50,['FFT points=',num2str(NFFT),';no.segments=',num2str(N_seg)]) if l==3xlabel('frequency-Hz')endend得到波形如图(4)Figure4图(4)Figure4f=[00.20.220.50.521];%Specify f vectorm=[110.40.400];%Specify amplitude response n=10;%Specify order[b,a]=yulewalk(n,f,m);%Compute transfer function [h,w]=freqz(b,a,512);%Determine filter response subplot(2,1,1)%Designate first subplot plot(f/2,m,w/(2*pi),abs(h),'--')%Plot amplitude responsexlabel('Normalized Frequency-r')%Label x-axisylabel('Amplitude')%Label y-axisphase=angle(h);%Calculate phasephase=unwrap(phase);%Unwrap phase phasedeg=phase*180/pi;%Express phase in degrees subplot(2,1,2)%Designate second subplot plot(w/(2*pi),phasedeg,'--')%Plot phase responsexlabel('Normalized Frequency-r')%Label x-axisylabel('Phase-degrees')%Label y-axis得到波形如图(5)Figure5图(5)Figure5f=[00.20.220.50.521];%Specify f vectorm=[110.40.400];%Specify amplitude responsen=30;%Define nb=remez(n,f,m);%Compute impulse response [h,w]=freqz(b,1,512);%Compute frequency response amp=abs(h);%Compute amplitude response subplot(2,1,1)%Designate first subplotplot(f/2,m,w/(2*pi),amp,'--')%Plot amplitude responsexlabel('Normalized Frequency-r')%Label x-axisylabel('Amplitude')%Label y-axisphase=angle(h);%Calculate phasephase=unwrap(phase);%Unwrap phasephasedeg=phase*180/pi;%Express phase in degrees subplot(2,1,2)%Designate second subplot plot(w/(2*pi),phasedeg,'--')%Plot phase responsexlabel('Normalized Frequency-r')%Label x-axisylabel('Phase-degrees')%Label y-axis得到波形如图(6)Figure6图(6)Figure6。
哈工大MATLAB选修课小作业2资料
1. 表1 用三次样条方法插值计算0-90 度内整数点的sin 值和0-75 度内整数点的正切值,然后用5 次多项式拟合方法计算相同的函数。
a(度)0 15 30 45 60 75 90Sin(a)0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000tan(a)0 0.2679 0.5774 1.0000 1.7320 3.732解:分别对应的程序如下:Sin x函数和tan x函数:x1= pi*(0:90)/180;y1 = sin(x1);xx1 = pi*(0:.25:90)/180;x2 = pi*(0:75)/180;y2 = tan(x2);xx2 = pi*(0:.25:75)/180;yy2 = spline(x2,y2,xx2);yy1 = spline(x1,y1,xx1);plot(x1,y1,'mo',xx1,yy1,x2,y2,'ro',xx2,yy2);Sin x与tan x的五次多项式拟合:figurex1=pi*(0:15:90)/180;y1=[0,0.2588,0.5,0.7071,0.866,0.9659,1.0];x2=pi*(0:15:75)/180;y2=[0,0.2679,0.5774,1,1.732,3.732];xx1=pi*(1:90)/180;pp1=polyfit(x1,y1,5);yy1=polyval(pp1,xx1);xx2=pi*(1:75)/180;pp2=polyfit(x2,y2,5);yy2=polyval(pp2,xx2);plot(x1,y1,'-mo',xx1,yy1,x2,y2,'-ro',xx2,yy2);legend('描点显示','五次拟合')2. 采用最近点法、线性法和3 次样条法插值计算1-100 整数间平方根n 1 4 9 16 25 36 49 64 81 100Sqtr(n)1 2 3 4 5 6 7 8 9 10解:程序如下:x=[1,4,9,16,25,36,49,64,81,100];y=x.^0.5;xx=0:100;subplot(1,3,1);y1=interp1(x,y,xx,'nearest');plot(x,y,'-*',xx,y2,'xr');title('最近点法')subplot(1,3,2);y2=interp1(x,y,xx);plot(x,y,'-*',xx,yy,'rx');title('线性法');subplot(1,3,3);y3=interp1(x,y,xx,'spline');plot(x,y,'-*',xx,y3,'xr');title('3次样条法');仿真的结果:3. 已知p(x)=2x^4-3x^3+5x+13,求p(x)的全部根,由方程p(x)=0 的根构造一个多项式f(x),并和p(x)比较。
哈工大MATLAB选修课最终大作业
2014年春季学期MATLAB 课程考查题姓名:学号:11208学院:机电工程学院专业:机械设计制造及其自动化一.必答题(80分)1. 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有何区别?答:设置当前目录和搜索路径:在File菜单中选择SetPath选项,之后选择AddFolder增加目录。
当前工作目录是指MATLAB运行文件时的目录,只有在当前工作目录或搜索路径下的文件、函数可以被运行或调用。
2. 创建符号变量和符号表达式有哪几种方法?答:(1)符号变量:x = sym(‘x’) 创建x为符号变量,默认复数区域x = sym(‘x’, ‘real’) 创建实数的符号变量xx = (‘x’, ‘positive’) 创建正数的符号变量xx = sym('x', 'clear')创建一个没有额外属性的纯形式上的符号变量xs=sym(‘ab’,’flag’) 创建flag数域(复数,实数,正数)符号变量名s,内容ab(2)符号表达式:①直接法:>> x=sym('x');>> a=sym('a');>> b=sym('b');>> f=sin(b*x)+exp(-a*x)②整体定义法:f=sym(‘expression’)③字符串符号表达式:f=‘expression’3. GUIDE提供哪些常用的控件工具,各有什么功能?(5分)答:按钮(Push Buttons) :通过鼠标单击按钮可以执行某种预定的功能或操作;静态文本框(Static Texts):仅用于显示单行的说明文字.文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作;单选按钮(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项;滚动条(Slider):可输入指定范围的数量值,通过移动滚动条来改变指定范围内的数值输入,滚动条的位置代表输入数值。
MATLAB实验二-绘图-参考答案-仅供参考
实验二:MATLAB 的绘图
实验目的:
1、掌握 MATLAB 的各种二维绘图; 2、掌握 MABLAB 的三维绘图; 3、了解 MABLAB 的 MATLAB 的绘图修饰。
实验内容
1、 2、 3、 1. 基本二维绘图函数 2. 颜色,线条的设置,绘制多图 3. 三维绘图 4. 图形标注,坐标,修饰等处理
0.1 x
sin(0.5 x) 和 y 0.2e 0.1x cos(0.5 x) 在区间
[0,2] 上的曲线图,添上图例、题头、坐标轴。
x=0:pi/20:2*pi; plot(x,0.2*exp(0.1*x)+sin(0.5*x),x,0.2*exp(0.1*x)+cos(0.5*x)) legend('0.2*exp(0.1*x)+sin(0.5*x)','0.2*exp(0.1*x)+cos(0.5*x)') xlabel('x'); ylabel('y'); title('两曲线示意图') 6、1)数据如下表所示: 数学系毕业学生去向 国家单位 私营企业 出国 读研 待业 比例(%) 10 40 5 20 25
实验要求
1、学生在实验操作过程中自己动手独立完成,1 人为 1 组。 2、完成实验报告:按照试验的每个题目的具体要求完成
实验数据记录及分析(命令与结果)
1、 运行该端程序,注释程序。 v=[‘-1’;’+1’]; t=[0:0.05:2*pi]; % t 的取值范围是 0 到 2pi,其步长为 0.05 plot(t,sin(t)); xlabel(‘time(0—2\pi)’); % 在坐标轴 x 上标注 time(0-2\pi) ylabel(‘value’); % 在坐标轴 y 标注 value text(pi/2,0.9,[‘\uparrowsin(\pi/2)=’,v(2,:)]); % 在 (pi/2, 0.9) 处用向上的箭头标注 sin(pi/2)=+1 text(pi*3/2,-0.9,[‘\downarrowsin(\pi*3/2)=’,v(1,:)]); text(0,0.6,[‘Date:’,date]); % 在(0,0.6)处显示 Date 当前日期 gtext( [‘Date:’,date]); % 通过鼠标箭头标注 Date 日期 2、运行该端程序(掌握 subplot,pause) ,注释程序 t=0:0.1:4*pi; y=exp(-0.1*t).*sin(t); clf % 清空绘图窗口 figure(1) % 新建一个绘图窗口, 标号为 1 subplot(2,2,1) % 将一个绘图窗口划分成一个 2*2 的子区域, 并按行从左至右 依次排号,1 表示第一个绘图子区域 stem(t,y) % 绘制火柴杆图 title('stem(t,y)') % 加标题为 stem(t,y) pause % 在当前完成的图像上停留,按任意键显示后面的命令 subplot(2,2,2) stairs(t,y) % 绘制阶梯图 title('stairs (t,y)') pause subplot(2,2,3)
matlab章课后作业
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实验》实验指导书2013实验报告-哈工大完整版绝对很完整
《科学分析工具MATLAB实验》实验报告(18学时系列课程实验)指导教师:学生:班级:学号:哈尔滨工业大学机电工程学院机械制造及自动化系2012年4月实验一最小二乘法数据处理实验一、实验目的通过Matlab上机编程,掌握利用Matlab软件进行数据拟合分析及数据可视化方法二、实验内容1.有一组风机叶片的耐磨实验数据,如下表所示,其中X为使用时间,单位为小时h,Y 为磨失质量,单位为克g。
要求:(1)编写一个M文件,对该数据进行合理的最小二乘法数据拟合;(2)绘出原始数据点和拟合的数据曲线。
表1 风机叶片耐磨实验2.对ln(1+x)在[0,1]内的采样数据进行多项式拟合;3.对指数函数在[0,1]内的采样数据进行多项式拟合。
三、实验报告内容1)编写出M文件,对该数据进行合理的最小二乘法数据拟合;2)绘出原始数据点和拟合的数据曲线。
1)1.clcclearxlabel('h')ylabel('g')x=10000:1000:23000;y=[24.0 26.5 29.8 32.4 34.7 37.7 41.1 42.8 44.6 47.3 65.3 87.5 137.8 174.2];p=polyfit(x,y,4)y1=polyval(p,x);plot(x,y,'+',x,y1,'-r')2clcclearx=0:0.05:1;y=log10(1+x);p=polyfit(x,y,3)y1=polyval(p,x);plot(x,y,'+',x,y1,'-r')3clcclearx=0.05:0.05:1;y=1-sqrt(x);p=polyfit(x,y,3)y1=polyval(p,x);plot(x,y,'+',x,y1,'-r')实验二 Matlab 程序设计实验一、实验目的通过Matlab 上机编程,掌握利用Matlab 软件进行多项式运算、方程求解的方法,掌握命令型M 文件和函数型文件的操作方法及这两种M 文件的区别与联系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1) 建立函数: function yp=fun2(t,y) %建立相应的函数 yp=-(1.2+sin(10.*t)).*y; end 再在命令窗口输入: [t,y]=ode23('fun2',[0,5],1); [t,y] 得倒最后的结果为: ans = 0 1 1/15 384/425 254/1847 801/1024 265/1323 305/447 176/653 873/1459 675/1913 598/1107 2197/5037 1212/2339 1075/2136 529/1036 363/641 523/1051 1717/2696 643/1381 1086/1571 577/1348 173/232 494/1285 3277/4055 463/1380 921/1054 588/2003 773/806 404/1557 1597/1554 767/3106 649/592 453/1871 8736/7531 902/3787 1205/984 117/511 972/743 83/404 5579/4068 267/1468 1548/1079 197/1243
K2=polyder(P,Q); [p,q]=polyder(P,Q); p=poly2str(p,'x'); q=poly2str(q,'x'); D1=poly2str(K1,'x'); D2=poly2str(K2,'x'); D3=poly2str([p,q],'x') 运行的结果如下:
D1 = 8 x^3 - 9 x^2 + 5 D2 = 12 x^5 + 35 x^4 + 4 x^3 - 57 x^2 + 76 x + 105 D3 = x^82 + x^81 + x^80 + 4 x^79 + x^78 + x x^77 + ^ x^76 + 5 x^75 + x^74 + + x^73 + x^72 + 2 x^71 + 7 x^70 + x^69 + x x^68 + ^ x^67 + 4 x^66 + x^65 + + x^64 + x^63 + 3 x^62 + 4 x^61 + x^60 + x x^59 + ^ x^58 + 3 x^57 + x^56 + - x^55 + x^54+ 7 x^53 + 7 x^52 + x^51 + x x^50 + ^ x^49 + 2 x^48 + x^47 + - x^46 + x^45 + 2 x^44 + 6 x^43 + x^42 + x x^41 + x^40+ - x^39 + x^38 + 2 x^37 + 5 x^36 + x^35 + x^34 + x^33+ x x^32 + ^ x^31 + 4 x^30 + x^29 + + x^28 + x^27 + 1 x^26+ 0 x^25 + x^24 + x x^23 + ^ x^22 + 3 x^21 + x^20 + + x^19 + x^18 + 4 x^17 + 1 x^16 + x^15 + x x^14 + ^ x^13 + 2 x^12+ x^11 + + x^10 + x^9 + 8 x^8 + 0 x^7 + x^6 + x x^5 + x^4 + x^3 + x^2 + 6 x + 4
(2)M文件如下: function q=t(p) x=p(1); y=p(2); z=p(3); q(1)=sin(x)+y^2+log(z)-7; q(2)=3*x+2.^y-z^3+1; q(3)=x+y+z-5; end 再输入: x=fsolve('t',[1,1,1]',optimset('Display','off')) 运行结果如下: x=fsolve('t',[1,1,1]',optimset('Display','off')) x= 1013/1691 1531/639 1999/997
title('最近点法') subplot(1,3,2); y2=interp1(x,y,xx); plot(x,y,'-*',xx,yy,'rx'); title('线性法'); subplot(1,3,3); y3=interp1(x,y,xx,'spline'); plot(x,y,'-*',xx,y3,'xr'); title('3次样条法');
legend('描点显示','五次拟合')
2. 采用最近点法、线性法和3 次样条法插值计算1-100 整数间 平方根
n 1 4 9 16 25 36 49 64 81 100 Sqtr(n)1 2 3 4 5 6 7 8 9 10 解:程序如下:
x=[1,4,9,16,25,36,49,64,81,100];y=x.^0.5; xx=0:100; subplot(1,3,1); y1=interp1(x,y,xx,'nearest'); plot(x,y,'-*',xx,y2,'xr');
Байду номын сангаас
解:分别对应的程序如下: Sin x函数和tan x函数: x1= pi*(0:90)/180; y1 = sin(x1); xx1 = pi*(0:.25:90)/180; x2 = pi*(0:75)/180; y2 = tan(x2); xx2 = pi*(0:.25:75)/180; yy2 = spline(x2,y2,xx2); yy1 = spline(x1,y1,xx1); plot(x1,y1,'mo',xx1,yy1,x2,y2,'ro',xx2,yy2);
6. 求解超定方程组,采用采用左除法、求逆法和最小二乘法
2x-4y+10z=22 6x+5y-4z=32
5x-y+33z=10 x+4y-76z=33
对应的程序如下: A=[2,-4,10;6,5,-4;5,-1,33;1,4,-76]; b=[22;32;10;33]; X1=A\b;%左除法 X2=pinv(A)*b;%求逆法 X3=lsqnonneg(A,b);%最小二乘法 [X1 X2 X3] 运行的结果如下: ans = 5340/851 -333/136 -1103/2144 5340/851 1410/331 -333/136 2035/1129 -1103/2144 0
10403/6935 514/3707 1082/683 239/1951 1253/758 1818/15625 842/489 251/2202 2984/1671 303/2701 864/467 1346/12463 3035/1571 121/1242 848/425 271/3137 1929/937 267/3547 1306/615 505/7671 419/190 147/2530 14989/6590 181/3295 75/32 629/11712 2396/995 253/4783 220/89 180/3523 1553/609 132/2833 1605/614 103/2484 1347/503 71/1965 1604/585 589/18652 1841/653 144/5177 1066/367 241/9332 659/222 213/8422 2535/836 211/8466 1517/490 141/5845 682/215 187/8447 2204/681 269/13622 1789/542 47/2731 3011/895 143/9511 1479/430 83/6274 1671/473 47/3867 6578/1829 58/4873 948/259 151/12873 1672/449 623/54863 4632/1219 127/12180 313/81 63/6772 20291/5165 147/18131 1002/251 136/19201
1. 表1 用三次样条方法插值计算0-90 度内整数点的sin 值和0-75 度内整数点的 正切值,然后用5 次多项式拟合方法计算相同的函数。
a(度) 0 15 30 45 60 75 90 Sin(a) 0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000 tan(a) 0 0.2679 0.5774 1.0000 1.7320 3.732
程序如下: X1=fzero('x^41+x^3+1',-1); X2=fzero('x-sin(x)./x',0.5); X3=fzero('3*x+sin(x)-exp(x)',1.5); [X1 X2 X3] 结果如下: ans = -441/463 889/1014 1289/682