MATLAB实训报告

MATLAB实训报告
MATLAB实训报告

一、实训目的

1. 熟悉MATLAB语言的使用

2. 了解MATLAB在电子信息课程中的应用

3. 掌握MATLAB矩阵输入、运算以及MATLAB数值的运算功能

4.掌握各种数据的创建、访问、扩建及缩减

5.了解利用MATLAB计算系统响应的方法;验证信号与系统的基本概念、基本理论,掌握信号与系统的分析方法。

二、实训任务和要求

1、熟练利用MATLAB语言编程对系统S平面分析

2、掌握利用MATLAB分析系统时域的方法,熟悉系统的零输入响应,零状态响应及冲击响应的步骤。

3、MATLAB是目前国际上最流行,应用最广泛的科学与工程计算软件,它由MATLAB语言,MATLAB工作环境,MATLAB图像处理系统,MATLAB数据函数库,MATLAB应用程序接口五大部分组成的集数值计算,图形处理,程序开发为一体的功能强大的系统.它应用于自动控制,数学计算,信号分析,计算机技术,图像信号处理,财务分析,航天工业,汽车工业,生物医学工程,语音处理和雷达工程等各行业,也是国高校和研究部门进行许多科学研究的重要工具。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,它是以矩阵运算为基础的交互式程序语言,能够满足科学、工程计算和绘图的需求。与其它计算机语言相比,其特点是简洁和智能化,适应科技专业人员的思维方式和书写习惯,使得编程和调

试效率大大提高。它用解释方式工作,键入持续后立即得出结果,人机交互性能好,易于调试并被科技人员所乐于接受。特别是它可适应多种平台,并且随着计算机硬软件的更新及时升级,因此MATLAB语言在国外的大学工学院中,特别是频繁进行数值计算的电子信息类学科中,已经成为每个学生都掌握的工具了。它大大提高了课程教学、解题作业、分析研究的效率。

4、系统S平面分析的基本理论

MATLAB在系统S平面分析中,一般是求系统函数的零极点分布图,画单位冲激响应和幅频响应的图形,通常按常规方法这些波形很难画出,但是应用MATLAB就可简便快捷的画出图形,使系统的分析更加便捷.例如,已知系统函数为H,利用MATLAB画出该系统的零极点分布图,求出该系统的单位冲激响应和幅频响应,并判断系统的稳定性。

源程序如下:

> > %program 2 Impulse response,amp;itude

fequency response and stability analysis of LTI H(s)

>>Bum=[1];den=[1 2 2 1];

>>sys=tf(Bum,den);

>>poles=roots(den):

>>figure(1);pzmap(sys);

t=O:0.02:10:

>>h=impulse(Bum,den,t);

>>figure(2);plot(t,h);

>>xlabel( t(s) );ylabel( h(t) );title( Im—

pulse Response );

>>[H,W]=freqs(Bum,den);

>>figure(3);plot(W,abs(H));

>>xlabel( ang.freq.\omega(rad/s) );yla—

bel( H(j\omega) );title( Magnitude Respone );

> grid on

程序运行的结果如图一,图二,图三所示:

图一系统函数零极点分布图形

图二系统的单位冲激响应

图三系统的幅频响应

5、MATLAB系统时域求解的基本函数

求取系统单位阶跃响应:step()

求取系统的冲激响应: impulse()

y=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵

[y,x,t]=step(num,den):此时时间向量t由系统模型的特性自动生成, 状态变量x返回为空矩阵。

[y,x,t]=step(A,B,C,D,iu):其中A,B,C,D为系统的状态空间描述矩阵,iu用来指明输入变量的序号。x为系统返回的状态轨迹。

impulse()函数的用法

求取脉冲激励响应的调用方法与step()函数基本一致。

y=impulse(num,den,t);[y,x,t]=impulse(num,den);

[y,x,t]=impulse(A,B,C,D,iu,t)

covar:连续系统对白噪声的方差响应

initial:连续系统的零输入响应

lsim:连续系统对任意输入的响应对于离散系统只需在连续系统对应函数前加d 就可以,如dstep,dimpulse等。

三、实训过程与容

1、采用的软件及开发平台

MATLAB7.0 计算机

2、系统的详细设计

(一)、MATLAB中系统S平面分析的基本函数

(a)Laplace拉普拉斯变换

语法:

laplace(F)

laplace(F,t)

fourier(F,w,z)

简介:

L = laplace(F)表示对F函数关于默认自变量t做拉普拉斯变换。默认结果是关于s的函数。拉普拉斯变换完成了时域函数到频域函数的转换。

L= laplace(F,t) 会令L为t的函数,而非默认的s。

L = laplace(F,w,z)规定F是关于w的函数,而L是关于z的函数。

(b) ilaplace 拉普拉斯逆变换

用法:

F = ilaplace(L)

F = ilaplace(L,y)

F = ilaplace(L,y,x)

简介:

F = ilaplace(L)将L(s)变换成F(t)

F = ilaplace(L,y)将L(s)变换为F(y),而非F(t)

F = ilaplace(L,y,x)将L(y)变换为F(x)

(二)分析与实现

(1)由系统函数零、极点分布决定时域特性

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p 表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:

MATLAB实训报告

一、实训目的 1. 熟悉MATLAB语言的使用 2. 了解MATLAB在电子信息课程中的应用 3. 掌握MATLAB矩阵输入、运算以及MATLAB数值的运算功能 4.掌握各种数据的创建、访问、扩建及缩减 5.了解利用MATLAB计算系统响应的方法;验证信号与系统的基本概念、基本理论,掌握信号与系统的分析方法。 二、实训任务和要求 1、熟练利用MATLAB语言编程对系统S平面分析 2、掌握利用MATLAB分析系统时域的方法,熟悉系统的零输入响应,零状态响应及冲击响应的步骤。 3、MATLAB是目前国际上最流行,应用最广泛的科学与工程计算软件,它由MATLAB语言,MATLAB工作环境,MATLAB图像处理系统,MATLAB数据函数库,MATLAB 应用程序接口五大部分组成的集数值计算,图形处理,程序开发为一体的功能强大的系统.它应用于自动控制,数学计算,信号分析,计算机技术,图像信号处理,财务分析,航天工业,汽车工业,生物医学工程,语音处理和雷达工程等各行业,也是国内高校和研究部门进行许多科学研究的重要工具。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,它是以矩阵运算为基础的交互式程序语言,能够满足科学、工程计算和绘图的需求。与其它计算机语言相比,其特点是简洁和智能化,适应科技专业人员的思维方式和书写习惯,使得编程和调试效率大大提高。它用解释方式工作,键入持续后立即得出结果,人机交互性能好,易于调试并被科技人员所乐于接受。特别是它可适应多种平台,并且随着计算机硬软件的更新及时升级,因此MATLAB语言在国外的大学工学院中,特别是频繁进行数值计算的电子信息类学科中,已经成为每个学生都掌握的工具了。它大大提高了课程教学、解题作业、分析研究的效率。 4、系统S平面分析的基本理论 MATLAB在系统S平面分析中,一般是求系统函数的零极点分布图,画单位冲激响应和幅频响应的图形,通常按常规方法这些波形很难画出,但是应用MATLAB就可简便快捷的画出图形,使系统的分析更加便捷.例如,已知系统函数为H,利用MATLAB 画出该系统的零极点分布图,求出该系统的单位冲激响应和幅频响应,并判断系统的稳定性。

MATLAB实验报告II

实验四SIMULINK仿真模型的建立及仿真 一、实验目的: 1、熟悉SIMULINK模型文件的操作。 2、熟悉SIMULINK建模的有关库及示波器的使用。 3、熟悉Simulink仿真模型的建立。 4、掌握用不同的输入、不同的算法、不同的仿真时间的系统仿真。 二、实验内容 例7.1-1 SIMULINK仿真模型: 结果: 例7.1-2 SIMULINK仿真模型: 程序:%exm070102_1.m [A,B,C,D]=linmod2('exm070102'); STF=tf(minreal(ss(A,B,C,D))) [Num,Den]=tfdata(STF); Num{:},Den{:} t0=(0:0.1:5)'; [y,t]=step(STF,t0); plot(t,y,'LineWidth',3) grid on

axis([0,5,0,0.4]) xlabel('t'),ylabel('y')结果: 例7.2-1 SIMULINK仿真模型: 结果:

SIMULINK仿真模型: 结果:

三、模型建立方法: 1,建立理论数学模型; 2,打开SIMULINK模块库,引出SIMULINK工作环境;3,开启空白(新建)模型窗; 4,从模块库复制所需模块到空白(新建)模型窗;5,新建模型窗中的模型再复制; 6,模块间信号线的连接; 7,根据理论数学模型设置模块参数; 8,对仿真解算器和仿真终止时间进行设置; 9,给新建模型起适当的名字进行保存; 10,运行SIMULINK,并根据情况进行适当的调试;四、示波器的使用方法: 先进行纵坐标设置 在时间范围进行所需的修改

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

实验二 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?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. 的值,调用该函数后,

MATLAB第二次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名: 学号: 指导教师:

一、实验名称 实验二 线性方程组求解和函数的数值逼近 二、实验目的 通过上机实验,使学生对病态问题、线性方程组求解和函数的数值逼近方法有一个初步的理解。 实验涉及的核心知识点:病态方程求解、矩阵分解和方程组求解、Lagrange 插值。 实验重点与难点:算法设计和MATLAB 编程 三、实验内容 1. 对高阶多项式 ()()() ()()20 1 1220k p x x x x x k ==---=-∏ 编程求下面方程的解 ()190p x x ε+= 并绘图演示方程的解与扰动量ε的关系。 2. 对2 20n =,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量 b 的方法,确定方程组 ()n H x b = 最后,用矩阵分解方法求解方程组,并分析计算结果。 3. 对函数 ()2 1 125f x x = + []1,1x ∈- 的Chebyshev 点 ()()21cos 21k k x n π ?? -= ? ?+? ? ,1,2,,1k n =+ 编程进行Lagrange 插值,并分析插值结果。 四、实验数据及结果分析 1. 对高阶多项式

()()() ()()20 1 1220k p x x x x x k ==---=-∏ 编程求下面方程的解 ()190p x x ε+= 并绘图演示方程的解与扰动量ε的关系。 p=[1,-1]; for i=2:20 n=[1,-i]; p=conv(p,n); % 求多项式乘积 end m=zeros(1,21); % m 的最高次幂为20,有21项 hold on x=1:20; d=[-1,0,0.1,0.5,1]; for i=1:5 delt=d(i); m(2)=delt; y=(roots(p+m))'; % 求多项式的根 plot(x,y,'-o','color',[i/5,i/20,i/10]); end title('方程p(x)=0的解与扰动量delt 的关系') legend('delt=-1','delt=0','delt=0.1','delt=0.5','delt=1') 2468101214161820 010 20 30 40 50 60 方程p(x)=0的解与扰动量delt 的关系 delt=-1delt=0delt=0.1delt=0.5delt=1

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

matlab实验二

本科实验报告 课程名称:Matlab电子信息应用实验项目:矩阵和数组的操作 实验地点:电机馆跨越机房 专业班级:学号: 学生姓名: 指导教师: 2014年3月26 日

一、实验目的 1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。 2.学习矩阵和数组的加减运算与乘法。 3.掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。 二、预备知识 1.常用的产生特殊矩阵的函数 ?eye(m,n) 单位阵 ?rand(m,n) 随机矩阵 ?randn(m,n) 正态分布的随机矩阵 ?zeros(m,n) 零矩阵 ?ones(m,n) 全部元素都为1的矩阵 ?compan(A) 矩阵A的伴随矩阵 ?bankel(m,n) n维Hankel矩阵 ?invhilb(n) n维逆Hilbert矩阵 ?magic(n) n维Magic矩阵 ?toeplitz(m,n) Toeplitz矩阵 ?wilkinson(n) n维Wilkinson特征值测试矩阵 ?handamard(n) n维Handamard矩阵 ?hilb(n) n维Hilbert矩阵 ?kron(A,B) Kronecker张量积 ?pascal(n) n维Pascal矩阵 ?vander(A) 由矩阵A产生Vandermonde矩阵 2.通过矩阵的结构变换,获得新矩阵 表2 矩阵结构变化产生新矩阵 L=tril(A) L主对角线及以下元素取矩阵A 的元素,其余为0 L=tril(A,k) L及第k条对角线及以下元素取矩阵A的元素,其余为 U=triu(A) U主对角线及以上的元素取矩阵A的元素,其余为0 U=triu(A,k) U第k条对角线及以上的元素取矩阵A的元素,其余为

matlab实验二实验报告及程序

昆明理工大学信息工程与自动化学院学生实验报告 ( 2011——2012 学年 第一学期 ) 课程名称:控制系统计算机辅助设计 开课实验室:信自楼 234 2011年10月28日 年级、专业、班 学号 姓名 成绩 实验项目名称 实验二 控制系统分析 指导教师 胡蓉 教师评 语 该同学是否熟悉实验内容: A.熟悉□ B.比较熟悉□ C.不熟悉□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求 : A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 注:5个A 为优,5个B 为中,介于二者间为良,5个C 为不及格,3个B以上为及格。 教师签名: 年 月 日 实验二 控制系统分析 一、 实验目的 1. 掌握如何使用Matlab 进行系统的时域分析。 2. 掌握如何使用Matlab 进行系统的频域分析。 3. 掌握如何使用Matlab 进行系统的根轨迹分析。 4. 掌握如何使用Matlab 进行系统的稳定性分析。 二、 实验内容 1.时域分析 (1)典型二阶系统传递函数为:

当ζ=0.7, ω 取2、4、6、8、10、12的单位阶跃响应。 n 程序为:>> num1=4;den1=[1,2.8,4];sys1=tf(num1,den1); >> num2=16;den2=[1,5.6,16];sys2=tf(num2,den2); >> num3=36;den3=[1,8.4,36];sys3=tf(num3,den3); >> num4=64;den4=[1,11.2,64];sys4=tf(num4,den4); >> num5=100;den5=[1,14,100];sys5=tf(num5,den5); >> num6=144;den6=[1,16.8,144];sys6=tf(num6,den6); >> step(sys1,sys2,sys3,sys4,sys5,sys6); 运行单位阶跃响应结果图为: (2)典型二阶系统传递函数为: 当ω =6, ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。 n

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

实验二 M A T L A B 程序设计 一、 实验目的 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。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 编写一个函数,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x) 选择一些数据测试你编写的函数。 5. 编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0

MATLAB实验报告(二) 西安邮电大学

西安邮电学院 《Matlab》 实验报告 (二) 2011- 2012 学年第 1 学期 自动化 专业: 自动0903 班级: 学号: 姓名: 2011 年10月15日

实验二 MATLAB 的基本计算 一、实验目的 1.掌握建立矩阵的方法。 2.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 3.能用MATLAB 进行基本的数组、矩阵及符号运算。 4.掌握矩阵分析的方法以及能用矩阵求逆法解线性方程组。 二、实验设备及条件 计算机一台(带有MATLAB6.5或以上版本的软件环境)。 三、实验内容 1.利用diag 等函数产生下列矩阵。 ??????????-=032570800a ???? ? ?????=8040 507 2 b 2.利用reshape 函数将1题中的a 和b 变换成行向量。

3.产生一个均匀分布在(-5,5)之间的随即矩阵(10×2),要求精确到小数点后一位。 4.已知: ???????? ??-=765 3877 34434 12A ???? ? ?? ???--=7312 033 2 1 B 求下列表达式的值:

(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵) (2) B A K *21=和B A K *.22= (3) 331^A K =和3.32^A K = (4) B A K /41=和A B K \42= (5) ],[51B A K =和]2:);],3,1([[52^B A K =

5.下面是一个线性方程组: ???? ? ?????=????????????????????52.067.095.03216/15 /14 /15/14/13/14/13/12/1x x x (1) 求方程的解 (2) 将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变 6.利用randn 函数产生均值为0,方差为1的6×6正态分布随机矩阵C ,然后统计C 中大于-0.3,小于0.3的元素个数t

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

实验二M A T L A B程序设计含实验报告 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实验二 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。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y 5. (Root Mean Square)的计算(1(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。 6.根据2 2222 1......3121116n ++++=π,求π的近似值。当n 分别取100、1000、10000时,结果是多少 思考题:

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

MATLAB实验报告

数字信号处理及MATLAB 实验报告 班级: 学号: 姓名:

4.7.2 例4,2 设x(n)是由两个正弦信号及白噪声的叠加,试用FFT文件对其作频谱分析。程序清单 %产生两个正弦加白噪声 N=256; f1=.1;f2=.2;fs=1; a1=5;a2=3; w=2*pi/fs; x=a1*sin(w*f1*(0:N-1))+a2*sin(w*f2*(0:N-1))+randn(1,N); %应用FFT求频谱 subplot(2,2,1); plot(x(1:N/4)); title('原始信号'); f=-0.5:1/N:0.5-1/N; x=fft(x); y=ifft(x); subplot(2,2,2); plot(f,fftshift(abs(x))); title('频域信号'); subplot(2,2,3); plot(real(x(1:N/4))); title('时域信号');

例4.3 设x(n)为长度N=6的矩形序列,用MATLAB程序分析FFT取不同长度时x(n)频谱的变化。N=8,32,64,时x(n)的FFT MATLAB实现程序如下。 x=[1,1,1,1,1,1]; N=8; y1=fft(x,N); n=0:N-1; subplot(3,1,1);stem(n,abs(y1),'.k');axis([0,9,0,6]); N=32; y2=fft(x,N); n=0:N-1; subplot(3,1,2);stem(n,abs(y2),'.k');axis([0,40,0,6]); N=64; y3=fft(x,N); subplot(3,1,3);stem(n,abs(y3),'.k');axis([0,80,0,6]);

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

Tutorial4 实验报告 实验名称:Matlab 程序设计2 实验目的: 1、 熟悉利用向量运算来代替循环操作的方法。 2、 熟悉异常处理的应用 3、 熟悉函数的嵌套调用和递归调用 4、 熟悉全局变量的应用 5、 熟悉函数参数的可调性 实验内容: 1. 根据 2 22221111 6 123 n = ++++ π,求π的近似值。当n 分别取100、1000、10000时,结果是多少? 要求:分别用循环结构和向量运算(使用sum 函数)来实现。 2. 建立一个函数,要求输出某个矩阵的第n 行元素。当n 值超过矩阵的行数时,自动转为 输出矩阵的最后一行元素,并给出出错信息。 提示:利用warning 3. 先用函数的递归调用定义一个函数文件求 1 n m i i =∑,然后调用该函数文件求 100 50 10 2 1 1 1 1 k k k k k k ===++∑∑∑ 4. 已知 ,,,,12 312311021323 n n n n f n f n f n f f f f n ---==??==?? ==??=-+>? 求1 100f f 中:

(1)最大值、最小值、各数之和。 (2)正数、零、负数的个数。 5. 编写一个函数,当用户输入的是一个数组参数的时候表示求其相反数,当用户输入的是两个数组参数的时候是求两个值的差值,但如果两个值的空间大小不相等,则给出错误提示“两个数组空间大小不一致”后,结束程序运行。 提示:利用error 6. 写出下列程序的输出结果。 命令文件exe.m global x x = 1:2:5;y = 2:2:6; sub(y); x,y 函数文件sub.m function fun = sub(z) global x z = 3*x;x = x+z; 实验代码及结果 1.

MATLAB实验报告 (2)

仲恺农业工程学院实验报告纸 _自动化学院_(院、系)_工业自动化_专业_144_班_Matlab仿真控制实践课程 实验一MATLAB绘图基础 一、实验目的 了解MATLAB常用命令和常见的内建函数使用。 熟悉矩阵基本运算以及点运算。 掌握MATLAB绘图的基本操作:向量初始化、向量基本运算、绘图命令plot,plot3,mesh,surf 使用、绘制多个图形的方法。 二、实验内容 建立并执行M文件multi_plot.m,使之画出如图的曲线。

三、实验方法 四、实验要求 1.分析给出的MA TLAB参考程序,理解MA TLAB程序设计的思维方法及其结构。 2.添加或更改程序中的指令和参数,预想其效果并验证,并对各语句做出详细注释。对不 熟悉的指令可通过HELP查看帮助文件了解其使用方法。达到熟悉MA TLAB画图操作的目的。 3.总结MATLAB中常用指令的作用及其调用格式。 五、实验思考 1、实现同时画出多图还有其它方法,请思考怎样实现,并给出一种实现方法。 (参考程序如下)

2、思考三维曲线(plot3)与曲面(mesh, surf)的用法,(1)绘制参数方程 233,)3cos(,)3sin()(t z e t t y e t t t x t t ===--的三维曲线;(2)绘制二元函数 xy y x e x x y x f z ----==22)2(),(2 ,在XOY 平面内选择一个区域(-3:0.1:3,-2:0.1:2),然后绘 制出其三维表面图形。(以下给出PLOT3和SURF 的示例)

绘制题目要求曲面: %绘制二元函数,在XOY平面内选择一个区域(-3:0.1:3,-2:0.1:2)

matlab实验报告

Matlab实验报告 ——定积分的近似计算 学生姓名: 学号: 专业:数学与应用数学专业

数学实验报告 实验序号:1001114030 日期:2012年10月20日 班级应一姓名陈璐学号1001114030 实验名称:定积分的近似运算 问题背景描述: 利用牛顿—莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适合于被积分函数的原函数能用初等函数表达出来的情形。如果这点办不到或不容易办到, 这就有必要考虑近似计算的方法。在定积分的很多应用问题中,被积函数甚至没 有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只 能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线发。对于定积分的近似数值计算,Matlab有专门函数可用。 实验原理与数学模型: 1.sum(a):求数组a的和。 2.format long:长格式,即屏幕显示15位有效数字。 3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数之则转化为 相应的实型数值。 4.quad():抛物线法求数值积分。格式:quad(fun,a,b)。此处的fun是函数,并且

为数值形式,所以使用*、/、^等运算时要在其前加上小数点。 5.trapz():梯形法求数值积分。格式:trapz(x,y)。其中x为带有步长的积分区间;y为数 值形式的运算。 6.fprintf(文件地址,格式,写入的变量):把数据写入指定文件。 7.syms 变量1变量2……:定义变量为符号。 8.sym('表达式'):将表达式定义为符号。 9.int(f,v,a,b):求f关于v积分,积分区间由a到b。 10.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值。若简单地使用subs (f),则将f的所有符号变量用可能的数值代入,并计算出值。 实验所用软件及版本:Matlab 7.0.1

matlab实验报告

专业仿真课程设计题目: 学院: 专业班级: 学号: 学生姓名: 指导教师: 设计时间:

专业仿真课程设计题目 主要研究内容: 从所拍摄的多个目标物中检测三角形物,给出三角形物几何中心、三个边长以及边长的方向、面积。 设计要求: (1)提交能够实现题目要求、并通过演示验收的可执行文件。 (2)提交课程设计报告(包括程序清单)。 (3)通过答辩,答辩成绩满分20分,其中个人设计部分10分,非个人设计部分10分。 (4)软件设计要求:有一个人机交互界面,模块化设计,在模块之间通过BMP文件或者文本文件传送数据,可以查看中间结果。 (5)5个人一组,组长协调分工,每个组员一定要有具体任务,以便考核。预期达到的目标: 1、能够通过相关文献查阅、文献综述和总结,给出问题求解的多种可行方案。 2、能够综合运用测控技术与仪器专业理论和技术手段,设计实验方案、分析实验结果,得出有效的结论。 3、能够借助MATLAB仿真软件,进一步掌握高等数学、复变函数与积分变换等相关数学和自然科学知识以及测控技术与仪器专业的基本理论知识,能够结合本专业“自动控制原理”、“数字信号处理”、“误差理论”等相关课程,采用MATLAB软件对复杂工程问题建立模型并进行预测与模拟; 4、能够与团队中其他学科成员合作开展工作,能够与其他队员很好地沟通和交流意见,能够通过口头或书面方式表达自己的设计思路,具有一定的表达能力和人际交往能力。

目录 第一章课程设计相关知识综述 1.1 MATLAB相关知识叙述 1.1.1 MATLAB基本知识介绍 1.1.2 MATLAB的优势特点 1.1.3 MATLAB的发展历程 1.2 MATLAB工具箱与函数 1.2.1 MATLAB图像处理工具箱 1.2.2 课程设计所用图像处理函数介绍第二章课程设计内容和要求 2.1 课程设计主要研究内容 2.2 课程设计要求 2.3 课程设计预期目标 第三章设计过程 3.1 设计方案 3.2 设计步骤及流程图 3.3 程序清单及相关注释 3.4 实验结果分析 3.5 结论 第四章团队情况 第五章总结 第六章参考文献

matlab_实习报告

MATLAB实习报告 这学期进行了MATLAB的实习,在为期几天的实习中,大家实习了MATLAB基本操作、值数组及其运算、ATLAB图形绘制基础和SIMULINK仿真基础。同时通过这些也了解了MATLAB的基本情况和它的众多优点。 一、MATLAB的基本情况和优点 MATLAB是主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决 方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB 来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。 二、实习内容 实习内容一: MATLAB基本操作 实习内容二:数值数组及其运算 实习内容三: MATLAB图形绘制基础 实习内容四:SIMULINK仿真基础 三、MATLAB实习过程 1、掌握MATLAB操作过程 1、进入MATLAB的开发环境。 方法一:点击桌面上的快捷方式或matlab\文件夹下的快捷方式图标。 方法二:开始→所有程序→MATLAB6.5→MATLAB6.5.EXE。 方法三:点击matlab\bin\win32文件夹下的matlab.exe。 这三种方法的当前目录不同。优先选用方法一。 退出MATLAB的开发环境。 2、退出Matlab的方式很多:

MATLAB实习报告-1

MATLAB --实习报告 班级:****** 姓名:** 学号:*********** 指导老师:*** 日期:2011/11/24

目录 一.MATLAB简介 (3) 二.上机实习题目 (3) 1.第2章第1题 (3) 2.第3章第2题 (3) 3.第5章第2题 (3) 4.第4章第1题 (4) 三.题目实现过程 (4) 1.牛顿插值以及三次样条插值(第一个实验题) (4) a.牛顿插值 (4) b.三次样条插值 (4) c.牛顿插值截图 (5) d.三次样条插值截图 (6) 2.3次,4次多项式的曲线拟合 (7) a.先输入表格中对应的数据, (7) b.3次拟合 (8) c. 3次拟合截图 (9) d. 4次拟合 (9) e. 4次拟合截图 (10) 3.高斯消去法解线性方程组 (11) a.高斯消去法源代码 (11) b.第一个小题 (12) c.第二个小题 (13) 4.雅克比迭代法与SOR方法 (13) a. 雅克比迭代法的计算公式 (13) b. 超松弛迭代法的计算公式 (14) c.得到希尔矩阵 (14) d.得到b矩阵 (14) e.雅克比迭代法实现的函数 (14) f.SOR迭代法实现的函数 (15) g.对于雅克比迭代法,通过执行以下代码 (16) h. 对于SOR迭代法,执行相对应代码 (16) 四.心得与感想 (19)

一.M ATLAB简介 MATLAB是一个软件,用来进行科学计算。在实际生活或者在科学研究中,大量的计算有时候是不可避免的,在这个时候,我们可以选择很多种方式来解决我们的问题。但是选择一个好的软件对于我们来说有时候却是非常困难的,尤其是现在各种软件层出不穷,当然里面有好的,可是有大多数的软件却是鱼目混珠,在里面滥竽充数。如果我们不避开这些,那么我们可能面临的是用很大的工作量来完成一个极其简单的问题,或者说在付出了时间与精力之后却完不成问题。所以必须选择一个好的计算软件来解决问题。MATLAB 就是这样一个软件,在你能够熟悉并且流畅运用它之后,那它将是一把能够解决很多问题的钥匙。 MATLAB是Matrix Laboratory,即矩阵实验室的缩写。它是一个有Math Work公司(由Moler,Little,Bangert在1984年在加利福利亚成立)开发的软件包。用来实现数值计算或者符号操作。 另外MATLAB还拥有M-file这一功能,在这里面你可以编写自己的程序(当然这个程序不是windows程序),在这里你就可以实现很多计算,虽然说 MATLAB自带的函数在大多数情况下已经够用,但是总会有某些时候你觉得自己编写的程序运用起来更加灵活,而且在一些具体问题的时候,这个优势将会是一大突破,可以让我们很轻松解决很多问题。除了自己编写外,MATLAB 自带的很多优秀的程序,如plot(绘图)函数,cond(求矩阵条件数)函数,关于矩阵的一些相关函数,都是相当经典的。 总之,熟悉使用MATLAB可以让我们的工作变得很简单,经过这次的学习,我们以后的很多学习工作问题都可以很方便地解决了。 二.上机实习题目 1.第2章第1题 4 进行插值。用图给出{(x i,y i),x i=0.2+0.08i,i=0,1,11,10},P4(x)及S(x)。 2.第3章第2题 拟合曲线,用图示数据曲线及相应的三种拟合曲线。 3.第5章第2题 用列主元高斯消去法解线性方程组Ax=b。 (1)[3.01 6.03 1.99 1.27 4.16?1.23 0.987?4.819.34 ][ x1 x2 x3 ]=[ 1 1 1 ]; (2) [3.00 6.03 1.99 1.27 4.16?1.23 0.990?4.819.34 ][ x1 x2 x3 ]=[ 1 1 1 ]. 分别输出A,b,det (A),解向量x,(1)中A的条件数。分析比较(1),(2)。

相关文档
最新文档