第七章 函数
第七章系统函数

∏ ∏
i =1 j =1 n
m
(s − z j ) ( s − pi )
(7―2)
把系统函数的零点与极点表示在s平面上的图形, 把系统函数的零点与极点表示在s平面上的图形, 叫做系统函数的零、 极点图。 其中零点用“ 叫做系统函数的零 、 极点图 。 其中零点用 “ o” 表示 。 表示。 极 点 用 “ ×” 表 示 。 若 为 n 重 极 点 或 零 点 , 则 注 以 ( n) 。 例如某系统的系统函数为
H ( s) = H 0
∏ ∏
i =1 m j =1 n
m
(s − z j ) (s − p j ) ( jω − z j ) ( jω − p j )
H ( jω ) = H 0
∏ ∏
i =1 j =1 n
(7―8)
图7.3中画出了由零点zj和极点pi与虚轴上某点jω连接 中画出了由零点z 和极点p 与虚轴上某点jω jω连接 构成的零点矢量jω 和极点矢量jω 构成的零点矢量jω-zj和极点矢量jω-pi。图中Nj、Mi分别 jωjω图中N 表示矢量的模,θ 表示矢量的模,θj、φi分别表示矢量的相角,即 分别表示矢量的相角,
当正弦激励信号的频率ω 改变时, 当正弦激励信号的频率 ω 改变时 , 稳态响应的幅度和相 位将分别随着H jω) 位将分别随着 H ( jω ) 和 φ ( ω ) 变化 ,H ( jω ) 反映了 变化,H jω) ,H( 系统在正弦激励下稳态响应随频率变化的情况, 系统在正弦激励下稳态响应随频率变化的情况 , 故又称系统 的频响特性。 的频响特性。 若 H ( s ) 的极点均位于 s 左半平面 , 令 s=jω, 也就是在 s 的极点均位于s 左半平面, s=jω,也就是在 也就是在s 平面上令s沿虚轴变化,则有H(s)|s=jω=H(jω), 平面上令s沿虚轴变化,则有H(s)|s=jω=H(jω),即为系统的 H(s)|s=jω=H(jω),即为系统的 频响特性。根据H 频响特性。根据H(s)在s平面的零、极点分布情况可以绘 平面的零、 制出频响特性曲线,包括幅频特性|H(jω)| 制出频响特性曲线 , 包括幅频特性 |H(jω)| 曲线和相频特性 |H(jω)|曲线和相频特性 φ(ω)曲线 下面介绍这种方法。 φ(ω)曲线,下面介绍这种方法。 曲线, 由式( 由式(7―2),系统函数H(s)的表示式为 系统函数H
信号与系统第七章 系统函数

=
K
N1N 2 " N m e j(ψ1+ψ2 +"ψm ) M1 M2 " Mn ej(θ1+θ2 +"θn )
H (jω)
=
K
N1N2 " Nm M1M2 "Mn
ϕ (ω) = (ψ1 +ψ2 + "ψm ) − (θ1 +θ 2 + "θ n )
当ω 沿虚轴移动时,各复数因子(矢量)的模和辐角都
①H(z)在单位圆内的极点所对应的响应序列为衰减的。 即当k→∞时,响应均趋于0。 ②H(z)在单位圆上的一阶极点所对应的响应函数为稳 态响应。
③H(z)在单位圆上的高阶极点或单位圆外的极点,其 所对应的响应序列都是递增的。即当k→∞时,响应 均趋于∞。
第 19 页
三、由系统函数零、极点分布 决定频响特性
v1(t ) −
R
+
C v2(t )
−
写出网络转移函数表达式
H (s)
=
V2 (s) V1 (s )
=
1 RC
⎜⎛ ⋅⎜ ⎜⎜⎝
s
1 +1
RC
⎟⎞ ⎟ ⎟⎟⎠
=
1 RC
1 M1 ejθ1
= V2 ejϕ (ω) V1
M1
θ1
−1 RC
jω
O
σ
第 28 页
频响特性
jω
M1
V2 1 V1 1
2 θ1
−1 RC
O
σ
O1 RC
( ) H
jω
=
1 RC
1 M1 e jθ1
= V2 ejϕ (ω) V1
第七章 系统函数

p ,q ,r
L
L
p ,q ,r
m
Ln 为所有两两不接触回路的增益乘积之和;
m,n
p
Lq Lr 为所有三个都互不接触回路的增益乘积之和;· · ·· ··
i 表示由源点到汇点的第i条前向通路的标号 Pi 是由源点到汇点的第i条前向通路增益; Δi 称为第i条前向通路特征行列式的余因子 。它是除去 与i条前向通路相接触的环路外,余下的特征行列式。
(5)前向通路:从源点到汇点的开通路称为前向通路。 (6)前向通路增益,回路增益:通路中各支路增益的乘积
3. 信号流图的基本性质
(1)信号只能沿支路箭头方向传输。 支路的输出=该支路的输入与支路增益的乘积。 (2)当结点有多个输入时,该结点将所有输入支路 的信号相加,并将和信号传输给所有与该结点相连 x1 x5 的输出支路。 d 如:x4= a x1+b x2+c x3 x 5= d x 4 x 6= e x 4
例: 求下列信号流图的系统函数
解: (1)首先找出所有回路,3个: 1 L1=H3G L2=2H1H2H3H5 L3=H1H4H5 (2)两两互不接触回路,2个 L1L3=H3GH1H4H5 (3)三个互不接触回路,无
H4 H1 H2 H3 G H5 2 1
(4)求特征行列式 Δ=1 – (H3G+2H1H2H3H5+ H1H4H5) + H3G H1H4H5
k
| h(k ) | ≤M
对于因果系统 若H(z)的极点均在单位圆内,则该系统必是稳 定系统。
第七章 系统函数

H ( e j ) H ( z ) z e j bm (e j zi )
i 1 m
(e p )
j i i 1
n
j j ( e z ) 和 ( e pi ) 为复数,故令 由于是 i
是当h(t)不满足绝对可积条件时,则至少有某个有界输 入f(t)产生无界输出yf(t)。 为此,设f (t)有界,则 f(-t)也有界,并且表示为
1 f ( t ) sgn[h(t )] 0 1
于是有
h(t)>0 h(t)=0 h(t)<0
h(t ) f (t ) h(t )
1 2
j j j 令 Be jw , A1e jw p1, A2e jw p2 ,
则H(jω)又可表示为
Be j B j ( 1 2 ) j (w ) H ( jw ) e | H ( j w ) | e A1e j1 A2e j 2 A1 A2
二、 H(s)与系统的频率特性 若系统的系统函数H(s)的极点全部在左半平面, 即H(s) 的收敛域包含 jω 轴,则
H ( jw ) H ( s ) s jw
bm ( jw si )
i 1 m
H ( jw ) H ( s ) s jw
( jw p )
i 1 i
第七章 系统函数
B() H () A()
连续系统
B( s) bm s m bm1s m1 b1s b0 H ( s) n A( s) s an1s n1 a1s a0
离散系统
B( z) bm z m bm1 z m1 b1 z b0 H ( z) n A( z) z an1 z n1 a1 z a0
数据结构函数

第七章 函数
6.4 函数的调用
调用形式
函数名(实参表); 说明:
实参与形参个数相等,类型一致,按顺序一一对应 实参表求值顺序,因系统而定(Turbo C 自右向左)
7.2 函数的定义
一般格式
函数返回值类型 缺省int型 无返回值void
合法标识符
现代风格:
函数类型 函数名(形参类型说明表) { 说明部分 语句部分 } 例例 有参函数(现代风格) 有参函数(现代风格) 例 无参函数 例 空函数 int int max(int x, y) max(int x,int y) printstar( ) dummy( ) { {int int z; z; { printf(“********** \n”); } { } z=x>y?x:y; z=x>y?x:y; 或 return(z); return(z); printstar(void ) 函数体为空 } } { printf(“**********\n”); }
函数体
第七章 函数
函数传统风格和例子
传统风格:
函数类型 函数名(形参表) 形参类型说明 { 说明部分 语句部分 }
例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); }
第七章 函数
7.3 函数的返回值
例 无返回值函数 void swap(int x,int y ) 返回语句 { int temp; 形式: return(表达式); temp=x; 或 return 表达式; x=y; y=temp; 或 return; } 功能:使程序控制从被调用函数返回到调用函数中, 同时把返值带给调用函数 说明:
第七章 系统函数

• H ejω 即h(n)的DTFT • ejω 为周期函数,所以 H ejω 为周期函数,其周期为 2π 。
通过本征函数透视系统的频响特性
设输入xn ejn
为本征函数
xn hn yn
hn为稳定的因果系统
yn hn xn
h m ejωnm e j n h m ejω m
1 M1 ejθ1
V2 ej ω V1
ω
O
1
ω
式中:V2= 1 V1 RC
1 M
, = -θ 1
45
RC
90
低通网络,截止频率位于ω 1 处 RC
例研究右图所示二阶RC系统
的频响特性H
jω
V2 jω V1 jω
,
注意,图中kv3是受控电压 v1t
R1 C1
v3t
C2 kv3 R2
v2 t nO Nhomakorabean
θ2
ω
ω
系统对不同频率的输入,产生不同的加权,这就是系 统的频率响应特性。
由系统函数得到频响特性
离散时间系统在单位圆上的z变换即为傅氏变换,即系 统的频率响应特性:
H ej H z z ejω H ejω ejω H ejω ~ ω :幅频特性
输出与输入序列的幅度之比
ω ~ ω :相频特性
limh(t) →∞
t→∞
2.离散系统:
Z平面: 单位圆内:p=-1/3,h(k)=
1 3
k
(k)
→0
单位圆上:p=1,h(k)=1k (k),有限值.
单位圆外:p=2,h(k)= 2 k (k) →∞
z平面
-1/3 0 1 2
极点位置与h(n)形状的关系
第7章函数

7.4 函数参数传递和函数的值
• 函数的参数分为形参和实参两种。形参出现在函数 定义中,在整个函数体内都可以使用,离开该函数 则不能使用。实参出现在主调函数中,进入被调函 数后,实参变量也不能使用。
• 形参和实参的功能是传送数据。当发生函数调用时, 主调函数把实参的值传送给被调函数的形参,从而 实现主调函数向被调函数的数据传送。这样的参数 传递方式叫做“数值传递”,简称“值传递”。
函数调用过程中,若形参的值发生改变,不会影响实参中的 值发生变化。
【例7.5】编程求n+(n-1)+(n-2)+…+1的和。 #include <stdio.h> void s(int n) void main() 程序运行过程与结果为: {int i; {int n; input number n: for(i=n-1;i>=1;i--) printf("input number n\n"); 5↙ n=n+i; scanf("%d",&n); ********* printf("n=%d\n",n); } printf("*********\n"); /*调用函数s之前,输出n值*/ n=5 printf("n=%d\n",n); /*调用函数s之前,输出n值*/ ********* printf("*********\n"); /*在函数s内部,输出n值*/ n=15 void s(int); ********* /*调用前,说明函数s*/ s(n); n=5 /*调用函数s之后,输出n值*/ printf("*********\n"); ********* printf("n=%d\n",n); /*调用函数s之后,输出n值*/ printf("*********\n"); }
人教版七年级下册数学第七章函数

人教版七年级下册数学第七章函数第一节函数的概念一、什么是函数- 函数是两个集合之间的一种对应关系。
- 对于一个函数,定义域中的每个元素都对应到值域中唯一的一个元素。
- 函数可以用公式、图像、表格等形式来表示。
二、函数的符号表示- $y=f(x)$: 表示函数的一般形式。
- $x$: 自变量,输入的值。
- $y$: 因变量,输出的值。
- $f$: 函数名称。
- $(x,y)$: 函数的有序数对,表示自变量和因变量之间的对应关系。
三、函数的图像- 函数的图像是平面直角坐标系中的一条曲线,它表示函数中各对应关系的点的集合。
- 函数的图像可以反映函数的变化规律。
思考- 什么样的数据可以用函数表示?- 如果某数据不满足函数的定义,该如何处理?第二节一次函数一、一次函数的定义- 一次函数又称为线性函数。
- 一次函数的一般式:$y=kx+b$。
- $k$: 斜率,表示自变量和因变量之间的变化率。
- $b$: 截距,表示在自变量取 $0$ 时的因变量值。
二、一次函数的图像- 一次函数的图像是一条直线。
- 线段的斜率可以用两点的坐标计算得到。
三、一次函数的性质- 斜率为正时,函数单调递增。
- 斜率为负时,函数单调递减。
- 斜率为 $0$ 时,函数为常函数。
- 截距和函数在 $y$ 轴上的交点相当于函数的 $y$ 截距。
- 函数在 $x$ 轴上的零点为 $-\frac{b}{k}$。
思考- 一次函数的零点有什么特殊含义?- 如果两个点的坐标已知,如何求出它们所在的直线的斜率?第三节一次函数的应用一、一次函数的两个基本问题- 求函数解析式。
- 分别用解析式、图象和实际问题解释函数。
二、一次函数的应用- 用一次函数描述运动过程中物体位置与时间的关系。
- 用一次函数描述价格随数量变化的关系。
思考- 如果函数有两个截距,该如何解决?- 一次函数的应用还可以有哪些方面?第四节函数的综合应用一、函数的运算- 函数的加、减、乘、除运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章函数7.1 选择题*7.1建立函数的目的之一,以下正确的说法是 a 。
A)提高程序的执行效率B)提高程序的可读性C)减少程序的篇幅D)减少程序文件所占内存*7.2 以下正确的说法是 d 。
A)用户若需要调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,若如此,该函数将失去原有意义C)用户系统根本不允许用户重新定义标准库函数D)用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动寻找该文件。
7.3 以下正确的函数定义形式是 c 。
A)double fun(int x,int y) B)double fun(int x;int y)C)double fun(int x,int y); D)doubel fun(int x;int y);*7.4 以下正确的函数形式是 c 。
A)double fun(int x,int y){z=x+y;return z;}B)double fun(int x,y){int z;return z;}C)fun(x,y){int x,y;double z; z=x+y; return z;}D)double fun(int x,int y){double z;z=x+y;return z;}*7.5以下正确的说法是 b 。
A)实参和与其对应的形参占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用一个存储单元D)形参是虚拟的,不占用存储单元7.6 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数d 。
A)没有返回值B)返回若干个系统默认值C)返回一个用户所希望的函数值D)返回一个不确定的值7.7 以下不正确的说法是,C语言规定 c 。
A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式C)实参可以是任意类型D)实参应与其对应的形参类型一致7.8 以下正确的说法是 a 。
A)定义函数时,形参的类型说明可以放在函数体内B)return后面的值不能为表达式C)如果函数的类型与返回值类型不一致,以函数类型为准D)如果形参与实参的类型不一致,以实参类型为准7.9 C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是a 。
A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)由用户指定传递方式7.10 以下程序有语法性错误,有关错误原因的正确说法是 b 。
main(){int G=5,k;void prt_char();......k=prt_char(G);......}A)语句void prt_char();有错,它是函数调用语句,不能用void说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线7.11 C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 b 。
A)float型B)int型C)long型D)double型7.12 C语言规定,函数返回值的类型是由 d 所决定。
A)return语句中的表达式类型B)调用该函数时的主调函数类型C)调用该函数是系统临时指定D)在定义该函数时所指定的函数类型*7.13 下面函数调用语句含有实参的个数为 d 。
fun((exp1,exp2),(exp3,exp4,exp5));A)1 B)2 C)4 D)57.14 以下错误的描述是 a 。
函数调用可以A)出现在执行语句中B)出现在表达式中C)作为函数的实参D)作为函数的形参7.15 以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。
#include <stdio.h>#include <math.h>float f(float,float);main(){float x,y,z,sum;scanf("%f%f%f",&x,&y,&z);sum=f(【b】)+f(【c】);printf("sum=%f\n",sum);}float f(float a,float b){float value;falue=a/b;return(value);}【1】A)x-y,x+y B)x+y,x-y C)z+y,z-y D)z-y,z+y【2】A)x-y,x+y B)x+y,x-y C)z+y,z-y D)z-y,z+y7.16以下正确的描述是____b____。
A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可嵌套D)函数的定义和函数的调用均可以嵌套7.17 以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有的这样的数及其个数。
请选择填空。
sub(int k,int n){int a1,a2;a2=【c】;a1=k-【a】;if((k%3==0&&a2==5)||(k%3==0&&a1==5)){printf("%4d",k);n++;return n;}else return -1;}main(){int n=0,k,m;for(k=10;k<100;k++){m=sub(k,n);if(m!=-1) n=m;}printf("\nn=%d",n);}【1】A)k*10 B)k%10 C)k/10 D)k*10%10【2】A)a2*10 B)a2 C)a2/10 D)a2%107.18 以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,'A','B','C');则符合程序段运行结果的选项是 c 。
void move(char getone,char putone){printf("%c-->%c\n",getone,putone);}void hanoi(int n,char one,char two,char three){if(n==1) move(one,three);else{hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);}}A)A-->C B)A-->C C)A-->C D)A-->CA-->B A-->B A-->B A-->BC-->B C-->A C-->B C-->BB-->A A-->B A-->C A-->CC-->B B-->C B-->A A-->BA-->C A-->C B-->C B-->CA-->B A-->B A-->C A-->C7.19 若用数组名作为函数调用的实参,传递给形参的是 a 。
A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数7.20 已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式为 b 。
int a[3][4];f(a);A)f(int array[][6]) B)f(int array[3][]) C)f(int array[][4]) D)f(int array[2][5])7.21 若使用一位数组名作为函数实参,则以下正确的说法是 d 。
A)必须在主调函数中说明此数组的大小B)实参数组类型与形参数组类型可以不匹配C)在被调函数中,不需要考虑形参数组的大小D)实参数组名与形参数组名必须一致7.22 以下函数binary的作用是应用折半查找法从存有10个整数的a数组中对关键字m进行查找,若找到,返回其下标值;反之,返回-1。
请选择填空。
int binary(int a[],int m){int low=0,high=9,mid;while(low<=high){mid=(low+high)/2;if(m<a[mid]) 【d】;else if(m>a[mid]) 【c】;else return(mid);}return(-1);}A)high=mid-1 B)high=mid+1 C)low=mid-1 D)low=mid+17.23如果在一个复合语句中定义了一个变量,则有关该变量正确的说法是a 。
A)只在该复合语句中有效B)只在该函数中有效C)在本程序范围内均有效D)为非法变量7.24 以下不正确的说法为 c 。
A)在不同函数中可以使用相同名字的变量B)形式参数是局部变量C)在函数内定义的变量只在本函数范围内有效D)在函数内的复合语句中定义的变量在本函数范围内有效7.25 以下程序的正确运行结果是 d 。
#define MAX 10int a[MAX],i;main(){printf("\n");sub1();sub3(a);sub2();sub3(a);}sub2(){int a[MAX],i,max;max=5;for(i=0;i<max;i++) a[i]=i;}sub1(){for(i=0;i<MAX;i++) a[i]=i+i;}sub3(int a[]){int i;for(i=0;i<MAX;i++) printf("%3d",a[i]);printf("\n");}A) 0 2 4 6 8 10 12 14 16 18 B) 0 1 2 3 40 1 2 3 4 0 2 4 6 8 10 12 14 16 18C) 0 1 2 3 4 5 6 7 8 9 D) 0 2 4 6 8 10 12 14 16 180 1 2 3 4 0 2 4 6 8 10 12 14 16 18 *7.26 以下程序的正确运行结果是 c 。
#include<stdio.h>void num(){extern int x,y;int a=15,b=10;x=a-b;y=a+b;}int x,y;main(){int a=7,b=5;x=a+b;y=a-b;num();printf("%d,%d\n",x,y);}A)12,2 B)12,25 C)5,25 D)5,27.27 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 a 。
A)auto B)static C)extern D)register7.28 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 d 。