matlab课下作业

合集下载

matlab 部分答案

matlab 部分答案


D=A.*B


MATLAB: A=[1,4,8,13; -3,6,-5,-9; 2,-7,-12,-8];


8 13 ⎤ ⎡ 5 4 3 −2 ⎤ ⎡1 4 ⎥ ⎢ ⎥ 10. 设 A = ⎢ −3 6 −5 −9 ⎥ , B = ⎢ ⎢ 6 −2 3 − 8 ⎥ ⎢ ⎢ ⎣ −1 3 −9 7 ⎥ ⎦ ⎣ 2 −7 −12 −8⎥ ⎦
2
+ y2 )
,求定义域 x = [−2, 2] , y = [−2, 2] 内的 z 值(网格取 0.1 见方) ,并绘制
15.设 x = cos(t ) , y = sin( Nt + α ) ,若 N = 2 , α = 0, π / 3, π / 2, π ,在 4 个子图中分别画出其
MATLAB: t=0:0.01:3; N=2;
4. 用三点公式计算 y=f(x)在 x=1.0,1.2 处的导数值, f(x)值由下表给出; x f(x)
5
1.0 0.25
4
1.1
ww w
1.2
2
.k
1.3 0.1890 1.4 0.1736

7. 求解下列线性常微分方程的解析解。

6.设方程的根为 x = [−3, −5, −8, −9] ,求它们对应的 x 多项式的系数。
π


=∫
0
17.设 ( X , Y ) 的概率密度为

⎧ d 2 x dy + − x = et ⎪ ⎪ dt 2 dt ⎨ 2 ⎪ d y + dx + y = 0 ⎪ ⎩ dt 2 dt
dy 。 dx

MATLAB)课后实验答案[1]

MATLAB)课后实验答案[1]

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。

(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。

(3) 计算系数矩阵A 的条件数并分析结论。

解: M 文件如下:123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。

2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。

matlb课程设计作业

matlb课程设计作业

matlb课程设计作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及应用方法,培养学生解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解MATLAB的基本概念,如变量、数据类型、运算符等。

(2)掌握MATLAB编程的基本语法,如矩阵操作、函数定义与调用、循环结构、条件语句等。

(3)熟悉MATLAB与其他软件(如Mathematica、Python等)的接口转换。

(4)了解MATLAB在工程领域中的应用,如信号处理、控制系统、图像处理等。

2.技能目标:(1)能够运用MATLAB进行简单的数学计算、数据分析及图形绘制。

(2)具备编写MATLAB脚本文件和函数文件的能力。

(3)学会使用MATLAB解决实际问题,如编写程序实现线性方程组求解、最优化问题求解等。

(4)掌握MATLAB在实验数据处理、仿真实验等方面的应用。

3.情感态度价值观目标:(1)培养学生对科学探究的兴趣,提高其创新意识。

(2)培养学生团队协作、沟通交流的能力。

(3)培养学生具备良好的编程习惯和职业道德。

二、教学内容本课程的教学内容主要包括以下几个部分:1.MATLAB基本概念:变量、数据类型、运算符等。

2.MATLAB编程语法:矩阵操作、函数定义与调用、循环结构、条件语句等。

3.MATLAB高级应用:数组运算、图像处理、控制系统、信号处理等。

4.MATLAB与其他软件的接口转换。

5.实践项目:利用MATLAB解决实际问题,如线性方程组求解、最优化问题求解等。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以提高学生的学习兴趣和主动性。

1.讲授法:用于讲解MATLAB基本概念、语法和应用。

2.案例分析法:通过分析实际案例,使学生掌握MATLAB在各个领域的应用。

3.实验法:让学生亲自动手实践,培养其运用MATLAB解决实际问题的能力。

四、教学资源1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。

(完整版)有限元大作业matlab---课程设计例子

(完整版)有限元大作业matlab---课程设计例子

有限元大作业程序设计学校:天津大学院系:建筑工程与力学学院专业:01级工程力学姓名:刘秀学号:\\\\\\\\\\\指导老师:连续体平面问题的有限元程序分析[题目]:如图所示的正方形薄板四周受均匀载荷的作用,该结构在边界上受正向分布压力,m kNp 1=,同时在沿对角线y 轴上受一对集中压力,载荷为2KN ,若取板厚1=t ,泊松比0=v 。

[分析过程]:由于连续平板的对称性,只需要取其在第一象限的四分之一部分参加分析,然后人为作出一些辅助线将平板“分割”成若干部分,再为每个部分选择分析单元。

采用将此模型化分为4个全等的直角三角型单元。

利用其对称性,四分之一部分的边界约束,载荷可等效如图所示。

[程序原理及实现]:用FORTRAN程序的实现。

由节点信息文件NODE.IN和单元信息文件ELEMENT.IN,经过计算分析后输出一个一般性的文件DATA.OUT。

模型基本信息由文件为BASIC.IN生成。

该程序的特点如下:问题类型:可用于计算弹性力学平面问题和平面应变问题单元类型:采用常应变三角形单元位移模式:用用线性位移模式载荷类型:节点载荷,非节点载荷应先换算为等效节点载荷材料性质:弹性体由单一的均匀材料组成约束方式:为“0”位移固定约束,为保证无刚体位移,弹性体至少应有对三个自由度的独立约束方程求解:针对半带宽刚度方程的Gauss消元法输入文件:由手工生成节点信息文件NODE.IN,和单元信息文件ELEMENT.IN结果文件:输出一般的结果文件DATA.OUT程序的原理如框图:(1)主要变量:ID:问题类型码,ID=1时为平面应力问题,ID=2时为平面应变问题N_NODE:节点个数N_LOAD:节点载荷个数N_DOF:自由度,N_DOF=N_NODE*2(平面问题)N_ELE:单元个数N_BAND:矩阵半带宽N_BC:有约束的节点个数PE:弹性模量PR:泊松比PT:厚度LJK_ELE(I,3):单元节点编号数组,LJK_ELE(I,1),LJK_ELE(I,2),LJK_ELE(I,3)分别放单元I的三个节点的整体编号X(N_NODE), Y(N_NODE):节点坐标数组,X(I),Y(I)分别存放节点I的x,y 坐标值P_LJK(N_BC,3):节点载荷数组,P_LJK(I,1)表示第I个作用有节点载荷的节点的编号,P_LJK(I,2),P_LJK(I,3)分别为该节点沿x,y方向的节点载荷数值AK(N_DOF,N_BAND):整体刚度矩阵AKE(6,6):单元刚度矩阵BB(3,6):位移……应变转换矩阵(三节点单元的几何矩阵)DD(3,3):弹性矩阵SS(3,6);应力矩阵RESULT_N(N_NOF):节点载荷数组,存放节点载荷向量,解方程后该矩阵存放节点位移DISP_E(6)::单元的节点位移向量STS_ELE(N_ELE,3):单元的应力分量STS_ND(N_NODE,3):节点的应力分量(2)子程序说明:READ_IN:读入数据BAND_K:形成半带宽的整体刚度矩阵FORM_KE:计算单元刚度矩阵FORM_P:计算节点载荷CAL_AREA:计算单元面积DO_BC:处理边界条件CLA_DD:计算单元弹性矩阵SOLVE:计算节点位移CLA_BB:计算单元位移……应变关系矩阵CAL_STS:计算单元和节点应力(3)文件管理:源程序文件:chengxu.for程序需读入的数据文件:BASIC.IN,NODE.IN,ELEMENT.IN(需要手工生成)程序输出的数据文件:DATA.OUT(4)数据文件格式:需读入的模型基本信息文件BASIC.IN的格式如下表需读入的节点信息文件NODE.IN的格式如下表需读入的单元信息文件ELEMENT.IN的格式如下表输出结果文件DATA.OUT格式如下表[算例原始数据和程序分析]:(1)模型基本信息文件BASIC.IN的数据为1,4,6,5,31.,0.,1.1,1,0,2,1,0,4,1,1,5,0,1,6,0,11,-0.5,-1.5,3.,-1.,-1,6,-0.5,-0.5(2)手工准备的节点信息文件NODE.IN的数据为1 0.0 2.02 0.0 1.03 1.0 1.04 0. 0.5 1.0 0.6 2.0 0.(3)手工准备的单元信息文件ELEMENT.IN的数据为1 2 3 3 0 0 0 0 1 1 1 1 0 12 4 5 5 0 0 0 0 1 1 1 1 0 25 3 2 2 0 0 0 0 1 1 1 1 0 33 5 6 6 0 0 0 0 1 1 1 1 04 (4)源程序文件chengxu.for为:PROGRAM FEM2DDIMENSION IJK_ELE(500,3),X(500),Y(500),IJK_U(50,3),P_IJK(50,3),&RESULT_N(500),AK(500,100)D IMENSION STS_ELE(500,3),STS_ND(500,3)OPEN(4,FILE='BASIC.IN')OPEN(5,FILE='NODE.IN')OPEN(6,FILE='ELEMENT.IN')OPEN(8,FILE='DATA.OUT')OPEN(9,FILE='FOR_POST.DAT')READ(4,*)ID,N_ELE,N_NODE,N_BC,N_LOADIF(ID.EQ.1)WRITE(8,20)IF(ID.EQ.2)WRITE(8,25)20 FORMAT(/5X,'=========PLANE STRESS PROBLEM========')25 FORMAT(/5X,'=========PLANE STRAIN PROBLEM========')CALL READ_IN(ID,N_ELE,N_NODE,N_BC,N_BAND,N_LOAD,PE,PR,PT, & IJK_ELE,X,Y,IJK_U,P_IJK)CALL BAND_K(N_DOF,N_BAND,N_ELE,IE,N_NODE,& IJK_ELE,X,Y,PE,PR,PT,AK)CALL FORM_P(N_ELE,N_NODE,N_LOAD,N_DOF,IJK_ELE,X,Y,P_IJK, & RESULT_N)CALL DO_BC(N_BC,N_BAND,N_DOF,IJK_U,AK,RESULT_N)CALL SOLVE(N_NODE,N_DOF,N_BAND,AK,RESULT_N)CALL CAL_STS(N_ELE,N_NODE,N_DOF,PE,PR,IJK_ELE,X,Y,RESULT_N, & STS_ELE,STS_ND)c to putout a data fileWRITE(9,70)REAL(N_NODE),REAL(N_ELE)70 FORMAT(2f9.4)WRITE(9,71)(X(I),Y(I),RESULT_N(2*I-1),RESULT_N(2*I),& STS_ND(I,1),STS_ND(I,2),STS_ND(I,3),I=1,N_NODE)71 FORMA T(7F9.4)WRITE(9,72)(REAL(IJK_ELE(I,1)),REAL(IJK_ELE(I,2)),&REAL(IJK_ELE(I,3)),REAL(IJK_ELE(I,3)),&STS_ELE(I,1),STS_ELE(I,2),STS_ELE(I,3),I=1, N_ELE)72 FORMAT(7f9.4)cCLOSE(4)CLOSE(5)CLOSE(6)CLOSE(8)CLOSE(9)E NDcc to get the original data in order to model the problemSUBROUTINE READ_IN(ID,N_ELE,N_NODE,N_BC,N_BAND,N_LOAD,PE,PR, &PT,IJK_ELE,X,Y,IJK_U,P_IJK)DIMENSION IJK_ELE(500,3),X(N_NODE),Y(N_NODE),IJK_U(N_BC,3), & P_IJK(N_LOAD,3),NE_ANSYS(N_ELE,14)REAL ND_ANSYS(N_NODE,3)READ(4,*)PE,PR,PTREAD(4,*)((IJK_U(I,J),J=1,3),I=1,N_BC)READ(4,*)((P_IJK(I,J),J=1,3),I=1,N_LOAD)READ(5,*)((ND_ANSYS(I,J),J=1,3),I=1,N_NODE)READ(6,*)((NE_ANSYS(I,J),J=1,14),I=1,N_ELE)DO 10 I=1,N_NODEX(I)=ND_ANSYS(I,2)Y(I)=ND_ANSYS(I,3)10 CONTINUEDO 11 I=1,N_ELEDO 11 J=1,3IJK_ELE(I,J)=NE_ANSYS(I,J)11 CONTINUEN_BAND=0DO 20 IE=1,N_ELEDO 20 I=1,3DO 20 J=1,3IW=IABS(IJK_ELE(IE,I)-IJK_ELE(IE,J))IF(N_BAND.LT.IW)N_BAND=IW20 CONTINUEN_BAND=(N_BAND+1)*2IF(ID.EQ.1) THENELSEPE=PE/(1.0-PR*PR)PR=PR/(1.0-PR)END IFR ETURNENDcC to form the stiffness matrix of elementSUBROUTINE FORM_KE(IE,N_NODE,N_ELE,IJK_ELE,X,Y,PE,PR,PT,AKE) DIMENSION IJK_ELE(500,3),X(N_NODE),Y(N_NODE),BB(3,6),DD(3,3), & AKE(6,6), SS(6,6)CALL CAL_DD(PE,PR,DD)CALL CAL_BB(IE,N_NODE,N_ELE,IJK_ELE,X,Y,AE,BB)DO 10 I=1,3DO 10 J=1,6SS(I,J)=0.0DO 10 K=1,310 SS(I,J)=SS(I,J)+DD(I,K)*BB(K,J)DO 20 I=1,6DO 20 J=1,6AKE(I,J)=0.0DO 20 K=1,320 AKE(I,J)=AKE(I,J)+SS(K,I)*BB(K,J)*AE*PTRETURNENDcc to form banded global stiffness matrixSUBROUTINE BAND_K(N_DOF,N_BAND,N_ELE,IE,N_NODE,IJK_ELE,X,Y,PE, & PR,PT,AK)DIMENSIONIJK_ELE(500,3),X(N_NODE),Y(N_NODE),AKE(6,6),AK(500,100)N_DOF=2*N_NODEDO 40 I=1,N_DOFDO 40 J=1,N_BAND40 AK(I,J)=0DO 50 IE=1,N_ELECALL FORM_KE(IE,N_NODE,N_ELE,IJK_ELE,X,Y,PE,PR,PT,AKE)DO 50 I=1,3DO 50 II=1,2IH=2*(I-1)+IIIDH=2*(IJK_ELE(IE,I)-1)+IIDO 50 J=1,3DO 50 JJ=1,2IL=2*(J-1)+JJIZL=2*(IJK_ELE(IE,J)-1)+JJIDL=IZL-IDH+1IF(IDL.LE.0) THENELSEAK(IDH,IDL)=AK(IDH,IDL)+AKE(IH,IL)END IF50 CONTINUERETURNENDcc to calculate the area of elementSUBROUTINE CAL_AREA(IE,N_NODE,IJK_ELE,X,Y,AE)DIMENSION IJK_ELE(500,3),X(N_NODE),Y(N_NODE)I=IJK_ELE(IE,1)J=IJK_ELE(IE,2)K=IJK_ELE(IE,3)XIJ=X(J)-X(I)YIJ=Y(J)-Y(I)XIK=X(K)-X(I)YIK=Y(K)-Y(I)AE=(XIJ*YIK-XIK*YIJ)/2.0RETURNENDcc to calculate the elastic matrix of elementSUBROUTINE CAL_DD(PE,PR,DD)DIMENSION DD(3,3)DO 10 I=1,3DO 10 J=1,310 DD(I,J)=0.0DD(1,1)=PE/(1.0-PR*PR)DD(1,2)=PE*PR/(1.0-PR*PR)DD(2,1)=DD(1,2)DD(2,2)=DD(1,1)DD(3,3)=PE/((1.0+PR)*2.0)RETURNENDcc to calculate the strain-displacement matrix of elementSUBROUTINE CAL_BB(IE,N_NODE,N_ELE,IJK_ELE,X,Y,AE,BB) DIMENSION IJK_ELE(500,3),X(N_NODE),Y(N_NODE),BB(3,6)I=IJK_ELE(IE,1)J=IJK_ELE(IE,2)K=IJK_ELE(IE,3)DO 10 II=1,3DO 10 JJ=1,310 BB(II,JJ)=0.0BB(1,1)=Y(J)-Y(K)BB(1,3)=Y(K)-Y(I)BB(1,5)=Y(I)-Y(J)BB(2,2)=X(K)-X(J)BB(2,4)=X(I)-X(K)BB(2,6)=X(J)-X(I)BB(3,1)=BB(2,2)BB(3,2)=BB(1,1)BB(3,3)=BB(2,4)BB(3,4)=BB(1,3)BB(3,5)=BB(2,6)BB(3,6)=BB(1,5)CALL CAL_AREA(IE,N_NODE,IJK_ELE,X,Y,AE)DO 20 I1=1,3DO 20 J1=1,620 BB(I1,J1)=BB(I1,J1)/(2.0*AE)RETURNENDcc to form the global load matrixSUBROUTINE FORM_P(N_ELE,N_NODE,N_LOAD,N_DOF,IJK_ELE,X,Y,P_IJK, & RESULT_N)DIMENSION IJK_ELE(500,3),X(N_NODE),Y(N_NODE),P_IJK(N_LOAD,3), & RESULT_N(N_DOF)DO 10 I=1,N_DOF10 RESULT_N(I)=0.0DO 20 I=1,N_LOADII=P_IJK(I,1)RESULT_N(2*II-1)=P_IJK(I,2)20 RESULT_N(2*II)=P_IJK(I,3)RETURNENDcc to deal with BC(u) (here only for fixed displacement) using "1-0" method SUBROUTINE DO_BC(N_BC,N_BAND,N_DOF,IJK_U,AK,RESULT_N) DIMENSION RESULT_N(N_DOF),IJK_U(N_BC,3),AK(500,100)DO 30 I=1,N_BCIR=IJK_U(I,1)DO 30 J=2,3IF(IJK_U(I,J).EQ.0)THENELSEII=2*IR+J-3AK(II,1)=1.0RESULT_N(II)=0.0DO 10 JJ=2,N_BAND10 AK(II,JJ)=0.0DO 20 JJ=2,II20 AK(II-JJ+1,JJ)=0.0END IF30 CONTINUERETURNENDcc to solve the banded FEM equation by GAUSS eliminationSUBROUTINE SOLVE(N_NODE,N_DOF,N_BAND,AK,RESULT_N) DIMENSION RESULT_N(N_DOF),AK(500,100)DO 20 K=1,N_DOF-1IF(N_DOF.GT.K+N_BAND-1)IM=K+N_BAND-1IF(N_DOF.LE.K+N_BAND-1)IM=N_DOFDO 20 I=K+1,IML=I-K+1C=AK(K,L)/AK(K,1)IW=N_BAND-L+1DO 10 J=1,IWM=J+I-K10 AK(I,J)=AK(I,J)-C*AK(K,M)20 RESULT_N(I)=RESULT_N(I)-C*RESULT_N(K)RESULT_N(N_DOF)=RESULT_N(N_DOF)/AK(N_DOF,1)DO 40 I1=1,N_DOF-1I=N_DOF-I1IF(N_BAND.GT.N_DOF-I-1)JQ=N_DOF-I+1IF(N_BAND.LE.N_DOF-I-1)JQ=N_BANDDO 30 J=2,JQK=J+I-130 RESULT_N(I)=RESULT_N(I)-AK(I,J)*RESULT_N(K)40 RESULT_N(I)=RESULT_N(I)/AK(I,1)WRITE(8,50)50 FORMAT(/12X,'* * * * * RESULTS BY FEM2D * * * * *',//8X,&'--DISPLACEMENT OF NODE--'//5X,'NODE NO',8X,'X-DISP',8X,'Y-DISP') DO 60 I=1,N_NODE60 WRITE(8,70) I,RESULT_N(2*I-1),RESULT_N(2*I)70 FORMAT(8X,I5,7X,2E15.6)RETURNENDcc calculate the stress components of element and nodeSUBROUTINECAL_STS(N_ELE,N_NODE,N_DOF,PE,PR,IJK_ELE,X,Y,RESULT_N, &STS_ELE,STS_ND)DIMENSION IJK_ELE(500,3),X(N_NODE),Y(N_NODE),DD(3,3),BB(3,6), &SS(3,6),RESULT_N(N_DOF),DISP_E(6)DIMENSION STS_ELE(500,3),STS_ND(500,3)WRITE(8,10)10 FORMAT(//8X,'--STRESSES OF ELEMENT--')CALL CAL_DD(PE,PR,DD)DO 50 IE=1,N_ELECALL CAL_BB(IE,N_NODE,N_ELE,IJK_ELE,X,Y,AE,BB)DO 20 I=1,3DO 20 J=1,6SS(I,J)=0.0DO 20 K=1,320 SS(I,J)=SS(I,J)+DD(I,K)*BB(K,J)DO 30 I=1,3DO 30 J=1,2IH=2*(I-1)+JIW=2*(IJK_ELE(IE,I)-1)+J30 DISP_E(IH)=RESULT_N(IW)STX=0STY=0TXY=0DO 40 J=1,6STX=STX+SS(1,J)*DISP_E(J)STY=STY+SS(2,J)*DISP_E(J)40 TXY=TXY+SS(3,J)*DISP_E(J)STS_ELE(IE,1)=STXSTS_ELE(IE,2)=STYSTS_ELE(IE,3)=TXY50 WRITE(8,60)IE,STX,STY,TXY60 FORMAT(1X,'ELEMENT NO.=',I5/18X,'STX=',E12.6,5X,'STY=',&E12.6,2X,'TXY=',E12.6)c the following part is to calculate stress components of nodeWRITE(8,55)55 FORMAT(//8X,'--STRESSES OF NODE--')DO 90 I=1,N_NODEA=0.B=0.C=0.II=0DO 70 K=1,N_ELEDO 70 J=1,3IF(IJK_ELE(K,J).EQ.I) THENII=II+1A=A+STS_ELE(K,1)B=B+STS_ELE(K,2)C=C+STS_ELE(K,3)END IF70 CONTINUESTS_ND(I,1)=A/IISTS_ND(I,2)=B/IISTS_ND(I,3)=C/IIWRITE(8,75)I,STS_ND(I,1),STS_ND(I,2),STS_ND(I,3)75 FORMAT(1X,'NODE NO.=',I5/18X,'STX=',E12.6,5X,'STY=',&E12.6,2X,'TXY=',E12.6)90 CONTINUERETURNENDc FEM2D programm end[算例结果]:chengxu.for所输出的数据文件DATA.OUT数据内容如下:=========PLANE STRESS PROBLEM========* * * * * RESULTS BY FEM2D * * * * *--DISPLACEMENT OF NODE--NODE NO X-DISP Y-DISP1 .000000E+00 -.525275E+012 .000000E+00 -.225275E+013 -.108791E+01 -.137363E+014 .000000E+00 .000000E+005 -.824176E+00 .000000E+006 -.182418E+01 .000000E+00--STRESSES OF ELEMENT--ELEMENT NO.= 1STX=-.108791E+01 STY=-.300000E+01 TXY= .439560E+00ELEMENT NO.= 2STX=-.824176E+00 STY=-.225275E+01 TXY= .000000E+00ELEMENT NO.= 3STX=-.108791E+01 STY=-.137363E+01 TXY= .307692E+00ELEMENT NO.= 4STX=-.100000E+01 STY=-.137363E+01 TXY=-.131868E+00--STRESSES OF NODE--NODE NO.= 1STX=-.108791E+01 STY=-.300000E+01 TXY= .439560E+00NODE NO.= 2STX=-.100000E+01 STY=-.220879E+01 TXY= .249084E+00NODE NO.= 3STX=-.105861E+01 STY=-.191575E+01 TXY= .205128E+00NODE NO.= 4STX=-.824176E+00 STY=-.225275E+01 TXY= .000000E+00NODE NO.= 5STX=-.970696E+00 STY=-.166667E+01 TXY= .586081E-01NODE NO.= 6STX=-.100000E+01 STY=-.137363E+01 TXY=-.131868E+00[结论与体会]:通过本次的课程设计,我对有限元的概念有了更加深刻的理解,同时也弥补了平时学习是疏忽的地方,充实了有限元知识。

2019年MATLAB)课后实验答案

2019年MATLAB)课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。

(2) 将方程右边向量元素b 3改为再求解,并比较b 3的变化和解的相对变化。

(3) 计算系数矩阵A 的条件数并分析结论。

解: M 文件如下:123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。

2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=,,,,,,时的y 值。

MATLAB)课后实验答案

MATLAB)课后实验答案

实验一 MATLAB 运算基础1、 先求下列表达式得值,然后显示MATLAB 工作空间得使用情况并保存全部变量。

(1) 0122sin 851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0、5:2、5 解:4、 完成下列操作:(1) 求[100,999]之间能被21整除得数得个数。

(2) 建立一个字符串向量,删除其中得大写字母。

解:(1) 结果:(2)、 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果就是:实验二 MATLAB 矩阵分析与处理1、 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;5、 下面就是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程得解。

(2) 将方程右边向量元素b 3改为0、53再求解,并比较b 3得变化与解得相对变化。

(3) 计算系数矩阵A 得条件数并分析结论。

解: M 文件如下:实验三 选择结构程序设计1、 求分段函数得值。

2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y 值。

电气工程软件训练(三)——Matlab 作业

电气工程软件训练(三)——Matlab 作业

D1(江苏大学《电气工程软件训练三》课程设计报告设计题目:MATLAB专业班级:J电气1401学生姓名:唐鹏学生学号:4141127007指导老师:完成日期:江苏大学京江学院一MATLAB课程设计的目的和要求1.MATLAB软件功能简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。

它是一种科学计算软件,专门以矩阵的形式处理数据。

MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。

MATLAB 软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。

其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。

该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。

目前,Mathworks公司已推出30多个应用工具箱。

MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。

2.MATLAB课程设计的目的本次课程设计主要是为了使学生了解MATLAB软件的基本知识,熟悉MATLAB的上机环境,掌握MATLAB数值运算、程序设计、二维/三维绘图、符号运算、Simulink仿真等相关知识,并初步具备将一般数学问题转化为对应的计算机进行处理的能力,以便为今后进一步的学习打下坚定基础。

二MATLAB课程内容1 MATLAB语言基础实验目的:基本掌握MATLAB 向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。

MATLAB课程设计(基于MATLAB的图像处理的基本运算)

MATLAB课程设计(基于MATLAB的图像处理的基本运算)

MATLAB课程设计(基于MATLAB的图像处理的基本运算)课程设计任务书学⽣姓名:专业班级:指导教师:⼯作单位:题⽬: 基于MATLAB的图像处理的基本运算初始条件①MATLAB软件②数字信号处理与图像处理基础知识要求完成的主要任务:(1)能够对图像亮度和对⽐度变化调整,并⽐较结果。

(2)编写程序通过最近邻插值和双线性插值等算法将⽤户所选取的图像区域进⾏放⼤和缩⼩整数倍的和旋转操作,并保存,⽐较⼏种插值的效果。

(3)图像直⽅图统计和直⽅图均衡,要求显⽰直⽅图统计,⽐较直⽅图均衡后的效果。

(4)对图像加⼊各种噪声,⽐较效果。

时间安排:第1周:安排任务,分组第2-17周:设计仿真,撰写报告第18周:完成设计,提交报告,答辩地点:鉴主3楼计算机实验室指导教师签名: 2010年⽉⽇系主任(或责任教师)签名: 2010年⽉⽇摘要MATLAB是—套⾼性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显⽰于⼀体,构成—个⽅便的、界⾯友好的⽤户环境。

MATLAB强⼤的扩展功能为各个领域的应⽤提供了基础,由各个领域的专家相继给出了MATLAB ⼯具箱,其中主要有信号处理,控制系统,神经⽹络,图像处助,鲁棒控制,⾮线性系统控制设计,最优化,⼩波,通信等⼯具箱,这此⼯具箱给各个领域的研究和⼯程应⽤提供了有⼒的⼯具。

借助于这些“巨⼈肩膀上的⼯具”,各个层次的研究⼈员可直现⽅便地进⾏分析、计算及设计⼯作,从⽽⼤⼤地节省了时间。

本次课程设计的⽬的在于较全⾯了解常⽤的数据分析与处理原理及⽅法,能够运⽤相关软件进⾏模拟分析。

通过对采集的图像进⾏常规的图像的亮度和对⽐度的调整,并进⾏最近邻插值和双线性插值等算法将⽤户所选取的图像区域进⾏放⼤和缩⼩整数倍的和旋转操作,并保存,⽐较⼏种插值的效果,以及对图像进⾏直⽅图和直⽅图均衡并加⼊噪声进⾏对⽐,达到本次课程设计的⽬的关键词:MATLAB 亮度和对⽐度插值放⼤旋转噪声AbstractMATLAB is - set of high-performance numerical computation and visualization software, which combines numerical analysis, matrix computation, signal processing and graphics in one form - a convenient, user-friendly user environment.MATLAB is a powerful extension application in various fields to provide a basis by experts in various fields have been given a MATLAB toolbox, which are signal processing, control systems, neural networks, image processing support, robust control, nonlinearcontrol system design, optimization, wavelets, communications toolkit, which this kit to the various areas of research and engineering applications a powerful tool.With these "tools on the shoulders of giants," researchers at all levels can now be easily analyzed directly, calculation and design work, which greatly saves time.The training aims to strengthen the basis of a more comprehensive understanding of commonly used data analysis and processing principles and methods related to the use of simulation software.Images collected by conventional image brightness and contrast adjustments, and the nearest neighbor interpolation and bilinear interpolation algorithm to the user selected image area to zoom in and out several times and rotate the whole operation, and save, comparethe effect of several interpolation and the image histogram and histogram and compared with noise, to the purpose of this course design.Keywords: MATLAB brightness and contrast rotation interpolation noise amplification ⽬录1.MATLAB简介 (1)1.1 MATLA的基本⽤途 (1)1.2 MATLAB的语⾔特点 (1)1.3 MATLAB系统构成 (1)2.数据采集 (2)2.1图像的选取 (2)2.2 图像亮度和对⽐度的调整 (2)2.2.1 编辑M⽂件 (2)2.2.2 MATLAB⽀持的图像格式和类型 (3)2.2.3 图像的读取 (3)2.2.4调整图像亮度和对⽐度 (4)3.图像的⼏何操作 (6)3.1插补操作 (6)3.1.1 插补功能介绍 (6)3.1.2 插补具体操作 (6)3.2 放缩操作 (8)3.2.1放缩功能介绍 (8)3.2.2 具体操作 (9)3.3 旋转操作 (10)3.3.1 旋转功能介绍 (10)3.3.2 具体操作 (10)4.直⽅图统计 (12)4.1灰度图的获取 (12)4.1.1 灰度图的转换功能介绍 (12)4.1.2 具体操作 (12)4.2直⽅图以及直⽅图均衡 (13)4.2.1 直⽅图函数功能介绍 (13)4.2.2 直⽅图具体操作 (14)5.图像的噪声处理 (15)5.1添加噪声的功能介绍 (15)5.2添加噪声的具体操作 (16)6.总结(⼼得体会) (18)7.参考⽂献 (19)1.MATLAB简介1.1 MATLA的基本⽤途MATLAB是矩阵实验室(Matrix Laboratory)之意。

中南大学matlab课后习题(10)

中南大学matlab课后习题(10)

中南大学matlab课后习题(10)Unit 1实验内容1.答:用help命令可以查询到自己的工作目录。

输入help命令:help <函数名>2.答:MATLAB的主要优点:通过例1-1至例1-4的验证,MATLAB的优点是MATLAB以矩阵作为数据操作的基本单位,使得矩阵运算变得非常简捷,方便,高效。

还提供了丰富的数值计算函数。

MATLAB绘图十分方便,只需输入绘图命令,MATLAB便可自动绘出图形。

3.答:INV(X) is the inverse of the square matrix X。

A warning message is printed if X is badly scaled or nearly singular. 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. For vectors, MAX(X) is the largest element in X. For matrices,MAX(X) is a row vector containing the maximum element from each column. For N-D arrays, MAX(X) operates along the first non-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 more than one maximal element, the index of the first one is returned. ROUND(X) rounds the elements of X to the nearest integers. MAX(X,Y) returns an array the same size as X and Y with the largest elements taken from X or Y. Either one can be a scalar。

MATLAB课后习题及练习7.6

MATLAB课后习题及练习7.6

7.6 课后作业1.分别绘制下列函数图形:(1) r=3(1-cosθ) (极坐标)>> t=0:.01:2*pi;>> figure>> polar(t,abs(3*(1-cos(t))));运行结果:(2) y (t)=1.25e-0.25t +cos(3t)>> x=0:pi/180:2*pi;>> y1=1.25*exp(-0.25*x);y2=cos(3*x);>> plot(x,y1+y2)运行结果:2 .绘制函数y (t)=1-2e-tsint (0 ≤t≤8)的图形,且在x 轴上标注“Time”,y 轴上标注“Amplitude”,图形的标题为“Decaying Oscillating Exponential”。

>> x=0:0.01:8;>> y=1-2*exp(-1*x).*sin(x);>> figure>> plot(x,y)>> xlabel('Time');ylabel('Amplitude');>> title('Decaying Oscillating Exponential');运行结果:3 .在同一图中绘制下列两条曲线(x ∈[0,25]内) :(1) y 1(t)=2.6e(-0.5x) cos(0.6x)+0.8 ;(2) y 2(t)=1.6cos(3x)+sin(x)要求用不同的颜色和线型分别表示y 1(t) 和y 2(t) ,并给图形加注解。

>> x=0:0.1:25;>> y1=2.6*exp(-0.5*x).*cos(0.6*x)+0.8;>> y2=1.6*cos(3*x)+sin(x);>> figure>> plot(x,y1,'r-X',x,y2,'b--.');>> legend('y1=2.6*exp(-0.5*x).*cos(0.6*x)+0.8','y2=1.6*cos(3*x)+sin(x)')4 .在一个图形窗口下绘制两个子图,分别显示下列曲线:(1)y =sin2xcos3x ;(2) y =0.4 x要求给x 轴、y 轴加标注,每个子图加标题。

matlab基础与应用教程课后答案

matlab基础与应用教程课后答案

matlab基础与应用教程课后答案【篇一:matlab教程基本应用练习题及解答】txt>要求:将每题的答案(命令行和运行结果、图片或m文件的文件名及具体内容)直接拷贝插入到各题的下方:(1)若为命令行,要求将提示符“”一起拷入,并在右侧用“%”注明命令行的每条命令的作用;(2)若为多个运行结果,拷入后要求解释每个结果具体对应题目中的哪个要求,也在右侧用“%”注明;(3)如果为m文件,除了将文件名和此文件的具体内容全部拷入外,再将所有原始m文件和本练习题电子版放在一个以“专业班级+本人姓名+学号”命名的文件夹内一起上传。

ans =1 0 00 1 00 0 1ans =0 0 00 0 0ans =1 1 11 1 11 1 11 1 120+40*rand(1,10) %生成10个在区间[20,60]上均匀分布的随机数。

ans =44.617351.677556.872549.528327.050636.228257.418856.676236 .410855.7460二.1)计算向量(2,4,6,8)的最大值,最小值,平均值,中值,排序,总和值; max([2,4,6,8])%最大值ans =8min([2,4,6,8])% 最小值ans =2mean([2,4,6,8])% 平均值ans =5median([2,4,6,8])% 中值ans =5sort([2,4,6,8])% 排序ans =2 4 6 8sum([2,4,6,8])% 总和值ans =202)在行向量(2,4,6,8)和(1,3,5,7)之间实施加减乘除及幂运算; a=[2 4 6 8];b=[1 3 5 7];a+b%加ans =3 7 11 15a-b%减ans =1 1 1 1a.*b%乘ans =2 12 30 56a./b%除ans =2.0000 1.3333 1.2000 1.1429a.^b%幂ans =2 64 7776 20971523)在向量(1,3,5)与标量2之间实施加减乘除及幂运算。

学习MATLAB的心得体会

学习MATLAB的心得体会

自己刚刚接触matlab有半个学期的时间,说实话我现在对matlab还是摸不着头脑,一方面是自己接触的时间太短,另一方面,就是自己在上机方面投入的时间有限,实践比较少。

现在,我对matlab的印象仅仅在解决习题和绘制图形上,但是我很喜欢matlab的简单的语法,易于绘制图形,编程也非常容易,并且具有功能强大的开放式的toolbox。

因此,尽管我一直没有这方面的应用,但是我还是对它非常感兴趣,自己正打算暑假好好研究研究matlab。

下面是我学习matlab在理论和实践方面的一点心得与体会,可能有些地方自己理解的不是很正确,但是随着学习的深入,我想我可以发现自己的错误所在。

首先我想说的是,在理论方面,在学习matlab过程中,我感觉到它和c语言有许多相似之处,他有c语言的特征,但是比c语言编程计算更加简单,适合于复杂的数学运算。

但是matlab 跟其他语言也有着很大的不同。

现在用的比较多的编程语言,除了matlab就应该是c、c++、vhdl,vb和delphi也接触过,如果自己抱着“把其他语言的思想运用在matlab里面”的话,那么我想,即使程序运行不出错,也很难把握matlab的精髓,也就很难发挥matlab的作用了。

众所周知matlab是一个基于矩阵运算的软件,但是,真正在运用的时候,特别是在编程的时候,许多人往往没有注意到这个问题。

在使用matlab时,受到了其他编程习惯的影响,特别是经常使用的c语言。

因此,在matlab编程时,for循环(包括while循环)到处都是。

.这不仅是没有发挥matlab所长,还浪费了宝贵的时间。

我这里想说的一点是,往往在初始化矩阵的时候注意到这个问题,懂得了使用矩阵而不是循环来赋值,但是,在其他环节上,就很容易疏忽,或者说,仍然没有摆脱c++、c的思想。

(这属于实践方面的体会)还有一点比较重要多用help,see also,lookfor,get,set 等常用命令,尽量摆脱c编程的习惯,总爱用循环,能不用的循环的尽量不用,掌握矢量化的精髓。

matlab2022实验2参考答案

matlab2022实验2参考答案

matlab2022实验2参考答案报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:MATLAB实验二MATLAB符号计算试验报告说明:1做试验前请先预习,并独立完成试验和试验报告。

2报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3在页眉上写清报告名称,学生姓名,学号,专业以及班级。

3报告以Word文档书写。

一目的和要求1熟练掌握MATLAB符号表达式的创建2熟练掌握符号表达式的代数运算3掌握符号表达式的化简和替换4熟练掌握符号微积分5熟练掌握符号方程的求解二试验内容1多项式运算(必做)1.1解方程:f(某)=某^4-10某某^3+34某某^2-50某某+25=0%采用数值方法:>>f=[1-1034-5025];>>root(f)%采用符号计算方法:f1=ym('某^4-10某某^3+34某某^2-50某某+25')olve(f1)1.2求有理分式R=(3某^3+某)(某^3+2)/((某^2+2某-2)(5某^3+2某^2+1))的商多项式和余多项式.a1=[3010];a2=[1002];a=conv(a1,a2);b1=[12-2];b2=[5201];b=conv(b1,b2);[p,r]=deconv(a,b);%注意:ab秩序不可颠倒。

%reidue用于实现多项式的部分分式展开,此处用deconv函数报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:%%此题,有同学程序如下:某1=[3010],某2=[1002],某3=[12-2],某4=[5201]某5=conv(某1,某2)[y6,r]=deconv(某5,某3)R=deconv(y6,某4)%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。

matlab第二次

matlab第二次

Matlab素质拓展课第二次作业第二次课知识点if 选择语句for while 循环语句子函数(多个输入参数输出参数)递归二分法秦九韶算法等3.3 写一个名为nexthour的函数,接收一个整数参数,该参数是一天内的某个小时,然后返回下一个小时。

假定是12小时制,所以例子中12的下一个小时是1.% 3.3 写一个名为nexthour的函数,% 接收一个整数参数,该参数是一天内的某个小时,然后返回下一个小时。

% 假定是12小时制,所以例子中12的下一个小时是1.function y=nexthour(n)if n>=1&&n<=11y=n+1;elseif n==12y=1;elsey=-1;disp('输入错误!');endend3.6 写一个脚本,提示用户输入分数的分子和分母。

如果分母是0,则打印错误信息,指出0不能做分母。

如果分母不是0,则打印分数的结果。

% 3.6 写一个脚本,提示用户输入分数的分子和分母。

% 如果分母是0,则打印错误信息,指出0不能做分母。

% 如果分母不是0,则打印分数的结果。

clc;clear;fenzi=input('请输入分子:');fenmu=input('\n请输入分母:');if fenmu==0disp('打印错误!分母不能为0!')elsefprintf('分数=%d/%d\n',fenzi,fenmu);end3.11 写一个函数createMToN,它能够创建并返回一个从m到n的整数组成的向量(m是第一个输入参数,n是第二个),不管m是小于n还是大于n。

如果m等于n,该向量正好是1*1的,或者说是标量。

%dy_chapter3_11.m cerateMToNfunction vec=dy_chapter3_11(m,n)if m>nvec=m:-1:n;elseif mvec=m:n;elsevec=m;end3.17 写一个脚本,它能生产一个随机整数,并且打印该随机整数是一个偶数还是一个奇数。

MATLAB及在电子信息课程中的应用课后答案

MATLAB及在电子信息课程中的应用课后答案

1. 求下列联立方程的解81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y x程序A=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];B=[4;-3;9;-8];X=A\B解:X =2. 设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------=81272956313841A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=793183262345B 求C1=AB’;C2=A’B;C3=A.*B,并求它们的逆阵。

程序A=[1,4,8,13;-3,6,-5,-9;2,-7,-12,-8];B=[5,4,3,-2;6,-2,3,-8;-1,3,-9,7];C1= A*B',C2 = A'*B, C3 = A.*B inv(C1),inv(C2),inv(C3)3. a. 列出2×2阶的单位矩阵I, 4×4阶魔方矩阵M 和4×2阶的全幺矩阵A,全零矩阵Bb. 将这些矩阵拼接为6×6阶的矩阵C:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=M B A I C ' c. 求出C 的第2,4,6行,组成3×6阶的矩阵C1,及第2,4,6,裂,组成6×3阶的矩阵C2,d. 求D=C1C2及D1=C2C1.程序 >>I=eye(2),A=ones(4,2),B=zeros(4,2),M=magic(4),C=[I,A';B,M]>>C1=C([2,4,6,],:),C2=C(:,[2,4,6,])>> D=C1*C2, D1=C2*C14.设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线解:程序x=linspace(0,2*pi,101)y=cos(x).*+3*sin(x)./(1+x.^2)); plot(x,y),grid5.求代数方程3x 5+4x 4+7x 3+2x 2+9x+12=0的所有根。

matlab-8章课后作业

matlab-8章课后作业
ans =
16530
>> c=uint8(87), d=uint8(190)
c =
87
d =
190
>> c+d
ans =
255
>> c-d
ans =
0
>> c*d
ans =
255
2.计算
(1)sin(60)
(2)e^3
(3)cos(3π/4)
>> sind(60)
ans =
0.8660
>> exp(3)
(4)a==d
(5)a|b>c
(6)~~d
>> a=39,b=58,c=3,d=7
a =
39
b =
58
c =
3
d =
7
>> a>b
ans =
0
>> a<c
ans =
0
>> a>b&&b>c
ans =
0
>> a==d
ans =
0
>> a|b>c
ans =
1
>> ~~d
ans =
1
7.编写脚本,计算上面第2题中的表达式。
(5)创建一个新的向量vecN,使其包含vec中所有等于2或4的元素的索引值.
(6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素.
>> vecR=vec'
vecR =
4
5
2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB 作业1.构造矩阵A =[−718−3],B =[4257],C =[5962](1)试将A ·*B 与A*B 的结果相加,并找出相加后新矩阵中绝对值大于10的元素。

(2)组合成一个4×3的矩阵,第一列为按列顺序排列的A 矩阵元素,第二列为按列顺序排列的B 矩阵元素,第三列为按列顺序排列的C 矩阵元素。

解答:(1) 在matlab 上的程序如下: >> A=[-7,1;8,-3]; >> B=[4,2;5,7]; >> C=[5,9;6,2]; >> A.*B ans =-28 2 40 -21 >> A*B ans =-23 -7 17 -5 >> D=A.*B+A*B D =-51 -5 57 -26>> D(find(D<-10|D>10)) ans = -51 57 -26(2) 在matlab 上的程序如下: >> A=[-7,1;8,-3]; >> B=[4,2;5,7]; >> C=[5,9;6,2]; >> D=[A(:),B(:),C(:)] D =-7 4 5 8 5 6 1 2 9 -3 7 22、求解以下方程组的解(一组解即可)。

{4x +6y +3z =132x +3y +4z =9解答:在matlab 上的程序如下: >> A=[4,2;6,3;3,4]; >> A=A'; >> B=[13;9]; >> x=A\B x =0 1.6667 1.00003、使用spdinag(B,d,m,n)命令创建4阶稀疏矩阵A,求其秩,并将A 转换为全矩阵C (其中矩阵B=[1;2;3;4],d=1)。

解答:在matlab 上的程序如下: >> B=[1;2;3;4];>> A=spdiags(B,1,4,4) A =(1,2) 2 (2,3) 3 (3,4) 4 >> sprank(A) ans = 3 >> full(A) ans =0 2 0 0 0 0 3 0 0 0 0 4 0 0 0 04、求函数f (t )=1−12.5e −t sin(2t +3.4)在t>0区间内的所有零点。

解答:在matlab 上的程序如下:>> f=@(t)(1-12.5*exp(-t)*sin(2*t+3.4)); >> fplot(f,[0,10]); >> a=fzero(f,1) a =1.6583 >> b=fzero(f,2) b =1.6583 >> c=fzero(f,3) c =2.4358根据图像可知零点只有a=1.6583和c=2.4358 图像如下:5、求二元函数f (x,y )=100(y −x 2)2+(1−x)2在x=-1.2,y=1附近的极小值。

解答:在matlab 上的程序如下:>> fun=@(x)100*((x(2)-x(1)^2)^2)+(1-x(1))^2; >> [x,fval]=fminsearch(fun,[1.2,1]) x =1.0000 1.0000 fval =8.1726e-106、绘制函数曲线,要求写出程序代码(1)在区间[0,2π]均匀的取50个点,构成向量X 。

(2)在同一窗口绘制曲线 y1=sin(2*t-0.3); y2=3cos(t+0.5);要求 y1 曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号。

解答:在matlab 上的程序如下: a=0; b=2*pi; n=50;x=linspace(a,b,n); y1=sin(2*x-0.3); y2=3*cos(x+0.5);12345678910-10123456789hold onplot(y1,x,'ro-.'); plot(y2,x,'b*--'); 画出图形如下:7、设方程组为{x(t)=sin ty(t)=cos t,0<t<6πz(t)=t,试绘制由变量x,y,z确定的三维曲线。

解答:在matlab上的程序如下:t=linspace(0,6*pi,1000);X=sin(t);Y=cos(t);Z=t;plot3(X,Y,Z)grid on;画出图形如下:8、写出生成下面三幅图所示波形的MATLAB程序。

图中三个波形均为余弦波,x范围为[pi/2~7*pi/2]。

要求图2的正半波被置零;且在图3中[2π3,4π3]和[8π3,10π3]处被削顶。

解答:在matlab上的结果如下:t=linspace(pi/2,7*pi/2,500);y=cos(t);z1=((t<3*pi/2)|(t>5*pi/2)).*y;w=(t>2*pi/3&t<4*pi/3)+(t>8*pi/3&t<10*pi/3);w_n=~w;z2=w*cos(2*pi/3)+w_n.*z1;subplot(1,3,1),plot(t,y,':r'),ylabel('y'), axis([0 4*pi -1 1]) subplot(1,3,2),plot(t,z1,':r'),axis([0 4*pi -1 1]) subplot(1,3,3),plot(t,z2,'-b'),axis([0 4*pi -1 1])图像如下:9、对于x=[-2π,2π],y1=sinx 、y2=cosx 、y3=sin2x 、y4=cos2x (1)用MATLAB 语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注。

(2)另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。

解答:在matlab 上的程序如下: x=linspace(-2*pi,2*pi,1000);y1=sin(x);y2=cos(x);y3=sin(2*x);y4=cos(2*x); figure(1);subplot(2,2,1),plot(x,y1);title('y=sin(x)'); subplot(2,2,2),plot(x,y2);title('y=cos(x)'); subplot(2,2,3),plot(x,y3);title('y=sin(2*x)'); subplot(2,2,4),plot(x,y4);title('y=cos(2*x)'); figure(2)plot(x,y1,'-r',x,y2,'--b',x,y3,':k',x,y4,'-.g')legend('y=sin(x)','y=cos(x)','y=sin(2*x)','y=cos(2*x)') 图像如下:510-1-0.8-0.6-0.4-0.200.20.40.60.81y510-1-0.8-0.6-0.4-0.200.20.40.60.810510-1-0.8-0.6-0.4-0.200.20.40.60.8110、请分析并修改下面的程序,使用矩阵或数组运算的顺序结构完成嵌套 for 语句的相同功 能。

A=[1 2 3; 4 5 6; 7 8 9];-10-50510-1-0.500.51y=sin(x)-10-50510-1-0.500.51y=cos(x)-10-5510-1-0.500.51y=sin(2*x)-10-50510-1-0.500.51y=cos(2*x)-8-6-4-22468-1-0.8-0.6-0.4-0.200.20.40.60.81[r c]=size(A);for i=1:1:rfor j=1:1:cif (A(i,j)>8 | A(i,j)<2)A(i,j)=0;endendend解答:在matlab上的程序如下:修改之前有:A=[1 2 3;4 5 6;7 8 9];[r c]=size(A);for i = 1:1:rfor j =1:1:cif(A(i,j)>8|A(i,j)<2)A(i,j)=0;endendendAA =0 2 34 5 67 8 0修改之后有:>> A=[1 2 3;4 5 6;7 8 9];>> A(find(A>8|A<2))=0A =0 2 34 5 67 8 011、假设a是这样一组数组:a(n)=a(n−1)2−a(n−2)2+a(n−3)2,a(1)=0,a(2)= 1,a(3)=2。

试分别用循环指令for以及while来寻求该数组中第一个大于10000的元素。

解答:在matlab上的程序如下:使用for循环:a(1)=0;a(2)=1;a(3)=2;for n = 4:100a(n)=a(n-1)^2-a(n-2)^2+a(n-3)^2;if a(n)>10000na(n)endend运行结果:n =8ans =871431使用while循环:a(1)=0;a(2)=1;a(3)=2;n = 3;while a(n)<10000a(n+1)=a(n)^2-a(n-1)^2+a(n-2)^2;n=n+1enda(n)运行结果:n =4n =5n =6n =7n =8ans =87143112、编写分段函数f(x)={ x 0≤x<12−x 1≪x≪20 其他的函数文件,存放在文件ff.m中,用input语句输入x值,计算f(−2),f(√f(∞)的值。

解答:在matlab上的程序如下:x=input('请输入x=');if x>=0&x<1y=x;elseif x>=1&x<=2y=2-x;elsey=0;endy>> ff请输入x=-2y =>> ff请输入x=sqrt(2)y =0.5858>> ff请输入x=infy =13、编制程序,计算1+2+3+…+n<2000时的最大n值。

解答:在matlab上的程序如下:n=0;s=0;while s<2000n=n+1;s=s+n;endn=n-1运行结果:>> ffn =6214、试用MATLAB求解以下应用:(1)一球从100米落下,反跳回原高度的一半,再落下。

相关文档
最新文档