Excel在信息论与编码教学中应用.docVIP

Excel在信息论与编码教学中应用.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Excel在信息论与编码教学中应用

Excel在信息论与编码教学中应用   [摘要]Excel是MS Office产品家族中的电子表格软件,该软件不但可以处理一般的表格和数据,而且还可以用在多媒体教学中。通过具体课程实例,展示Excel在多媒体教学中的应用,就如何改进多媒体教学效果提供了一些方法和思路。   [关键词]多媒体教学 自定义函数 Excel VBA   中图分类号:G43文献标识码:A文章编号:1671-7597(2009)0510145-01      《信息论与编码》课程是信息与计算科学专业的专业基础课。如何把课程的讲授与多媒体教学手段结合起来;如何把复杂的数学问题用形象的手段表现出来;如何把本课程与其他专业课程结合起来;如何提高课堂教学的趣味性,笔者在这些方面做了一些初步的探索。   Excel是人们常用的办公软件,具有非常丰富的图表功能和函数功能,Excel的VBA开发环境还为Excel功能的定制提供了强大的支持。我们在《信息论与编码》的多媒体教学实践中,综合运用了这些功能,取得了较好的教学效果。      一、图表功能      课程中有很多重要的公式,加深对公式的理解,可以帮助学生更好的掌握课程内容。因此,如果能把公式的函数曲线用图形的方式表现出来,并就图形中函数的关键取值进行详细讨论,显然能达到这一目的。   例如,课程中有一个特殊信源――二元信源,只有两个消息符号。设其中一个消息发出的概率为,则另一个消息的概率为 ,这个信源的熵为。   通常记为 ,称为二进熵函数(图1)。从图中可以非常直观的看到P的变化对 的影响。通过图形,可以加深学生对熵函数性质的理解,包括:极值性、最大熵定理和上凸性等等。      二、函数功能      Excel在制作函数曲线时,首先需要准备好数据,因为Excel的图表是根据数据生成的。值得一提的是,这些数据根本不需要手工录入,基本上可以由计算机自动生成,这里面主要用到Excel的数据填充和公式运算功能。   以上面的二进熵函数为例,数据区域是A2:C22。A列中的数据代表信源符号 的概率P,B列中的数据代表信源符号 的概率,C列中的数据代表信源熵,给定P变化的步长是0.05,这样A2:A22中的数据可填充生成。而B列和C列的数据,可根据公式计算出来。例如:B3=1-A3,C3=-(A3*LOG(A3,2)+B3*LOG(B3,2))。这里用到了Excel内置的数学函数LOG(numb   er, base),其中number是用于计算对数的正实数,base为对数的底数。再把B3、C3单元格的公式分别填充到所在列中即可。最后,用图表向导制作出函数图形,图表类型选择折线图。   除了二进熵函数,课程中还有自信息函数、率失真函数都可以用类似的方法进行演示。值得一提的是课程中有一个串联信道的内容,利用函数图形可以在一个坐标系上直观的看到串联两个BSC信道、串联三个BSC信道与单独的BSC信道,信道容量曲线之间的差别。      三、VBA      Excel集成的VBA(Visual Basic for Application)开发环境为Excel提供了功能扩展和定制的能力。利用VBA用户可以开发自己的函数,甚至可以写一些“应用程序”。在教学中我们利用VBA编写了若干个函数,对Excel的函数库做了扩展。   例如,在Shannon编码中,需要把累加概率 表示成二进制数,对应的码字就是小数点后前 位。Excel没有将十进制小数转换成二进制小数的函数,因此可以用VBA设计这个函数。   目的:把十进制的小数转化成二进制形式   输入:x需要转换的十进制小数   返回:trans 转化后的二进制形式   Public Function trans(x As Double) As String    Dim result As String    Dim i As Integer    Dim y As Double    y = 1    For i = 1 To 10    y = y * 0.5    If (x - y) 0 Then   result = result 1   x = x - y    ElseIf (x - y) = 0 Then   result = result 1   result = Left(result 0000000000, 10)补零   Exit For    Else   result = result 0    End If    Next i    trans = result   End Function   在E3单元格中输入公式=LEFT(trans(C

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档