实验二MATLAB程序设计含实验报告精编版

合集下载

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告实验报告课程名称 MATLAB基础及应用专业班级电子xxxx姓名学号电气与信息学院实验二 MATLAB 数值计算(一)一实验目的:1.掌握数组的创建与运算方法;2. 掌握矩阵的创建与运算方法;3. 掌握数组的运算方法和矩阵运算方法的区别;4.掌握线性方程的求解方法二实验装置:计算机三实验内容:1.数组的创建和运算创建两个含5个元素的一维数组,并求这两个数组的四则运算。

2.矩阵的创建和运算(1)创建两个3×3的矩阵,并求这两个矩阵的四则运算。

(2)创建一个4×4的矩阵,并求这个矩阵的行列式值。

(3)线性方程的求解解方程组=6613753467294x 。

四实验要求:写出实验程序与仿真结果。

1. >> a=linspace(2,10,5) a =2 4 6 8 10>> b=linspace(1,9,5) b =1 3 5 7 9>> a+bans =3 7 11 15 19>> a-bans =1 1 1 1 1>> a.*bans =2 12 30 56 90>> a./bans =2.0000 1.3333 1.2000 1.1429 1.1111 >> a.\b ans =0.5000 0.7500 0.8333 0.8750 0.9000 2.(1) >> a=[1 1 1;2 2 2;3 3 3];>> b=[4 4 4;5 5 5;6 6 6];>> a+bans =5 5 57 7 79 9 9>> a-bans =-3 -3 -3-3 -3 -3-3 -3 -3>> a*bans =15 15 1530 30 3045 45 45>> a/bWarning: Matrix is singular to working precision. ans =NaN NaN NaNNaN NaN NaNNaN NaN NaN>> a\bWarning: Matrix is singular to working precision. ans =NaN NaN NaNNaN NaN NaNInf Inf Inf(2).>> a=[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4];>> det(a)ans =(3).>> a=[4 9 2;7 6 4;3 5 7];>> b=[13;6;6];>> x=inv(a)*bx =-0.53081.7109-0.1374实验三 MATLAB数值计算(二)一实验目的:1.掌握多项式的创建与运算方法;2. 掌握基本的数据分析方法;二实验装置:计算机三实验内容:1.多项式创建输入系数矢量,创建多项式x^3-2*x^2+5*x+3。

程序设计实验报告(matlab)

程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。

实验内容:运用Matlab进行简单的程序设计。

实验方法:基于Matlab环境下的简单程序设计。

实验结果:成功掌握简单的程序设计和Matlab基本编程语法。

实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。

实验内容:在Matlab环境下进行多项式拟合和插值的计算。

实验方法:结合Matlab的插值工具箱,进行相关的计算。

实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。

实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。

实验内容:利用Matlab进行最小二乘法计算。

实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。

实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。

实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。

实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。

实验方法:基于Matlab的ODE工具箱,进行ODE求解。

实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。

总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。

通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。

这些知识和技能对我未来的学习和工作都将有着重要的帮助。

MATLAB实验报告

MATLAB实验报告

v1.0 可编辑可修改实验一 MATLAB 环境的熟悉与基本运算一、实验目的及要求1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。

二、实验内容1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口:命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。

②路径的设置:建立自己的文件夹,加入到MATLAB 路径中,并保存。

设置当前路径,以方便文件管理。

2.学习使用clc 、clear ,了解其功能和作用。

3.矩阵运算:已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。

4.使用冒号选出指定元素:已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π2) 5.4)4.05589(÷⨯+ 6.关系及逻辑运算1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num8.符号运算1)对表达式f=x 3-1 进行因式分解2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求3(1)xdz z +⎰三、实验报告要求完成实验内容的3、4、5、6、7、8,写出相应的程序、结果实验二 MATLAB 语言的程序设计一、实验目的1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。

实验4 Matlab程序设计2实验报告

实验4 Matlab程序设计2实验报告

Tutorial4 实验报告实验名称:Matlab 程序设计2实验目的:1、 熟悉利用向量运算来代替循环操作的方法。

2、 熟悉异常处理的应用3、 熟悉函数的嵌套调用和递归调用4、 熟悉全局变量的应用5、 熟悉函数参数的可调性 实验内容:1. 根据2222211116123n=++++π,求π的近似值。

当n 分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum 函数)来实现。

2. 建立一个函数,要求输出某个矩阵的第n 行元素。

当n 值超过矩阵的行数时,自动转为输出矩阵的最后一行元素,并给出出错信息。

提示:利用warning3. 先用函数的递归调用定义一个函数文件求1nmi i=∑,然后调用该函数文件求100501021111k k k k k k ===++∑∑∑4. 已知,,,,12312311021323n n n n f n f n f n f f f f n ---==⎧⎪==⎪⎨==⎪⎪=-+>⎩ 求1100f f 中:(1)最大值、最小值、各数之和。

(2)正数、零、负数的个数。

5. 编写一个函数,当用户输入的是一个数组参数的时候表示求其相反数,当用户输入的是两个数组参数的时候是求两个值的差值,但如果两个值的空间大小不相等,则给出错误提示“两个数组空间大小不一致”后,结束程序运行。

提示:利用error6. 写出下列程序的输出结果。

命令文件exe.mglobal xx = 1:2:5;y = 2:2:6;sub(y);x,y函数文件sub.mfunction fun = sub(z)global xz = 3*x;x = x+z;实验代码及结果1.2.3.4.5.6.。

实验二MATLAB程序设计含实验报告

实验二MATLAB程序设计含实验报告

实验二MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。

2.掌握利用switch 语句实现多分支选择结构的方法。

3.掌握利用for 语句实现循环结构的方法。

4.掌握利用while 语句实现循环结构的方法。

5.掌握MATLAB 函数的编写及调试方法。

二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。

M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。

点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。

并输入几组典型值加以检验。

(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。

其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:(1)用switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。

请为关键的Matlab 语句填写上相关注释,说明其含义或功能。

MATLAB实验报告2

MATLAB实验报告2

MATLAB实验报告2实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数1. 求下列函数极限(Find the limits of the following functions )(1) 0sin lim x xx →syms x r ;r=sin(x)/x;limit(r,x,0)ans =1(2) 1lim(1)x x x →∞+syms x r ;r=(1+1/x)^x;limit(r,x,inf)ans =exp(1) (3) lim (1)xx a x →+∞+syms x r a ;r=(1+a/x)^x;limit(r,x,inf)ans =exp(a)(4) 1lim (1)xx x →-∞+syms x r ;r=(1+1/x)^x;limit(r,x,-inf)ans =exp(1) (5)201cos lim x xx →-syms x r ;r=(1-cos(x))/(x^2);limit(r,x,0)ans =实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数1/2(6) lim nsyms n r ;r=n^(1/n);limit(r,n,inf)ans =1(7)0lim x x π+→ syms x n r ;r=(cos(sqrt(x)))^(n/x);limit(r,x,0,'right')ans =1/exp(n/2)2.求下列函数的导数或偏导数( Find the derivatives of the following functions)(1)()()f x g x ==syms x a b c f g ;f=sqrt(a*x^2+b*x+c);g=sqrt(exp(x^2)+x*sin(x));a1=diff(f,x)a2=diff(g,x)a1 =(b + 2*a*x)/(2*(a*x^2 + b*x + c)^(1/2))a2 =(sin(x) + 2*x*exp(x^2) + x*cos(x))/(2*(exp(x^2) + x*sin(x))^(1/2))(2)3()ln()f x x =syms x f ;f=log(x^3);实验(2)Matlab基础操作实验:符号运算求解微积分与线性代数diff(f,x)ans =3/x(3)Find the 3rd derivative of f(x).()f x=2xxe-syms x f;f=x*exp(-x^2);diff(f,x,3)ans =(24*x^2)/exp(x^2) - 6/exp(x^2) - (8*x^4)/exp(x^2) (4) )Find23222(235)x x y yx-+-?syms x y f;f=x^3-2*x^2*y^2+3*y-5; diff(f,x,2)ans =6*x - 4*y^2(5)Find2322(235)x x y yx y-+-.syms x y f;f=x^3-2*x^2*y^2+3*y-5;fx=diff(f,x);fxy=diff(fx,y)fxy =-8*x*y3. 求下列函数的不定积分或定积分(Find indefinite integrals or definite integrals of the functions)(1)1(sin2cos3)xx x e dxx--++syms x s;s=sin(x)-2*cos(3*x)+1/x+exp(-x); int(s,x)ans =实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数log(x) - (2*sin(3*x))/3 - cos(x) - 1/exp(x)(2)sin()x x e e dx ?syms x s ;s=exp(x)*sin(exp(x));int(s,x)ans =-cos(exp(x))(3)2syms x s ;s=x^2/(sqrt(x^6)+4);int(s,x)Warning: Explicit integral could not be found.ans =int(x^2/((x^6)^(1/2) + 4), x)(4)cos3cos5x xdx ?syms x s ;s=cos(3*x)*cos(5*x);int(s,x) ans =sin(2*x)/4 + sin(8*x)/16(5) syms x s a ;s=(sqrt(x^2-a^2))/x;int(s,x)ans =实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数(x^2 - a^2)^(1/2) - log(((-a^2)^(1/2) + (x^2 -a^2)^(1/2))/x)*(-a^2)^(1/2)(6) sin ax e bxdx ?syms x s a b ;s=exp(a*x)*sin(b*x);int(s,x)ans =-(exp(a*x)*(b*cos(b*x) - a*sin(b*x)))/(a^2 + b^2) (7) 0πsyms x s ;s=sqrt(sin(x)-(sin(x))^3);int(s,x,0,pi)Warning: Explicit integral could not be found.ans =int((sin(x) - sin(x)^3)^(1/2), x = 0..pi) (8) 211dx x +∞? syms x s ;s=1/(x^2);int(s,x,1,inf)14. 解下列方程(Solve the equations.)x =syms x ;solve(sqrt(1-x^2)-x,x)ans =2^(1/2)/2实验(2)Matlab基础操作实验:符号运算求解微积分与线性代数(2)1024x y zx y zx y z++=-+=--=-syms x y z;s=solve(x+y+z-10,x-y+z,2*x-y-z+4,x,y,z) s.x,s.y,s.z s =x: [1x1 sym]y: [1x1 sym]z: [1x1 sym]2ans =5ans =3(3)240330sin0x xy zx yzy z++=+-=+=syms x y z;s=solve(x^2+4*x*y+z,x+3*y*z-3,y+sin(z),x,y,z) s.x,s.y,s.z s =x: [1x1 sym] y: [1x1 sym] z: [1x1 sym]实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数ans =-6.4840528860501102693511549985753ans =-0.071995758403084664887655346911159ans =-43.9102390493223146672631539563435. 求解下列常微分方程(Solve the following ordinary differential equations.)(1)ln()xy y xy y '=-syms x y ;s=dsolve('x*Dy=y*log(x*y)-y','x')s =1/xexp(exp(C8 + log(x)))/x (2)20(1)5dv t dt v ?+==? syms v t ;s=dsolve('Dv+2*t=0','v(1)=5','t')s =6 - t^2(3)()0y a b y aby '''-++=syms a b x y ;s=dsolve('D2y-(a+b)*Dy+a*b*y=0','x')s =实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数C13*exp(a*x) + C14*exp(b*x)6. 用MATLAB 验证(Use MALTAB to prove the following identities)(1) 22sin cos 1x y +=syms x ;s=solve((sin(x))^2+cos((x))^2-1,x)s =C_求解此方程所得的解是全体实数因此该等式在实数域上成立。

matlab程序设计实验报告

matlab程序设计实验报告

matlab程序设计实验报告《MATLAB程序设计实验报告》摘要:本实验报告旨在介绍MATLAB程序设计的基本原理和实践操作,通过实验演示和分析,展示了MATLAB在工程领域的应用和重要性。

本报告详细介绍了MATLAB程序设计的基本语法和常用函数,以及如何利用MATLAB进行数据处理、图像处理、信号处理等工程应用。

通过本报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。

1. 引言MATLAB是一种用于算法开发、数据可视化、数据分析和数值计算的高级技术计算语言和交互式环境。

它具有强大的数学计算功能和丰富的绘图工具,广泛应用于工程、科学和金融等领域。

本实验报告将介绍MATLAB程序设计的基本原理和实践操作,帮助读者快速掌握MATLAB的基本技能。

2. 实验目的本实验的主要目的是让读者了解MATLAB程序设计的基本语法和常用函数,掌握MATLAB在工程领域的应用和重要性。

通过实验演示和分析,展示MATLAB 在数据处理、图像处理、信号处理等方面的应用。

3. 实验内容(1)MATLAB程序设计的基本语法和常用函数(2)利用MATLAB进行数据处理的实验演示(3)利用MATLAB进行图像处理的实验演示(4)利用MATLAB进行信号处理的实验演示4. 实验步骤(1)学习MATLAB程序设计的基本语法和常用函数(2)编写MATLAB程序,实现数据处理、图像处理、信号处理等功能(3)进行实验演示和分析,展示MATLAB在工程领域的应用和重要性5. 实验结果与分析通过本实验的学习,读者将能够掌握MATLAB程序设计的基本技能,包括数据处理、图像处理、信号处理等方面的应用。

通过实验演示和分析,读者将了解MATLAB在工程领域的重要性,为工程实践提供有力的支持。

6. 结论MATLAB程序设计是一种强大的工程工具,具有广泛的应用前景。

通过本实验报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。

matlab实验报告二

matlab实验报告二

Matlab实验报告实验2 数值数组及运算一、实验目的(1)掌握一维数组、二维数组、多项式和高维数组的创建(2)掌握对数组操作的常用函数二、实验内容使用冒号运算符创建下面各表达式对应的向量。

>> x=logspace(1,3,3); x=10.^[1:3]x =10 100 1000>> x=logspace(1,3,5)x =1.0e+003 *0.0100 0.0316 0.1000 0.3162 1.0000利用MATLAB内置函数计算下面的值>>cosh(5)ans =74.2099>>sinh(-2)ans =-3.6269>> (exp(5)+exp(-5))/2ans =74.2099>> help erfERF Error function.Y = ERF(X) is the error function for each element of X. X must be real. The error function is defined as:erf(x) = 2/sqrt(pi) * integral from 0 to x of exp(-t^2) dt.Class support for input X:float: double, singleSee also erfc, erfcx, erfinv.Overloaded functions or methods (ones with the same name in other directories) helpsym/erf.mReference page in Help browserdoc erf>>erf(1.2)ans =0.9103利用linspace函数创建下面表达式的对应向量>> x=0:10; x=linspace(0,10,11)x =0 1 2 3 4 5 6 7 8 9 10>> x=0:0.2:10; x=linspace(0,10,51)x =Columns 1 through 160 0.2000 0.4000 0.6000 0.8000 1.0000 1.20001.4000 1.6000 1.80002.0000 2.2000 2.4000 2.6000 2.80003.0000Columns 17 through 323.2000 3.4000 3.6000 3.80004.0000 4.2000 4.40004.6000 4.80005.0000 5.2000 5.4000 5.6000 5.80006.0000 6.2000Columns 33 through 486.4000 6.6000 6.80007.0000 7.2000 7.4000 7.60007.8000 8.0000 8.2000 8.4000 8.6000 8.8000 9.0000 9.2000 9.4000Columns 49 through 519.6000 9.8000 10.0000>> x=-12:12; x=linspace(-12,12,25)x =-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12>> x=10:-1:1; x=linspace(10,1,10)x =10 9 8 7 6 5 4 3 2 1>> x=[10 9 8 7]x =10 9 8 7>> x=[10 9 8 7];y=[1 2 3 4]'; z=x-y';>> zz =9 7 5 3计算>> A=[1 2 3 3;2 3 5 7;1 3 5 7;3 2 3 9;1 8 9 4];>> B=[1+4i 4 3 6 7;2 3 3 5 5;2 6+7i 5 3 4;1 8 9 4 3];>> C=A*B;>> CC =1.0e+002 *0.1400 + 0.0400i 0.5200 + 0.2100i 0.5100 0.3700 0.38000.2500 + 0.0800i 1.0300 + 0.3500i 1.0300 0.7000 0.70000.2400 + 0.0400i 0.9900 + 0.3500i 1.0000 0.6400 0.63000.2200 + 0.1200i 1.0800 + 0.2100i 1.1100 0.7300 0.70000.3900 + 0.0400i 1.1400 + 0.6300i 1.0800 0.8900 0.9500>> D=C(4:5,3:5);>> DD =111 73 70108 89 95>> A=[1 2 3 3;2 3 5 7;1 3 5 7;3 2 3 9;1 8 9 4];>> A=[1 2 3 3;2 3 5 7;1 3 5 7;3 2 3 9;1 8 9 4]A =1 2 3 32 3 5 71 3 5 73 2 3 91 8 9 4>> A=[4 12 20;12 45 78;20 78 136];>> B=[1 2 3;4 5 6;7 8 0];>> I=[1 0 0;0 1 0;0 0 1];>> A+5*Bans =9 22 3532 70 10855 118 136>> A-B+Ians =4 10 178 41 7213 70 137>> A.*Bans =4 24 6048 225 468140 624 0>> A*Bans =192 228 84738 873 3061284 1518 528>> A.^Bans =1.0e+015 *0.0000 0.0000 0.00000.0000 0.0000 0.00020.0000 1.3701 0.0000>> A\BWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.328379e-018. ans =1.0e+015 *0.0000 -0.0000 3.6192-0.0000 0.0000 -7.23840.0000 -0.0000 3.6192>> A/Bans =9.3333 -1.3333 0.000040.0000 -7.0000 0.000070.6667 -12.6667 0.0000>> A(find((A>50)&(A<100)))ans =7878>> B(find(B>5))ans =786>> A=[1 2 NaNInf -Inf 5 NaN]A =1 2 NaNInf -Inf 5 NaN >>isnan(A)ans =0 0 1 0 0 0 1 >>isfinite(A)ans =1 1 0 0 0 1 0 >>isinf(A)ans =0 0 0 1 1 0 0 >> any(A)ans =1>> all(A)ans =1求出以下矩阵的逆矩阵>> A=[1 -5 -2;3 4 -9;-7 2 6]A =1 -5 -23 4 -9-7 2 6>> B=[sin(1) sin(-5) sin(-2);sin(3) sin(4) sin(9); sin(-7) sin(2) sin(6)]B =0.8415 0.9589 -0.90930.1411 -0.7568 0.4121-0.6570 0.9093 -0.2794>>inv(A)ans =-0.1673 -0.1036 -0.2112-0.1793 0.0319 -0.0120-0.1355 -0.1315 -0.0757>>inv(B)ans =6.8645 23.4969 12.31719.7255 35.0011 19.974615.5090 58.6555 32.4631>> A=[1 2 3;4 5 6;7 8 9];>> B=flipud(A)B =7 8 94 5 61 2 3>> u=[1 2 3];>> v=[4 5 6];>> A=[u;v]A =1 2 34 5 6用两行语句实现从C中引用列向量>> C=[11 5;5 1;18 7];>> s=C(:,1)s =11518>> t=C(:,2)t =517使用diag函数和冒号运算符创建下面矩阵>>diag(1:1:4)ans =1 0 0 00 2 0 00 0 3 00 0 0 4>>diag(4:-1:1)ans =4 0 0 00 3 0 00 0 2 00 0 0 1>>diag(1:6:19)ans =1 0 0 00 7 0 00 0 13 00 0 0 19使用diag函数创建nxn对称三对角阵>> a=[2 2 2 2];>> b=[-1 -1 -1];>> D=diag(a)+diag(b,-1)+diag(b,1)D =2 -1 0 0-1 2 -1 00 -1 2 -10 0 -1 2创建矩阵>> e=eye(3);>> E=fliplr(e)E =0 0 10 1 01 0 0>> a=2*eye(5)-ones(5)a =1 -1 -1 -1 -1-1 1 -1 -1 -1-1 -1 1 -1 -1-1 -1 -1 1 -1-1 -1 -1 -1 1>> b=tril(a)b =1 0 0 0 0-1 1 0 0 0-1 -1 1 0 0-1 -1 -1 1 0-1 -1 -1 -1 1>> b(:,5)=1b =1 0 0 0 1-1 1 0 0 1-1 -1 1 0 1-1 -1 -1 1 1-1 -1 -1 -1 1使用rehape函数和冒号运算符创建矩阵>> reshape(2:2:24,3,4)ans =2 8 14 204 10 16 226 12 18 24>> reshape(-5:1:6,2,6)ans =-5 -3 -1 1 3 5-4 -2 0 2 4 6 (a)找出每个矩阵各列中绝对值最大的元素(b)找出每个矩阵各行中绝对值最大的元素>> c=C(:,1)c =21>> max(real(c)) ans =11>> d=C(:,2)d =-4211>> max(real(d)) ans =11>> e=C(1,:)e =11 -4 >> max(real(e)) ans =11>> f=C(2,:)f =2 2 >> max(real(f))2>> c=D(:,1)c =13213>> max(real(c)) ans =13>> d=D(:,2)d =-6223>>>> max(real(d)) ans =23>> e=D(1,:)e =13 -6 >> max(real(e)) ans =13>> f=D(2,:)f =2 2>> max(real(f))ans =2>> c=E(:,1)c =4.5000-3.0000-0.7500>> max(real(c))ans =4.5000>> d=E(:,2)d =1.00001.00001.7500>> max(real(d))ans =1.7500>> e=E(1,:)e =4.5000 1.0000>> max(real(e))ans =4.5000>> f=E(2,:)f =-3 1>> max(real(f))ans =1思考下面的程序>> A=ones(3,2);>> B=2*ones(2,3);>> A*B;>> A(2,3)=2;>> A*B;??? Error using ==>mtimesInner matrix dimensions must agree.>> A*B??? Error using ==>mtimesInner matrix dimensions must agree.>> u=0:3;>> v=(3:-1:0)';>> w=u.*v;??? Error using ==> timesMatrix dimensions must agree.>> clear all>> A=ones(3,3);>> A(k,k)??? Undefined function or variable 'k'.>> A(i,i)??? Subscript indices must either be real positive integers or logicals.定义多项式>> a=[1 -12 25 6];>> p=poly2sym(a)p =x^3-12*x^2+25*x+6>> x(2)求下面矩阵的特征多项式>> D=[2 -1 0 0;-1 2 -1 0;0 -1 2 -1;0 0 -1 2];>> PA=poly(D)PA =1.0000 -8.0000 21.0000 -20.0000 5.0000>> PPA=poly2str(PA,'S')PPA =S^4 - 8 S^3 + 21 S^2 - 20 S + 5计算>> R=[-0.5 -0.3+0.4i -0.3-0.4i];>> P=poly(R)P =1.0000 1.1000 0.5500 0.1250>> PR=real(P)PR =1.0000 1.1000 0.5500 0.1250>> PDR=poly2str(PR,'x')PDR =x^3 + 1.1 x^2 + 0.55 x + 0.125。

Matlab实验报告二

Matlab实验报告二

Matlab 程序设计实验报告一.实验目的1. 掌握MATLAB 数据对象的特点和运算规则。

2. 掌握MATLAB 中建立矩阵的方法和矩阵的处理方法。

二.实验内容23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦,0.434328.9421B ⎡⎤=⎢⎥-⎣⎦ 1. 将矩阵A 的某个元素用机器零代替>> A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]23.0000 10.0000 -0.7780 041.0000 -45.0000 65.0000 5.000032.0000 5.0000 0 32.00006.0000 -9.5400 54.0000 3.1400>> A(3,2)ans =5>> A(3,2)=epsA =23.0000 10.0000 -0.7780 041.0000 -45.0000 65.0000 5.000032.0000 0.0000 0 32.00006.0000 -9.5400 54.0000 3.1400>>2.将A转化为2x8的矩阵,转化成1x16、16x1的向量>> reshape(A,2,8)ans =23.0000 32.0000 10.0000 0.0000 -0.7780 0 0 32.000041.0000 6.0000 -45.0000 -9.5400 65.0000 54.0000 5.0000 3.1400 >> reshape(A,1,16)ans =Columns 1 through 923.0000 41.0000 32.0000 6.0000 10.0000 -45.0000 0.0000 -9.5400 -0.7780Columns 10 through 16>> reshape(A,16,1)ans =23.000041.000032.00006.000010.0000-45.00000.0000-9.5400-0.778065.000054.00005.000032.00003.140065.0000 0 54.0000 0 5.0000 32.0000 3.14003.自定义一个字符串,求其ASCII>> zifu='abcd 12345ABCD'zifu =abcd 12345ABCD>> abs(zifu)ans =97 98 99 100 32 49 50 51 52 53 65 66 67 68>>4.产生和A一样大小的0矩阵和1矩阵>> A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]A =23.0000 10.0000 -0.7780 041.0000 -45.0000 65.0000 5.000032.0000 5.0000 0 32.00006.0000 -9.5400 54.0000 3.1400>> ndims(A)ans =2>> size(A)ans =4 4>> zeros(size(A))ans =0 0 0 00 0 0 00 0 0 00 0 0 0>> ones(size(A))ans =1 1 1 11 1 1 11 1 1 11 1 1 1>>5.从A提取主对角线元素,构成对角阵>> diag(diag(A))ans =23.0000 0 0 00 -45.0000 0 00 0 0 00 0 0 3.1400>>6.产生均值为3,方差为1的500个正态分布的随机序列,写入表达式>> y=3+sqrt(1)*rand(10,50)y =Columns 1 through 93.9501 3.6154 3.0579 3.0153 3.8381 3.1934 3.4966 3.7271 3.79483.2311 3.7919 3.3529 3.7468 3.0196 3.6822 3.8998 3.3093 3.95683.6068 3.9218 3.8132 3.4451 3.6813 3.3028 3.8216 3.8385 3.52263.4860 3.7382 3.0099 3.9318 3.3795 3.5417 3.6449 3.5681 3.88013.8913 3.1763 3.1389 3.4660 3.8318 3.1509 3.8180 3.3704 3.17303.7621 3.4057 3.2028 3.4186 3.5028 3.6979 3.6602 3.7027 3.97973.4565 3.9355 3.1987 3.8462 3.7095 3.3784 3.3420 3.5466 3.27143.0185 3.9169 3.6038 3.5252 3.4289 3.8600 3.2897 3.4449 3.25233.8214 3.4103 3.2722 3.2026 3.3046 3.8537 3.3412 3.6946 3.87573.4447 3.8936 3.1988 3.6721 3.1897 3.5936 3.5341 3.6213 3.7373Columns 10 through 183.1365 3.5828 3.2091 3.4154 3.2140 3.6833 3.4514 3.6085 3.08413.0118 3.4235 3.3798 3.3050 3.6435 3.2126 3.0439 3.0158 3.45443.8939 3.5155 3.7833 3.8744 3.3200 3.8392 3.0272 3.0164 3.44183.1991 3.3340 3.6808 3.0150 3.9601 3.6288 3.3127 3.1901 3.35333.2987 3.4329 3.4611 3.7680 3.7266 3.1338 3.0129 3.5869 3.15363.6614 3.2259 3.5678 3.9708 3.4120 3.2071 3.3840 3.0576 3.67563.2844 3.5798 3.7942 3.9901 3.7446 3.6072 3.6831 3.3676 3.69923.4692 3.7604 3.0592 3.7889 3.2679 3.6299 3.0928 3.6315 3.72753.0648 3.5298 3.6029 3.4387 3.4399 3.3705 3.0353 3.7176 3.47843.9883 3.6405 3.0503 3.4983 3.9334 3.5751 3.6124 3.6927 3.5548Columns 19 through 273.1210 3.2319 3.4398 3.9342 3.1370 3.4225 3.2974 3.3759 3.19393.4508 3.2393 3.3400 3.2644 3.8188 3.8560 3.0492 3.0099 3.90483.7159 3.0498 3.3142 3.1603 3.4302 3.4902 3.6932 3.4199 3.56923.8928 3.0784 3.3651 3.8729 3.8903 3.8159 3.6501 3.7537 3.63183.2731 3.6408 3.3932 3.2379 3.7349 3.4608 3.9830 3.7939 3.23443.2548 3.1909 3.5915 3.6458 3.6873 3.4574 3.5527 3.9200 3.54883.8656 3.8439 3.1197 3.9669 3.3461 3.4507 3.4001 3.8447 3.93163.2324 3.1739 3.0381 3.6649 3.1660 3.4122 3.1988 3.3678 3.33523.8049 3.1708 3.4586 3.8704 3.1556 3.9016 3.6252 3.6208 3.65553.9084 3.9943 3.8699 3.0099 3.1911 3.0056 3.7334 3.7313 3.3919Columns 28 through 363.6273 3.7165 3.1146 3.3603 3.4319 3.7327 3.3567 3.6700 3.90903.6991 3.5113 3.6649 3.5485 3.6343 3.4222 3.4983 3.2009 3.59623.3972 3.7764 3.3654 3.2618 3.8030 3.9614 3.4344 3.2731 3.32903.4136 3.4893 3.1400 3.5973 3.0839 3.0721 3.5625 3.6262 3.47823.6552 3.1859 3.5668 3.0493 3.9455 3.5534 3.6166 3.5369 3.59723.8376 3.7006 3.8230 3.5711 3.9159 3.2920 3.1133 3.0595 3.16143.3716 3.9827 3.6739 3.7009 3.6020 3.8580 3.8983 3.0890 3.82953.4253 3.8066 3.9994 3.9623 3.2536 3.3358 3.7546 3.2713 3.95613.5947 3.7036 3.9616 3.7505 3.8735 3.6802 3.7911 3.4091 3.59553.5657 3.4850 3.0589 3.7400 3.5134 3.0534 3.8150 3.4740 3.0287Columns 37 through 453.8121 3.9566 3.1879 3.2460 3.2859 3.7241 3.8289 3.3663 3.22193.6101 3.1472 3.4906 3.5874 3.3941 3.2816 3.1663 3.3025 3.70373.7015 3.8699 3.4093 3.5061 3.5030 3.2618 3.3939 3.8518 3.52213.0922 3.7694 3.4635 3.4648 3.7220 3.7085 3.5208 3.7595 3.93293.4249 3.4442 3.6109 3.5414 3.3062 3.7839 3.7181 3.9498 3.71343.3756 3.6206 3.0712 3.9423 3.1122 3.9862 3.5692 3.5579 3.22803.1662 3.9517 3.3143 3.3418 3.4433 3.4733 3.4608 3.0142 3.44963.8332 3.6400 3.6084 3.4018 3.4668 3.9028 3.4453 3.5962 3.17223.8386 3.2473 3.1750 3.3077 3.0147 3.4511 3.0877 3.8162 3.96883.4516 3.3527 3.6210 3.4116 3.6641 3.8045 3.4435 3.9771 3.3557Columns 46 through 503.0490 3.2093 3.1998 3.5979 3.99953.7553 3.4551 3.0495 3.9492 3.21203.8948 3.0811 3.5667 3.2888 3.49843.2861 3.8511 3.1219 3.8888 3.29053.2512 3.5620 3.5221 3.1016 3.67283.9327 3.3193 3.1171 3.0653 3.95803.1310 3.3749 3.7699 3.2343 3.76663.9408 3.8678 3.3751 3.9331 3.66613.7019 3.3722 3.8234 3.0631 3.13093.8477 3.0737 3.0466 3.2642 3.09547.求A和B的上三角矩阵、下三角矩阵、逆矩阵、行列式的值、秩、范数、条件数、迹A =23.0000 10.0000 -0.7780 041.0000 -45.0000 65.0000 5.000032.0000 5.0000 0 32.00006.0000 -9.5400 54.0000 3.1400>> B=[0.43,43,2;-8.9,4,21]B =0.4300 43.0000 2.0000-8.9000 4.0000 21.0000triu(A)ans =23.0000 10.0000 -0.7780 00 -45.0000 65.0000 5.00000 0 0 32.00000 0 0 3.1400tril(A)ans =23.0000 0 0 041.0000 -45.0000 0 032.0000 5.0000 0 06.0000 -9.5400 54.0000 3.1400>> inv(A)ans =0.0307 0.0090 -0.0004 -0.01040.0297 -0.0210 0.0008 0.02570.0039 -0.0044 -0.0017 0.0238-0.0353 -0.0057 0.0315 0.0064>> Pinv(B)Warning: Could not find an exact (case-sensitive) match for 'Pinv'. C:\MATLAB701\toolbox\matlab\matfun\pinv.m is a case-insensitive match and will be used instead. You can improve the performance of your code by using exact name matches and we therefore recommend that you update your usage accordingly. Alternatively, you can disable this warning using warning('off','MATLAB:dispatcher:InexactMatch').ans =0.0022 -0.01750.0234 -0.0017-0.0035 0.0405>> det(A)ans =1.8965e+006>> rank(A)ans =4>> norm(A,1)ans =119.7780>> cond(A,1)ans =11.9307>> trace(A)ans =-18.8600>>8.A=[34,NaN,Inf,-Inf,-pi,eps,0],对A求all、any、isnan、isinf、isfinite函数的值A=[34,NaN,Inf,-Inf,-pi,eps,0]A =34.0000 NaN Inf -Inf -3.1416 0.0000 0>> all(A)ans =>> any(A)ans =1>> isnan(A)ans =0 1 0 0 0 0 0>> isinf(A)ans =0 0 1 1 0 0 0>> isfinite(A)ans =1 0 0 0 1 1 1>>9.建立结构矩阵,并索引其中的元素a.x1=10; a.x2='abc'; a(2).x1=12; a(2).x2='wang';10.建立单元矩阵,并索引其中的元素。

MATLAB程序设计实验报告

MATLAB程序设计实验报告

MATLAB程序设计实验报告MATLAB 程序设计实验报告一、实验目的1.通过实验熟悉MATLAB仿真软件的使用方法;2.掌握用MATLAB寸连续信号时域分析、频域分析和s域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;3.掌握用MATLAB寸离散信号时域分析、频域分析和z域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;4.通过绘制信号运算结果的波形,了解这些信号运算寸信号所起的作用。

二、实验设备1. 计算机2. MATLAB R2007a 仿真软件三、实验原理寸系统的时域分析信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。

(1 )信号的相加和相乘:已知信号f1 (t)和f2 (t),信号相加和相乘记为f(t) f1(t) f2(t);f(t) f1(t) f2(t)。

(2)信号的微分和积分:寸于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function, 'variable ',n) ,其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。

连续信号的积分运算用int 函数来完成,语句格式为:diff(function, ' variable ' ,a,b) ,其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a和b省略时为求不定积分。

(3)信号的平移、翻转和尺度变换信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号f(t)的面积和能量。

信号的尺度变换是对信号f(t)在时间轴上的变化,可使信号压缩或扩展。

f(at)将原波形压缩a倍,f(t/a)将原波形扩大a倍。

MATLAB程序设计实验报告2

MATLAB程序设计实验报告2
**
学院:专业:班级:
姓名
学号
实验组
实验时间
指导教师
成绩
实验项目名称
实验2
MATLAB程序设计
实验目的
1.掌握利用if语句、switch语句实现选择结构的方法。
2.掌握利用for语句、while语句实现循环结构的方法。
3.熟悉利用向量运算来代替循环的方法并理解MATLAB程序设计的特点。
4.掌握定义和调用MATLAB函数的方法。
实验要求
加深对matlab的了解和学习,并认真独立完成每个实验
实验仪器
Pc机、MATLAB7.0
实验内容
MATLAB程序设计教程第三章课后实验习题1、2、4、5、7。
实验数据
ห้องสมุดไป่ตู้3.1
3.2
3.4
3.5(1)循环结构:
向量结构:
(2)循环结构:
向量结构:
3.7
(1):
(2)
实验总结
1.MATLAB中可用语句if、switch轻松实现选择结构的功能,用for、while语句实现循环结构
2.MATLAB的M文件编辑器除了能编辑修改文件外,还能对程序进行调试。通过调试菜单,可以查看和修改函数工作空间中的变量,从而准确的找到运行错误。
指导教师意见

(完整word)Matlab实验报告

(完整word)Matlab实验报告

实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境.2.学习使用图形函数计算器命令funtool及其环境。

二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format 命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。

求下列函数的符号导数(1)y=sin(x);(2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1—x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x);(3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x—4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x—3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。

从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2)y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(—x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x—1)/(x—2); 求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。

matlab实验报告

matlab实验报告

matlab实验报告《matlab 实验报告》一、实验目的通过本次实验,熟悉 MATLAB 软件的基本操作和功能,掌握使用MATLAB 进行数学计算、数据处理、图形绘制等方面的方法和技巧,提高运用 MATLAB 解决实际问题的能力。

二、实验环境1、计算机:_____2、操作系统:_____3、 MATLAB 版本:_____三、实验内容及步骤(一)矩阵运算1、创建矩阵在 MATLAB 中,可以通过直接输入元素的方式创建矩阵,例如:`A = 1 2 3; 4 5 6; 7 8 9`,创建了一个 3 行 3 列的矩阵 A。

还可以使用函数来创建特定类型的矩阵,如全零矩阵`zeros(m,n)`、全 1 矩阵`ones(m,n)`、单位矩阵`eye(n)`等。

2、矩阵的基本运算加法和减法:两个矩阵相加或相减,要求它们的维度相同,对应元素进行运算。

乘法:矩阵乘法需要满足前一个矩阵的列数等于后一个矩阵的行数。

转置:使用`A'`来获取矩阵 A 的转置。

(二)函数的使用1、自定义函数可以在 MATLAB 中自定义函数,例如定义一个计算两个数之和的函数:```matlabfunction s = add_numbers(a,b)s = a + b;end```2、调用函数在命令窗口中输入`add_numbers(3,5)`即可得到结果 8。

(三)数据的读取和写入1、读取数据使用`load`函数可以读取数据文件,例如`load('datatxt')`。

2、写入数据使用`save`函数可以将数据保存到文件中,例如`save('resulttxt',A)`,将矩阵 A 保存到`resulttxt`文件中。

(四)图形绘制1、二维图形绘制折线图:使用`plot(x,y)`函数,其中 x 和 y 分别是横坐标和纵坐标的数据。

绘制柱状图:使用`bar(x,y)`函数。

2、三维图形绘制三维曲线:使用`plot3(x,y,z)`函数。

MATLAB语言的程序设计实验报告

MATLAB语言的程序设计实验报告

实验二 MATLAB 语言的程序设计一、实验目的及要求1.掌握一些矩阵运算的基本函数应用方法2.熟悉MA TLAB 程序编辑与设计环境3.掌握各种编程语句语法规则及程序设计方法4.会编写程序M 文件和函数M 文件5.初步掌握程序的调式方法二、实验内容1.掌握以下矩阵操作函数实际给定一些数据后,使用各种函数计算,观察运算结果: zeros(n) 生成nxn 的零阵 zeros(n,m) 生成n 行m 列的零阵 ones(n,m) 生成n 行m 列的全1阵 eye(n) 生成nxn 的单位阵 randn(n,m) 生成元素为正态分布随机阵 x=[] 生成空矩阵 1、⎥⎦⎤⎢⎣⎡=654321a ⎥⎦⎤⎢⎣⎡-=531142b ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=201c ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=063258741d下列运算是否合法,为什么?如合法,结果是多少? (1) result1 = a' 答>> result1=a'result1 =1 42 53 6(2) result2 = a * b 错误(3) result3 = a + b 答> result3=a+bresult3 =3 6 2 5 8 11(4) result4 = b * d答>> result4=b*dresult4 =31 22 2240 49 13(5) result5 = [b ; c' ] * d答>> result5=[b;c']*dresult5 =31 22 2240 49 13-5 -8 7(6) result6 = a . * b答>> result6 = a.*bresult6 =2 8 -34 15 30(7) result7 = a . / b答>> result7=a./bresult7 =0.5000 0.5000 -3.00004.0000 1.6667 1.2000 (8) result8 = a . * c错误(9) result9 = a . \ b答>> result9=a.\bresult9 =2.0000 2.0000 -0.33330.2500 0.6000 0.8333 (10) result10 = a . ^2答>> result10=a.^2result10 =1 4 916 25 36(11) result11 = a ^2错误(12) result11 = 2 . ^ a答>> result12=2.^aresult12 =2 4 816 32 642、关系运算与逻辑运算已知a=20,b=-2,c=0,d=1(1) r1 = a > b答>> r1=a>br1 =1(2) r2 = a > b & c > d答>> r2=a>b &c>dr2 =(3) r3 = a == b* (-10)答>> r3 = a == b* (-10)r3 =1(4) r4 = ~b | c答>> r4=~b|cr4 =2.熟悉MATLAB程序编辑与设计环境要求:1)简单程序的编写与运行。

Matlab实验报告_2

Matlab实验报告_2

实验一 Matlab基础知识一、实验目的:1.熟悉启动和退出Matlab的方法。

2.熟悉Matlab命令窗口的组成。

3.掌握建立矩阵的方法。

4.掌握Matlab各种表达式的书写规则以及常用函数的使用。

二、实验内容:1.求[100,999]之间能被21整除的数的个数。

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

(find)3.输入矩阵,并找出其中大于或等于5的元素。

(find)4.不采用循环的形式求出和式6312ii=∑的数值解。

(sum)三、实验步骤:●求[100,199]之间能被21整除的数的个数。

(rem)1.开始→程序→Matlab2.输入命令:»m=100:999;»p=rem(m,21);»q=sum(p==0)ans=43●建立一个字符串向量,删除其中的大写字母。

(find)1.输入命令:»k=input('’,’s’);Eie48458DHUEI4778»f=find(k>=’A’&k<=’Z’);f=9 10 11 12 13»k(f)=[ ]K=eie484584778●输入矩阵,并找出其中大于或等于5的元素。

(find)1.输入命令:»h=[4 8 10;3 6 9; 5 7 3];»[i,j]=find(h>=5)i=3 j=11 22 23 21 32 3●不采用循环的形式求出和式的数值解。

(sum)1.输入命令:»w=1:63;»q=sum(2.^w)q=1.8447e+019实验二 Matlab 基本程序一、 实验目的:1. 熟悉Matlab 的环境与工作空间。

2. 熟悉M 文件与M 函数的编写与应用。

3. 熟悉Matlab 的控制语句。

4. 掌握if,switch,for 等语句的使用。

二、 实验内容:1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。

matlab程序设计实验报告

matlab程序设计实验报告

matlab程序设计实验报告Matlab程序设计实验报告引言:Matlab(Matrix Laboratory)是一种强大的高级编程语言和环境,广泛应用于科学计算、数据分析和工程设计等领域。

本实验报告旨在介绍我在Matlab程序设计实验中的学习和实践经验。

一、Matlab基础知识1.1 Matlab的安装与配置在实验开始前,我们首先需要安装Matlab并进行相应的配置。

Matlab的安装过程相对简单,只需按照官方指引进行操作即可。

配置方面,我们可以设置工作目录、界面风格、字体大小等,以提高工作效率。

1.2 Matlab的基本语法Matlab的语法类似于其他编程语言,但也有一些特殊之处。

例如,Matlab中的变量名不区分大小写,函数名则区分大小写。

此外,Matlab还具有丰富的数学函数库,可以方便地进行各种数值计算。

二、Matlab程序设计实践2.1 数值计算Matlab以其强大的数值计算能力而闻名,我们可以使用Matlab进行各种数学运算和数值计算。

例如,我们可以使用Matlab求解线性方程组、计算矩阵的特征值和特征向量等。

2.2 图像处理Matlab提供了丰富的图像处理函数,可以对图像进行各种操作和处理。

例如,我们可以使用Matlab读取图像文件、调整图像的亮度和对比度、进行图像滤波等。

此外,Matlab还支持图像的显示和保存,方便我们进行结果的展示和分析。

2.3 数据可视化Matlab提供了强大的数据可视化功能,可以将数据以图表的形式直观地展示出来。

我们可以使用Matlab绘制各种类型的图表,如折线图、散点图、柱状图等。

此外,Matlab还支持对图表的样式、标签、标题等进行自定义,以满足不同的需求。

三、实验心得与体会通过这次Matlab程序设计实验,我深刻体会到了Matlab在科学计算和工程设计中的重要性。

Matlab不仅提供了丰富的数学函数库和工具箱,还具备直观的图形界面和友好的交互环境,使得我们能够快速、高效地进行各种计算和分析。

MATLAB第二章实验报告

MATLAB第二章实验报告

深 圳 大 学 实 验 报 告课程名称: MATLAB实验名称: MATLAB 的数值计算学 院:指导教师:报告人: 组号:学号 实验地点实验时间: 年 月 日提交时间:二、内容和步骤1.创建矩阵(1)直接输入(2)用from:step:to方式(3)用linspace函数:(4)使用特殊矩阵函数,并修改元素(5)获取子矩阵块:.练习:b=logspace(0,4*3.14,20)b =1.0e+12 *1 至17 列0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0004 0.0018 0.0082 0.037718 至20 列0.1729 0.7924 3.63082.矩阵运算:(1)利用矩阵除法解线性方程组(2)利用矩阵的基本运算求解矩阵方程练习:(3)计算矩阵的特征值和特征向量。

验证特征值和特征向量与该矩阵的关系练习:将矩阵的乘除运算改为数组的点乘和点除运算:(4)利用数学函数进行矩阵运算w=logspace(-2,1,10)w =0.0100 0.0215 0.0464 0.1000 0.2154 0.4642 1.0000 2.1544 4.6416 10.0000LW=-20*log10(sqrt((2*w).^2 + 1))LW =-0.0017 -0.0081 -0.0373 -0.1703 -0.7396 -2.6993 -6.9897 -12.9151 -19.4040 -26.0314FW=-atan(2*w)*180/piFW =-1.1458 -2.4673 -5.3037 -11.3099 -23.3106 -42.8711 -63.4349 -76.9341 -83.8517 -87.13763.生成多维数组:c(18)=[]c =1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8练习:使用数组c编辑窗口查看变量a,b和c。

MATLAB实验报告二

MATLAB实验报告二

实验二 Matlab语言程序设计一、实验内容:1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;>> n=1; %将变量初值设为1sum=0;while((sum+n)<2000) %若s<2000成立,则执行下一条语句,否则结束本循环sum=sum+n; %求和运算n=n+1;endsum,n-1 %显示最终s和nsum =1953ans =622、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。

function xunhuan(x)sum=0;for(i=0:x)sum=sum+2^i;endy=sum>> xunhuan(15)y =65535function whilexun(x)sum=0;i=0;while(i<x)sum=sum+2^i;i=i+1;endy=sum>> whilexun(16)y =655353、如果想对一个变量 x 自动赋值。

当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。

a=input('输入一个字符:');switch acase 'y'x=1case 'Y'x=1case 'n'x=0case 'N'x=0otherwiseend输入一个字符:'Y'x =1二、实验思考题1.用FOR和WHILE语句有何要求?答:for语句的基本命令格式为for 循环变量=表达式1表达式3表达式2循环语句组End表达式1、表达式3、表达式2的定义和C语言相似即首先执行循环变量的初始值赋成表达式1的值然后判断循环变量的值介于表达式1和表达式2的值之间则执行循环体中的语句否则结束循环语句的执行。

matlab数学实验报告2

matlab数学实验报告2

数学实验报告2011年6月12日培养容器温度变化率模型一、实验目的利用matlab软件估测培养容器温度变化率二、实验问题现在大棚技术越来越好,能够将温度控制在一定温度范围内。

为利用这种优势,实验室现在需要培植某种适于在8.16℃到10.74℃下能够快速长大的甜菜品种。

为达到实验所需温度,又尽可能地节约成本,研究所决定使用如下方式控制培养容器的温度:1,每天加热一次或两次,每次约两小时;2,当温度降至8.16℃时,加热装置开始工作;当温度达到10.74℃时,加热装置停止工作。

已知实验的时间是冬天,实验室为了其它实验的需要已经将实验室的温度大致稳定在0℃。

下表记录的是该培养容器某一天的温度34三、 建立数学模型1, 分析:由物理学中的傅利叶传热定律知温度变化率只取决于温度差,与温度本身无关。

因为培养容器最低温度和最高温度分别是:8.16℃和10.74℃;即最低温度差和最高温度差分别是:8.16℃和10.74℃。

而且,16.8/74.10≈1.1467,约为1,故可以忽略温度对温度变化率的影响2, 将温度变化率看成是时间的连续函数,为计算简单,不妨将温度变化率定义成单位时间温度变化的多少,即温度对时间连续变化的绝对值(温度是下降的),得到结果后再乘以一系数即可。

四、 问题求解和程序设计流程 1) 温度变化率的估计方法根据上表的数据,利用matlab 做出温度-时间散点图如下:下面计算温度变化率与时间的关系。

由图选择将数据分三段,然后对每一段数据做如下处理:设某段数据为{(0x ,0y ),(1x ,1y ),(2x ,52y ),…,( n x ,n y )},相邻数据中点的平均温度变化率采取公式:温度变化率=(左端点的温度-右端点的温度)/区间长度 算得即:v(21ii x x ++)=(1+-i i y y )/(i i x x -+1).每段首尾点的温度变化率采用下面的公式计算: v(0x )=(30y -41y +2y )/(2x -0x ) v(n x )=(3n y -41+n y +2+n y )/(n x -2-n x )用以上公式计算得温度变化率与时间的数据表如下:下面分别利用数据插值法和数据拟合法两种方法来估计温度变化率1)数据插值法对上表即温度变化率与时间的数据表加热装置不工作时段1和加热装置不工作时段2采用插值法,可以得到任意时刻的温度变化率;编写matlab程序如下:t=[0,0.46,1.38,2.395,3.41,4.425,5.44,6.45,7.465,8.45,8.97];v=[29.89,21.74,18.48,16.22,16.30,15.32,13.04,15.45,13.98,16.35,19.27];t0=0:0.1:8.97;lglr=lglrcz(t,v,t0);lglrjf=0.1*trapz(lglr)fdxx=interp1(t,v,t0);fdxxjf=0.1*trapz(fdxx)scyt=interp1(t,v,t0,'spline');sancytjf=0.1*trapz(scyt)plot(t,v,'*',t0,lglr,'r',t0,fdxx,'g',t0,scyt,'b')gtext('lglr')gtext('fdxx')6gtext('scyt')其中使用了lglrcz.m文件lglrcz.m的代码是:function y=lglrcz(x0,y0,x)n=length(x0);m=length(x);for i=1:mz=x(i);s=0.0;for k=1:np=1.0;for j=1:nif j~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;end程序执行后显示结果:如图曲线lglr,fexx,scyt分别表示用拉格朗日插值法,分段线形插值法和三次样条插值法对第一加热时段数据插值得到的温度变化率-时间线。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二M A T L A B程序设计含实验报告精编版 MQS system office room 【MQS16H-TTMS2A-MQSS8Q8-MQSH16898】
实验二MATLAB 程序设计
一、 实验目的
1.掌握利用if 语句实现选择结构的方法。

2.掌握利用switch 语句实现多分支选择结构的方法。

3.掌握利用for 语句实现循环结构的方法。

4.掌握利用while 语句实现循环结构的方法。

5.掌握MATLAB 函数的编写及调试方法。

二、 实验的设备及条件
计算机一台(带有以上的软件环境)。

M 文件的编写:
启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。

点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正
三、 实验内容
1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。

并输入几组典型值加以检验。

(提示:提示输入使用input 函数)
2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。

其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:(1)用switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

(提示:注意单元矩阵的用法)
3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:
2?1
3?10?5?16?8?4?2?1
6?3?10?5?16?8?4?2?1
运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。

请为关键的Matlab 语句填写上相关注释,说明其含义或功能。

4.编写一个函数,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。

function[y]=myfun1(x)
选择一些数据测试你编写的函数。

5.编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。

function[m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(RootMeanSquare)的计算公式为:
用下面数据测试你写的函数:
(1)x=sin(0::6*pi)
(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。

6.根据22222
1......3121116n
++++=π,求π的近似值。

当n 分别取100、1000、10000时,结果是多少?
思考题:
有一分数序列:
编写一段程序,求前16项的和。

四、实验报告要求(包含预习报告要求和最终报告要求)
1.实验名称
2.实验目的
3.实验设备及条件
4.实验内容及要求
5.实验程序设计
指程序代码。

6.实验结果及结果分析
实验结果要求必须客观,
结果分析是对实验结果的理论评判。

7.实验中出现的问题及解决方法
8.思考题的回答 四、 实验报告的提交方式
Word 文档,命名方式:实验号_你的学号_姓名
例如本次实验:实验一_000000001_张三.doc
(信息101提交报告邮箱):E_mail:
(网络工程101提交作业邮箱):E_mail:M (注意网络班的M 是大写的)
下一次课前提交,过期不收!
五、参考文献
参考教材和Matlab帮助文件。

1.实验名称
MATLAB程序设计
2.实验目的
1.掌握利用if语句实现选择结构的方法。

2.掌握利用switch语句实现多分支选择结构的方法。

3.掌握利用for语句实现循环结构的方法。

4.掌握利用while语句实现循环结构的方法。

5.掌握MATLAB函数的编写及调试方法。

3.实验设备及条件
计算机一台(带有以上的软件环境)。

4.实验内容及要求
把实验内容的应用题,用MATLAB的语法编写出来,并运行成功,注意题与题之间用相应注释分割。

5.实验程序设计
6.实验结果及结果分析
7.实验中出现的问题及解决方法
对函数的嵌套关系理解混乱
解决:反复尝试,得出正确的嵌套关系。

'^'没有运行成功。

解决:需要加符号'.',不然无法得出预期结果8.思考题的回答。

相关文档
最新文档