实验十

实验十
实验十

模拟电子实验—10

实验十波形发生电路

一.实验目的

1. 通过方波发生器、矩形波发生器、三角波发生器和锯齿波发生器的实验,进一步掌握它们的主要特点和分析方法。

二.实验设备

名称数量型号

1.直流稳压电源 1台 MC1095

2.低频信号发生器1台学校自备

3.示波器 1台学校自备

4.万用表1只学校自备

5.DC信号源 1 块 -5V~+5V

6.示波器 1台

7.万用表 1只

8.电阻 4只2kΩ*2 100kΩ*2

9.电位器 2只100kΩ*2

10. 电容 2只0.01μF*1 0.1μF*1

11. 集成块芯片 1片LM741*2或LM358*1

12. 双向稳压二极管 1只 2.5V*1

13. 二极管 2只1N4007*2

14. 短接桥和连接导线若干P8-1和50148

15. 实验用9孔插件方板297mm×300mm

三.实验内容与步骤

1. 方波发生器

实验电路如图10-1所示,其中D

1D

2

为稳压管。

图10-1

1)分析图10-1电路的工作原理,试估算:

a. U

的幅值

b. 分别求出R=10kΩ和R=100kΩ的U

的周期时间。

2)按实验任务自拟实验步骤:

分别测出R=10kΩ和R=100kΩ的U

的周期时间及幅值。

1. 占空比可调的矩形波发生器

实验电路如图10-2所示,其中D

1D

2

为稳压管。

3)将图10-2电路与图10-1方波发生器进行比较,找出它们的区别,并分别画出下面两种情况下图10-2电路U

的波形。

a. 电位器Rw动端与a点的电阻R

ab

=0。

b. 电位器Rw动端与c点的电阻R

bc

=0。

图10-2

4)按实验任务自拟实验步骤:

测出图10-2电路U

波形的下述参数:

a. 幅值。

b. 周期时间T,并观察调整电位器Rw时,周期时间T是否变化。

c. 一个周期内,U

0大于零的时间T

1

的可调范围。

1. 三角波发生器

实验电路如图10-3所示,其中D

1D

2

为稳压管。

图10-3 1)分析图10-3的工作原理,弄懂下列问题:

a.运放A

1和A

2

是否都工作在线性范围内?试定性画出U

的波形。

b.若要求U

0的幅值为±1V,周期时间为1ms,电阻R

3

与R

4

的阻值各应为多少?

2)按实验任务自拟实验步骤。

调整图10-3电路中的电阻R

3与R

4

使输出电压的幅值为±6V,周期时间为

8ms,然后关断电源,测出电阻R

3与R

4

的阻值。

1. 锯齿波发生器

实验电路如图10-4所示,其中D

1D

2

为稳压管。

1)分析图10-4电路,弄懂下列问题:

图10-4

a. 图中运放A

1和A

2

的同相输入端与反相输入端应怎样连接该电路才能产生锯

齿波形振荡?试在图中用“+、-”符号表示。

b. 电容C的充电回路和放电回路各是什么?充电和放电的时间常数是否相同?

c. 设电阻R

4的阻值比R

1

大得多,试定性画出U

的波形。

d. 若将电阻R

4所接的电源由-15V改为+15V,并将图中的二极管反接,U

的波

形如何变化。

e. 若希望U

0峰-峰值为2V,周期时间为1ms的锯齿波,电阻R3和R

4

的阻值各

应为多少。

2)按实验任务自拟实验步骤。

a. 调整图10-4电路中的电阻R

3和R

4

,使U

峰-峰值为2V,周期时间为1ms的

锯齿波,然后关断电源,测出电阻R

3和R

4

的阻值。

b. 将电阻R

4所接的电源由-15V改为+15V,并将二极管反接,观察U

的波形。

四.分析与讨论

1. 小结非正弦波形发生器的共同特点和分析方法以及与正弦波发生器的区别。

2. 试分析比较三角波发生器与锯齿波发生器的共同特点和区别。

3. 试判断下面关于波形发生器的说法是否正确:

1)波形发生器都没有输入端。

2)波形发生器不需要调零。

3)正弦波发生器中的运放工作在线性范围内。

4)非正弦波发生器中至少有一只运放工作在非线形范围内。

5)计算正弦波发生器的振荡频率及三角波,锯齿波发生器输出电压的峰-峰值,主要抓住工作在非线性范围的运放输出电压改变状态的临界条件。

Python 实验8 函数1

实验8 函数(一)实验目的: 1、理解自定义函数过程的定义与调用方法; 2、掌握自定义函数的定义与调用方法; 3、理解函数中的参数的作用; 实验内容: 1、编写一函数Fabonacci(n),其中参数n代表第n 次的迭代。While循环 def fib(n): if n==1 or n==2: return 1 a=1 b=1 i=2 while True: c=a+b a=b b=c i+=1 #第i次迭代,也就就是第i个数 if i==n: return c break def main(): n=input("Enter a number of generation:") print fib(n) main() 或者用for循环 def fib(n): a=1 b=1 c=0 if n==1 or n==2: return 1 else: for i in range(3,n+1): c=a+b a=b b=c return c def main(): n=input("enter n:") print fib(n) main() 2、编写一函数Prime(n),对于已知正整数n,判断该数就是否为素数,如果就是素数,返回True,否则返回 False。 def prime(n): if n<2: return False a=0 for i in range(1,n+1): if n%i==0: a+=1 if a>2: return False else: return True def main(): n=input("Enter a number:") print prime(n) main() Or: def prime(n): if n<2: return False if n==2: return True for i in range(2,n): if n%i==0: return False return True def main(): n=input("Enter a number:") print prime(n) main()

数据库实验大全

数据库实验报告 实验内容数据库实验 学院信息工程学院 班级 12级应用电子技术2班 学号 学生姓名 指导教师 2015年3 月29 日

实验1 数据库的定义实验 一、实验目的: 熟练掌握和使用SQL、T-SQL、SQL Server 企业管理器(Enterpriser Manager Server )创建数据库、表、索引和修改表结构,并学会使用查询分析器(SQL Server Query Analyzer),接收T-SQL语句和进行结果分析。 二、实验内容: 1)创建数据库和查看数据库属性。 2)创建表、确定表的主码和约束条件,为主码建索引。 3)查看和修改表结构。 4)熟悉SQL Server 企业管理器(Enterpriser Manager)和查询分析器(Query Analyzer)工具的使用方法。 三、具体实验步骤及实验结果: 1)启动SQL Server200下的企业管理器(Enterpriser Manager)点击“数据库”右键,利用“新建数据库”建立图书读者数据库; 2)通过企业管理器(Enterpriser Manager),在建好了图书数据库中建立图书、读者和借阅3个表,方法是点击“图书_读者”右键“新建”下的“表”,如图所示:

3)建立关系于定义约束 定义UNIQUE(惟一性)约束:

定义CHECK约束: 实验2 数据库的建立和维护实验 一、实验目的: 要求学生熟练掌握使用SQL、T-SQL和SQL Server 企业管理器(Enterpriser Manager)向数据库输入数据、修改数据和删除数据的操作。 二、实验内容: 利用SQL Server2000企业管理器实现: (1)查看数据库的基本表的结构和数据约束,并将它们调整到正确。 (2)在数据库的基本表中正确输入数据。 (3)在数据库的基本表中插入、删除和修改数据。 (4)浏览数据库中基本表中的数据。 三、实验要求: 1.基本操作实验 1)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。 实验结果如图所示:

信号与系统实验

《信号与系统及MATLAB实现》实验指导书

前言 长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。 MA TLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MA TLAB 再多了解一些。 MA TLAB究竟有那些特点呢? 1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来; 2.完备的图形处理功能,实现计算结果和编程的可视化; 3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握; 4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具; MA TLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。正是基于这些背景,我们编写了这本《信号与系统及MA TLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。通过这些练习,同学们在学习《信号与系统》的同时,掌握MA TLAB的基本应用,学会应用MA TLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MA TLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。另外同学们在进行实验时,最好事先预习一些MA TLAB的有关知识,以便更好地完成实验,同时实验中也可利用MA TLAB的help命令了解具体语句以及指令的使用方法。

实验十

实验十类与对象的基本概念 一、实验目的 类是C++扩展数据类型,可以封装不同类型的数据成员和函数成员。类是面向对象程序设计的基础。本次实验内容包括面向对象的基本概念、构造函数与析构函数,从实际问题抽象出类等,通过实验要求掌握以下内容: 1、掌握面向对象的基本概念和类的定义方法。 2、掌握类成员的访问权限以及访问类成员的方法。 3、掌握内联函数和默认函数。 4、掌握构造函数和析构函数的意义及使用方法。 二、实验内容 1、范例:设计并测试一个矩形类(Rectangle)。属性为矩形的左下角与右上角的坐标,矩形水平放置。操作为计算矩形的周长和面积。 程序】 #include #include using namespace std; class Rectangle{ double left,top; double right,bottom; public: Rectangle(double l=0,double t=0,double r=0,double b=0); ~Rectangle(){}; void Assign(double l,double t,double r,double b); void Show();

double Area(); double Perimeter(); }; Rectangle::Rectangle(double l,double t,double r,double b){ left=l;top=t; right=r;bottom=b; } void Rectangle::Assign(double l,double t,double r,double b){ left=l;top=t; right=r;bottom=b; } void Rectangle::Show(){ cout<<"left-top point is("<

实验2:函数的应用

实验项目:函数的应用 实验目的: (1)掌握函数的定义和调用方法 (2)练习重载函数的使用 (3)练习使用系统函数 (4)使用debug调试功能,使用step into追踪到函数内部。 实验任务: 1.编写重载函数MAX1可分别求取两个整数,三个整数,两个双精度,三个双精度数的最大值。 2.用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。 实验步骤: 1.分别编写四个同名的函数max1,实现函数重载,在main()中测试函数功能。 int max1(int x, int y) { return (x>y?x:y); } int max1(int x, int y, int z) { int temp1=max1(x,y); return (y>z?y:z); } double max1(double x, double y) { return (x>y?x:y); } double max1(double x, double y, double z) { double temp1=max1(x,y); return (y>z?y:z); } void main() { int x1, x2; double d1, d2; x1 = max1(5,6); x2 = max1(2,3,4); d1 = max1(2.1, 5.6); d2 = max1(12.3, 3.4, 7.8); cout << "x1=" <

【例10-2】在函数fun中求1+2+3+4+5的和值,在main()函数中输出和值。 源程序: #include "stdio.h" int fun(int n) /*定义函数*/ { int i=1,sum=0; for(;i<=n;i++) sum+=i; return sum; /*通过return语句向main()返回值*/ } main() { int i=5,sum; sum=fun(i); printf("sum=%d\n",sum); } 举一反三 【10-2】从键盘输入一个正整数n,计算n!的值。要求定义和调用函数fac(n),计算n!。源程序: #include “stdio.h” int fac(int m) {/***************begin****************/ /***************end******************/ } int main() { int n; double f; printf(“input n:”); scanf(“%d”,&n); f=fac(n); printf(“%d!=%f\n”,n,f); } 【例10-3】输入x,输出相应的y值。要求定义和调用函数fun,实现下面的分段函数。 0 (x=0) y= sin(x) (x>0) |x| (x<0) 源程序:

实验4-1 函数的应用的答案

实验4 函数的应用 【实验目的】 1掌握函数声明、定义和调用的方法; 2了解函数调用的实参与形参的传递,以及参数默认值的设置。 3掌握重载函数的实现方法。 4理解递归和嵌套函数的概念、定义与调用。 【实验内容】 ⒈分别输入整数半径和实数半径,使用函数重载计算圆的面积。 #include #define PI 3.14 int area(int); float area(float); void main() { int r1; cout<<"Input a integer r="; cin>>r1; cout<<"area="< void fun (int x,int y ); main() {int x=5,y=3; fun(x,y); printf("%d,%d\n",x,y); } void fun (int x,int y ) { x=x+y; y=x-y;

x=x-y; printf("%d,%d\n",x,y); 3.#include int f (int a); main() { int s[ 8 ] = {1,2,3,4,5,6} ,i, d=0; for (i=0; f( s[i] ) ; i++) d+=s[i]; printf("%d\n",d); } int f(int a) { return a%2; } 4.#include long f( int g) { switch(g) { case 0:return 0; case 1: case 2: return 1; } return ( f(g-1)+ f(g-2)); } main ( ) { long int k; k = f(7); printf("\nk= %d\n",k); }

数据库实验1

邮电大学计算机学院 《大型数据库技术》 实验一:MySQL数据库安装配置及基础使用 :侯利萍班级:09 学号:B13040905 2016年 3 月21 日星期一 说明:斜体需要输出的部分。 下载安装MySQL 搜索MySQL下载页面 网址: 查看各种MySQL版本 MySQL主要版本及区别: 所下载版本及版本号: 安装配置MySQL 数据库基本操作 创建数据库 创建一个企业管理系统数据库,命名为enterprisedb,字符集选择utf8. SQL语句:create database enterprisedb; set charset utf8; 输出截图:

创建关系表 创建一雇员表,命名为employee,包括如下字段:雇员工号(从86001 开始递增),,性别,生日,部门名称。(请选择合适的数据类型) SQL语句: create table employe (id int(10) primary key AUTO_INCREMENT,name varchar(10),sex varchar(10),birthday virchar(10)) AUTO_INCREMENT=86001; 输出截图: 插入数据操作 插入10条不同信息的雇员,信息自定,需要符合实际。 SQL语句:insert into employe values("0","zhang","man","1996.1.2","mangager"); insert into employe values("0","","man","1996.1.2","mangager"); insert into employe values("0","","man","1995.1.2","mangager"); insert into employe values("0","胡","woman","1994.1.2","worker"); insert into employe values("0","周","woman","1995.1.1","worker"); insert into employe values("0","","woman","1995.3.1","worker"); insert into employe values("0","王","woman","1995.3.1","seller"); insert into employe values("0","吴","woman","1995.2.1","seller"); insert into employe values("0","吴","man","1995.2.1","seller"); insert into employe values("0","","man","1989.2.1","leader"); insert into employe values("0","田 ","woman","19988.2.1","leader"); 注释:在测试英文中文是否都正常时,多输入一个英文员工。 输出截图:

北京理工大学信号与系统实验实验报告

实验1 信号的时域描述与运算 一、实验目的 1. 掌握信号的MATLAB表示及其可视化方法。 2. 掌握信号基本时域运算的MA TLAB实现方法。 3. 利用MA TLAB分析常用信号,加深对信号时域特性的理解。 二、实验原理与方法 1. 连续时间信号的MATLAB表示 连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。在MATLAB中连续时间信号可以用两种方法来表示,即向量表示法和符号对象表示法。 从严格意义上来说,MATLAB并不能处理连续时间信号,在MATLAB中连续时间信号是用等时间间隔采样后的采样值来近似表示的,当采样间隔足够小时,这些采样值就可以很好地近似表示出连续时间信号,这种表示方法称为向量表示法。表示一个连续时间信号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时间信号在该时间范围内的采样值。例如一个正弦信号可以表示如下: >> t=0:0.01:10; >> x=sin(t); 利用plot(t,x)命令可以绘制上述信号的时域波形,如图1所示。 如果连续时间信号可以用表达式来描述,则还可以采用符号表达式來表示信号。例如对于上述正弦信号,可以用符号对象表示如下: >> x=sin(t); >> ezplot(X); 利用ezplot(x)命令可以绘制上述信号的时域波形 Time(seconds) 图1 利用向量表示连续时间信号

t 图 2 利用符号对象表示连续时间信号 sin(t) 2.连续时间信号的时域运算 对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、尺度变换(尺度伸缩)等。 1)相加和相乘 信号相加和相乘指两信号对应时刻的值相加和相乘,对于两个采用向量表示的可以直接使用算术运算的运算符“+”和“*”来计算,此时要求表示两信号的向量时间范围和采样间隔相同。采用符号对象表示的两个信号,可以直接根据符号对象的运算规则运算。 2)微分和积分 对于向量表示法表示的连续时间信号,可以通过数值计算的方法计算信号的微分和积分。这里微分使用差分来近似求取的,由时间向量[N t t t ,,,21?]和采样值向量[N x x x ,,,21?]表示的连续时间信号,其微分可以通过下式求得 1,,2,1,|)('1-?=?-≈ +=N k t x x t x k k t t k 其中t ?表示采样间隔。MA TLAB 中用diff 函数来计算差分 k k x x -+1。 连续时间信号的定积分可以由MATLAB 的qud 函数实现,调用格式为 quad ('function_name',a,b) 其中,function_name 为被积函数名,a 、b 为积分区间。

相关文档
最新文档