ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:234.67KB ,
资源ID:2015531      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2015531.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(南邮软件设计报告.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

南邮软件设计报告.docx

1、南邮软件设计报告软件设计报告( 2012 / 2013 学年 第 二 学期)课程名称半导体物理器件软件设计实习时间指导单位指导教师 XXX学生姓名班级学号学院(系)专 业第一章 软件设计的要求1.1 所涉及的课程及知识点涉及的课程:半导体物理、微电子器件、matlab等知识点:matlab矩阵运算、绘图函数使用,PN结相关属性与杂质浓度、偏压的关系、1.2 目的与任务目的:经过了一个学年的微电子方向课的学习,大家对微电子器件的基本特性都有了一定的了解。通过学期最后两周的软件设计,要求学生利用软件进行仿阵,进一步了解微电子器件的各种特性。任务:使用Matlab软件对微电子器件进行仿真。第二章 软

2、件开发平台简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的

3、基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。Matlab语言有如下特点:1编程效率高它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比Basic、

4、Fortran和C等语言更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题。因此,Matlab语言也可通俗地称为演算纸式科学算法语言由于它编写简单,所以编程效率高,易学易懂。2用户使用方便Matlab语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编写程序和调试程序一般都要经过四个步骤:编辑、编译、连接以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在它们之间作瀑布型的循环。Matlab语言与其它语言相比,较好地解决了上述问题,把编辑、编译、连接和执行融为一体。

5、它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。具体地说,Matlab运行时,如直接在命令行输入Mailab语句(命令),包括调用M文件的语句,每输入一条语句,就立即对其进行处理,完成绩译、连接和运行的全过程。又如,将Matlab源程序编辑为M文件,由于Mat1ab磁盘文件也是M文件,所以编辑后的源文件就可直接运行,而不需进行编译和连接。在运行M文件时,如果有错,计算机屏幕上会给出详细的出锗信息,用户经修改后再执行,直到正确为止。所以可以说,Mat1ab语言不仅是一种

6、语言,广义上讲是一种该语言开发系统,即语言调试系统。3扩充能力强 高版本的Matlab语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为Matlab的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高Matlab使用效率和扩充它的功能。另外,为了充分利用Fortran、C等语言的资源,包括用户已编好的Fortran,C语言程序,通过建立Me调文件的形式,混合编程,方便地调用有关的Fortran,C语言的子程序。4语句简单,内涵丰富Mat1ab语言中最基本最重要的成分是函数,其一般形式为a,6,

7、c = fun(d,e,f,),即一个函数由函数名,输入变量d,e,f,和输出变量a,b,c组成,同一函数名F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义(有点像面向对象中的多态性。这不仅使Matlab的库函数功能更丰富,而大大减少了需要的磁盘空间,使得Matlab编写的M文件简单、短小而高效。5高效方便的矩阵和数组运算Matlab语言象Basic、Fortran和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“”就可用于数组间的运算,另外,它不需定

8、义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。在此基础上,高版本的Matlab已逐步扩展到科学及工程计算的其它领域。因此,不久的将来,它一定能名符其实地成为“万能演算纸式的”科学算法语言。6方便的绘图功能Matlab的绘图是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标,半对数坐标及极坐标,均只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复

9、线或多重线。这种为科学研究着想的设计是通用的编程语言所不及的。总之,Matlab语言的设计思想可以说代表了当前计算机高级语言的发展方向。我们相信,在不断使用中,读者会发现它的巨大潜力。第三章 软件设计的内容3.1 矩阵的运算3.1.1 设计题目及要求如果给出两个矩阵,执行下面的矩阵运算命令。(1)和分别是多少(其中I为单位矩阵)?(2)和将分别给出什么结果,它们是否相同?为什么?3.1.2 逻辑功能程序function = EXP1()A=4,12,20;12,45,78;20,78,136;B=1,2,3;4,5,6;7,8,0;I=eye(3);disp(A+5*B=);disp(A+5*

10、B);disp(A-B+I=)disp(A-B+I);disp(A.*B=);disp(A.*B)disp(A*B=);disp(A*B);End3.1.3 实验过程与结果打开matlab,在命令窗口“Command Window”中键入edit,启动程序编辑器。输入完整程序后利用save as储存为M文件,文件名为EXP1。返回主界面,在命令窗口 “Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下: EXP1( )A+5*B= 9 22 35 32 70 108 55 118 136A-B+I= 4 10 17 8 41 72 13 70 137A.*B=

11、 4 24 60 48 225 468 140 624 0A*B= 192 228 84 738 873 306 1284 1518 528实验结果分析(1)利用MATLAB提供的disp函数既可以输出表达式、数值,也可以输出字符串,其调用方式为:disp(表达式或数值)、disp(待显示字符串);(2)在MATLAB的矩阵运算中,+、-运算符通用,表示矩阵相加、减;*与.*不同在于*表示矩阵乘法,而.*表示矩阵对应位置元素相乘,所以*要求两个矩阵的行、列数互为转置,而.*则要求两个矩阵行、列数要相同;(3)使用eye可以获得单位矩阵函数(矩阵对角线处元素为1,其余元素为0),矩阵的阶数由括号

12、内的值决定,格式为eye(n),n为矩阵阶数。3.2圆形的绘制3.2.1 设计题目及要求请绘制出一个圆形,要求用函数实现。3.2.2逻辑功能程序function = EXP2(a,b,R)t=0:pi/150:2*pi;x=a+R*cos(t);y=b+R*sin(t);hold on;plot(x,y);plot(a,b,+);axis(a-R,a+R,b-R,b+R);axis equal;title(x-a)2+(y-b)2=R2);legend(x-,num2str(a),)2+(y-,num2str(b),)2=,num2str(R),2);hold off;end3.2.3 实验过

13、程与结果打开matlab,在命令窗口“Command Window”中键入edit,启动程序编辑器。输入完整程序后利用save as储存为M文件,文件名为EXP1。返回主界面,在命令窗口 “Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:EXP2(15,25,40) 3.2.4 实验结果分析(1)构建关于圆的参数方程,使用hold on的使用保证后绘的图不会覆盖先绘的图,在程序结束前使用hold off;(2)为了使圆的圆心位置和半径长度等参数可调,所以函数使用了带参量的输入方式;(3)绘图使用plot函数,带参数可以限制绘图范围,plot函数绘制圆心用符

14、号+表示;(4)axis equal是坐标轴刻度等距,这样是图形显示的不失真;(5)lengend、num2str函数添加图形注释,lengend添加注释的调用格式为lengend(字符串,num2str使数值转换成字符,num2str(数值或数值的表达式);3.3 双极型晶体管基区少子浓度分布3.3.1 设计题目及要求试绘出缓变基区的杂质分布为:;时,基区的少子浓度分布图,并能清楚解释各参量对少子浓度分布函数的影响。程序说明:当晶体管偏置在有源放大区时,VCkT/q,集电结边缘处电子密度为零,即 x=WB,nB(WB)=0。由此边界条件,得到缓变基区少子浓度分布函数:假定:InE=0.01m

15、A;DnB=2cm2/s;WB=0.05um;q=1.6e-19C。3.3.2 逻辑功能程序function = Question3( )syms x eta NB0 InE DnB WB q a;NB1x=NB0*(1-x/WB);NB2x=NB0*exp(-eta*x/WB);nBx=InE*int(NB2x,x,x,WB)/(NB2x*q*DnB);nB0=InE*WB/(q*DnB);y=nBx/nB0;nB0=subs(nB0,InE,DnB,WB,q,0.01,2,0.05,1.6*10-19);y=subs(y,x,a*WB);y=subs(y,q,1.6*10-19);for i=0:2:8yx=limit(y,eta,i);ezplot(yx,0,1);text(0.5-0.05*i,subs(yx,a,(0.5-0.05*i),=,num2str

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1