文档库 最新最全的文档下载
当前位置:文档库 › 上机实验指导5

上机实验指导5

上机实验指导5
上机实验指导5

CAD/CAM技术应用系列课程之一——《CAXA制造工程师》

上机实验指导(五)

第5章可乐瓶底的造型和加工

可乐瓶底曲面造型和凹模型腔造型

可乐瓶底曲面造型的二维图

5.1 凹模型腔的造型

造型思路:

可乐瓶底的曲面造型比较复杂,它有五个完全相同的部分。用实体造型不能完成,所以利用CAXA制造工程师强大的曲面造型功能中的网格面来实现。其实我们只要作出一个突起的两根截面线和一个凹进的一根截面线,然后进行圆形阵列就可以得到其他几个突起和凹进的所有截面线。然后使用网格面功能生成五个相同部分的曲面。可乐瓶底的最下面的平面我们使用直纹面中的点+曲线方式来做,这样做的好处是在做加工时两张面(直纹面和网格面)可以一同用参数线加工。最后以瓶底的上口为准,构造一个立方体实体,然后用可乐瓶底的两张面把不需要的部分裁剪掉,就可以得到我们要求的凹模型腔。

3.1.15.1.1 绘制截面线

1.按下【F7】键将绘图平面切换到XOZ平面。

2.单击曲线工具中的“矩形”按钮,在界面左侧的立即菜单中选择“中心_长_宽”

方式,输入长度42.5,宽度37,光标拾取到坐标原点,绘制一个42.5×37的矩形。

3.单击几何变换工具栏中的“平移”按钮,在立即菜单中输入DX=21.25,DZ=-18.5,然后拾取矩形的四条边,单击鼠标右键确认,将矩形的左上角平移到原点(0,0,0)。

4.单击曲线工具栏中的“等距线”按钮,在立即菜单中输入距离3,拾取矩形的最

上面一条边,选择向下箭头为等距方向,生成距离为3的等距线,如图所示。

5.相同的等距方法,生成如图所示尺寸标注的各个等距线。

6.

单击曲面编辑工具栏中的“裁剪”按钮

,拾取需要裁剪的线段,结果如左图所

示,然后单击“删除”按钮,拾取需要删除的直线,按右键确认确认删除,结

果如右图所示。

7. ①作过P1、P2点且与直线L1相切的圆弧。单击 “圆弧”按钮

,选择“两点_

半径”方式,拾取P1点和P2点,然后按空格键在弹出的点工具菜单中选择“切点”命令,拾取直线L1。

②作过P4点且与直线L2相切,半径R 为6的圆R6。单击 “整圆”按钮

,拾取

直线L2(上一步中点工具菜单中选中了“切点”命令),切换点工具为“缺省点”命令,然后拾取P4点,按回车键输入半径6。

③作过直线端点P3和圆R6的切点的直线。单击 “直线”按钮

,拾取P3点,

切换点工具菜单为“切点”命令,拾取圆R6上一点,得到切点P5。

注意:在绘图过程中注意切换点工具菜单中的命令,否则容易出现拾取不到需要点的现象。

8. ①作与圆R6相切过点P5,半径为6的圆C1。单击 “整圆”按钮

,选择“两点

_半径”方式,切换点工具为“切点”命令,拾取R6圆;切换点工具为“端点”,拾取P5点;按回车键输入半径6。

②作与圆弧C4相切,过直线L3与圆弧C4的交点,半径为6的圆C2。单击 “整

P1

L1

P2

P3

P4

L2

P5

圆”按钮,选择“两点_半径”方式,切换点工具为“切点”命令,拾取圆弧C4;

切换点工具为“交点”命令,拾取L3和C4得到它们的交点;按回车键输入半径6。 ③作与圆C1和C2相切,半径为50的圆弧C3。单击 “圆弧”按钮

,选择“两

点_半径”方式,切换点工具为“切点”命令,拾取圆C1和C2,按回车键输入半径50。

9. 单击曲面编辑工具栏中的“裁剪”按钮和“删除”按钮,去掉不需要的部分。

在圆弧C4上单击鼠标右键选择“隐藏”命令,将其隐藏掉。

10. 按下F5键将绘图平面切换到XOY 平面,然后再按F8显示其轴侧图。 11.

单击曲面编辑工具栏中的“平面旋转”按钮

,在立即菜单中选择“拷贝”

方式,输入角度41.6度,拾取坐标原点为旋转中心点,然后框选所有线段,单击右键确认,

P1

L1

P2

P3

P4 L2

P5 L3

C2

C3 C1 C4

R6 P1

L1

P2

P3

P4 L2 P5

C2

C3 C1

C4

R6

12.

单击 “删除”按钮

,删掉不需要的部分。按下Shift +方向键旋转视图。

观察生成的第一条截面线。单击“曲线组合”按钮,拾取截面线,选择方向,

将其组合一样条曲线。

至此,第一条截面线完成。因为作第一条截面线用的是拷贝旋转,所以完整地保留了原来绘制的图形,我们只需要稍加编辑就可以完成第二条截面线。

13.

按F7将绘图平面切换到XOZ 面内。单击“线面可见”按钮

,显示前面隐

藏掉的圆弧C4,并拾取确认。然后拾取第一条截面线单击右键选择“隐藏”命令,将其隐藏掉。

14.

单击 “删除”按钮

,删掉不需要的线段。单击“曲线过渡”按钮

,选

择“圆弧过渡”方式,半径为6,对P2、P3两处进行过渡。 15.

单击“曲线组合”按钮

,拾取第二条截面线,选择方向,将其组合一样条

曲线。

P2

P3

16.按下F5键将绘图平面切换到XOY平面,然后再按F8显示其轴侧图。

17.单击“圆弧”按钮,选择“圆心_半径”方式,以Z轴方向的直线两端点

为圆心,拾取截面线的两端点为半径,绘制如图所示的两个圆。

19.单击曲面编辑工具栏中的“平面旋转”按钮,在立即菜单中选择“拷贝”

方式,输入角度11.2度,拾取坐标原点为旋转中心点,拾取第二条截面线,单击右

键确认。

20.单击“阵列”按钮,选择“圆形”阵列方式,份数为5,拾取三条截面线,单击鼠标右键确认,拾取原点(0,0,0)为阵列中心,按鼠标右键确认,立刻得到如

下结果。

至此为构造曲面所作的线架已经完成。

3.1.25.1.2 生成网格面

按F5键进入俯视图,单击曲面工具栏中的“网格面”按钮,依次拾取U截面线共

2 条,按鼠标右键确认;再依次拾取V截面线共15条,按右键确认,稍等片片刻曲面

生成。

3.1.35.1.3 生成直纹面

底部中心部分曲面可以用两种方法来作:①裁剪平面。②直纹面(点+曲线)。这里用直纹面“点+曲线”来做,这样的好处是在做加工时,两张面(网格面和直纹面)可以一同用参数线来加工,而面裁剪平面不能与非裁剪平面一起来加工。

1.单击曲面工具栏中的“直纹面”按钮,选择“点+曲线”方式。

2.按空格键在弹出的点工具菜单中选择“圆心”命令,拾取底部圆,得到先圆心点,

再拾取圆,直纹面立即生成。

3.选择“设置”-“拾取过滤设置”命令,取消图形元素的类型中的“空间曲面”项。

然后选择“编辑”-“隐藏”命令,框选所有曲线,按右键确认,就可以将线框隐

全部藏掉,结果如图所示。

至此可乐瓶底的曲面造型已经作完。下一步的任务是如何选用曲面造型造出实体。

3.1.45.1.4 曲面实体混合造型

造型思路:先以瓶底的上口为准,构造一个立方体实体,然后用可乐瓶底的两张面(网格面和直纹面)把不需要的部分裁剪掉,得到我们要求的凹模型腔。多曲面裁剪实体是CAXA 制造工程师中非常有用的功能。

1.单击特征树中的“平面XOY”,选定平面XOY为绘图的基准面。

2.单击“绘制草图”按钮,进入草图状态,在选定的基准面XOY面上绘制草图。

3.单击曲线工具栏中的“矩形”按钮,选择“中心_长_宽”方式,输入长度120,宽度120,拾取坐标原点(0,0,0)为中心,得到一个120×120的正方形。

4.单击特征生成工具栏中的“拉伸”按钮,在弹出的“拉伸”对话框中,输入深度为50,选中“反向拉伸”复选框,单击“确定”得到立方实体。

5.选择“设置”-“拾取过滤设置”命令,在弹出的对话框中的“拾取时的导航加亮设置”项选中“加亮空间曲面”,这样当鼠标移到曲面上时,曲面的边缘会被加亮。

同时为了更加方便拾取,单击“显示线架”按钮,退出真实咸显示,进入线架显示,可以直接点取曲面的网格线。

6.单击特征生成工具栏中的“曲面裁剪除料”按钮,拾取可乐瓶底的两个曲面,选中对话框中“除料方向选择”复选框,切换除料方向为向里,以便得到正确的结果。

7.单击“确定”,曲面除料完成。选择“编辑”-“隐藏”命令,拾取两个曲面将其隐藏掉。然后单击“真实感显示”按钮,造型结果如图所示。

5.2 可乐瓶底加工

加工思路:等高粗加工、参数线加工

根据本例的形状特点,难于用普通铣床进行粗加工,而用CAXA制造工程师,却是一件轻而易举的事。因为可乐瓶底凹模型腔的整体形状较为陡峭,所以粗加工采用等高粗加工方式。然后我们采用参数线加工方式对凹模型腔中间曲面进行精加工。

3.1.55.2.1 加工前的准备工作

●设定加工刀具

1.选择【应用】→【轨迹生成】→【刀具库管理】命令,弹出刀具库管理对话框。

2.增加铣刀,这里可以任意增加刀具和删除刀具。单击“增加铣刀”按钮,在对话框中输入铣刀名称,刀具名称可以任意给,只要自己好识别就可以了。

一般都是以铣刀的直径和刀角半径来表示,刀具名称尽量和工厂中用刀的习惯一致。刀具名称一般表示形式为“D10,r3”,D代表刀具直径,r代表刀角半径。

3.设定增加的铣刀的参数。键入正确的数值,刀具定义即可完成。其中的刀刃长度和刃杆长度与仿真有关而与实际加工无关,在实际加工中要正确选择吃刀量和吃刀深度,以免刀具损坏。

●后置设置

用户可以增加当前使用的机床,给出机床名,定义适合自己机床的后置格式。系统默认的格式为FANUC系统的格式。

1.选择【应用】-【后置处理】-【后置设置】命令,弹出后置设置对话框。

2.增加机床设置。选择当前机床类型,如图所示。

图13-37 增加机床设置

3.后置处理设置。选择“后置处理设置”标签,根据当前的机床,设置各参数,如图所示。

设定加工毛坯

利用实体上表面的四个角点,做一个正方形,做为粗加工的轮廓。

3.1.65.2.2 等高粗加工刀具轨迹

1.设置工艺参数。选择“应用”→“轨迹生成”→“等高粗加工”,出现“粗加工参数表”

对话框,在“粗加工参数”选项中如图所示设置各项参数。注意毛坯类型选择“拾取轮

廓”。

2.设置切削用量。输入相应的主轴转速,F进给速度,起止高度60,安全高度50,单击“确定”。

3.选择“进退刀方式”和“下刀方式”选项标签,设定进退刀方式和下刀切入方式均为“垂直”。

4.选择“铣刀参数”选项标签,选择铣刀为R5球刀,设定球刀的参数。

5.选择“清根参数”选项标签,设置清根参数。

6.根据左下方的提示拾取轮廓,然后拾取曲面。拾取曲面可以按W键,全部选中。按右键确认以后系统开始计算,稍候,得出轨迹如下图。

7.拾取粗刀具轨迹,单击右键选择“隐藏“命令,将粗加工轨迹隐藏掉,以便观察下面的精加工轨迹。

3.1.75.2.3 精加工-参数线加工刀具轨迹

本例可以直接加工原始的曲面,这样会显得更简单一点。也可以直接加工实体。但曲面截实体以后形成的实体表面比原始的曲面要多一些。本例内型腔表面为 5 张曲面。本例精加工可以采用多种方式,如参数线、等高线+等高线补加工、放射线加工等。下面仅以参数线加工为例介绍软件的使用方法和注意事项。曲面的参数线加工要求曲面有相同的走向、公共的边界,点取位置要对应。

1.选择“应用”→“轨迹生成”→“参数线加工”命令,弹出参数线加工参数表,按照表中内容设置参数线加工参数。刀具和其他参数按粗加工的参数来设定。完成后单击“确定”。

高度的二张曲面后,按鼠标右键确认,根据提示完成相应的工作,最后生成轨迹。

的放射状加工就是一例。用户可以试着去做。

3.1.85.2.4 轨迹仿真、检验与修改

1.单击“线面可见”按钮,显示所有已经生成的加工轨迹,然后拾取粗加工轨迹,按右键确认。

2.选择【应用】-【轨迹仿真】命令。在立即菜单中选择“拾取两点”方式。拾取粗加工/精加工的刀具轨迹,按右键结束。

3.拾取两角点。拾取模具的两个对角点,系统立即将进行加工仿真。

4.仿真过程中,系统显示走刀速度。仿真结束后,拾取点观察仿真截面。

5.单击鼠标右键,弹出“选择仿真文件”对话框,输入文件名,单击“保存”,存储可乐瓶加工仿真的结果。

6.仿真检验无误后,单击“文件”-“保存”,保存粗加工和精加工轨迹。

3.1.95.2.5 生成G代码

1.选择【应用】-【后置处理】-【生成G代码】命令,弹出“选择后置文件”对话框,填写加工代码文件名“可乐瓶底粗加工”,单击“保存”。

2.拾取生成的粗加工的刀具轨迹,按右键确认,立即弹出粗加工代码文件保存即可。

3.样方法生成精加工G代码。

3.1.10 5.2.6 生成工序单

1.选择【应用】-【后置处理】-【生成工序单】命令,弹出“选择HTML文件名”

对话框,输入文件名“可乐瓶底加工”,单击“保存”。

2.左下角提示拾取加工轨迹,用鼠标选取或用窗口选取或按“W”键,选中全部刀具轨迹,点右键确认,立即生成加工工艺单。生成和结果如图所示。

究竟用哪一种加工方式来生成轨迹,要根据所要加工形状的具体特点,不能一概而论。对于本例来说,参数线方式加工效果最好。最终加工结果的好坏,是一个综合性的问题,它不单纯决定于程序代码的优劣,还决定于加工的材料,刀具,加工参数设置,加工工艺、机床特点等等。几种因素配合好了我们才能够得到最好的加工结果。

MATLAB课后实验答案

%实验一MATLAB运算基础 %第一题%(1) z1=2*sin(85*pi/180)/(1+exp(2)) %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2)) %(3) a=-3.0:0.1:3.0; z3=(exp(0.3*a)-exp(-0.3*a))/2.* sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t>=0&t<1)+(t.^2-1).*( t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t <3)%第二题 A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; A+6*B A-B+eye(size(A)) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2]%第三题 A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] C=A*B F=size(C) D=C(F(1)-2:F(1),F(2)-1:F(2)) whos%第四题 %(1): A=100:999; B=rem(A,21); C=length(find(B==0)) %(2): A='lsdhKSDLKklsdkl'; k=find(A>='A'&A<='Z'); A(k)=[] %实验二MATLAB矩阵分析与处理 %第一题 E=eye(3); R=rand(3,2); O=zeros(2,3); S=diag([2,3]);%判断AB是否相等 A=[E,R;O,S];A^2 B=[E,(R+R*S);O,S^2] %第二题 H=hilb(5) P=pascal(5) Hh=det(H) Hp=det(P) Th=cond(H) Tp=cond(P) %第三题: A=fix(10*rand(5)) H=det(A)Trace=trace(A) Rank=rank(A)Norm=norm(A) %第四题: A=[-29,6,18;20,5,12;-8,8,5] [V,D]=eig(A)%数学意义略 %第五题方法一: %(1): A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4, 1/5,1/6]; b=[0.95,0.67,0.52]'; x=inv(A)*b %(2): B=[0.95,0.67,0.53]'; x=inv(A)*B %(3): cond(A) %第五题方法二: A=hilb(4) A(:,1)=[] A(4,:)=[] B=[0.95,0.67,0.52]'; X=inv(A)*B B1=[0.95,0.67,0.53]'; X1=inv(A)*B1 N=cond(B) N1=cond(B1) Na=cond(A) %矩阵A为病态矩阵 %第六题 A=[1,4,9;16,25,36;49,64,81] B=sqrtm(A) C=sqrt(A) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算 %实验三选择程序结构设计 %第一题程序一 x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5. 0]; y=[]; %建立存放所有y值的矩阵

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询: 1.检索王丽同学所学课程的课程号和课程名。 select Cno ,Cname from c where Cno in (select cno from sc where sno in (select sno from s where sname='王丽' )) 2.检索年龄大于23岁的男学生的学号和姓名。 select sno,sname from s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.wendangku.net/doc/3b12180421.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.wendangku.net/doc/3b12180421.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

实验指导书

Matlab实验指导书 河北大学电子信息工程学院 2004年1月

目录 MATLAB实验教学计划 (2) 实验一MATLAB基本操作 (3) 实验二MATLAB图形系统......................................................... . (5) 实验三 MATLAB程序设计 (6) 实验四 MATLAB基本应用领域 (7) 实验五设计性综合实验1---数字信道编译码 (14) 实验六设计性综合实验2---fir滤波器设计................................. . (16) 2

MATLAB实验教学计划 指导教师:郑晓昆薛文玲王竹毅学时数:12学时周4学时2次实验,共3周6次实验,第7—9教学周,每次实验2学时 所用仪器设备:MATLAB7.0实验软件系统 实验指导书:Matlab实验指导书 自编 实验参考书:, 楼顺天等编著, 西安电子科大出版社,06年5月第二版 实验项目: A, MATLAB基本操作 内容:矩阵操作,基本数学函数,逻辑函数操作等; 要求:循序渐进完成P83练习题1—10 B, MATLAB图形系统 内容:图形绘制,图形标注,对数和极坐标,坐标轴控制,颜色控制等要求:循序渐进完成P146练习题1—10 C, MATLAB程序设计 内容:脚本script和函数function认识,流程控制,参数交互输入,基本程序设计技巧练习,程序调试DEBUG等 要求:循序渐进完成P184练习题1—10 D, MATLAB基本应用领域 内容:线性代数,多项式与内插,曲线拟合,数据分析与统计,泛函基础等 要求:循序渐进完成P146练习题1—4,6—19 E, 设计性综合实验----数字信道编译码 内容:1数字通信系统信道编码AMI编译码 2数字通信系统信道编码HDB3编译码 F,设计性综合实验----fir滤波器设计 内容:设计一个有限冲击相应数字滤波器FIR是该滤波器能够滤出规定频率以上的信号,而该频率以下的信号不受影响。 3

实验5(答案)

实验五 连续系统分析 一、实验目的 1.深刻理解连续时间系统的系统函数在分析连续系统的时域特性、频域特性及稳定性中的重要作用及意义,掌握根据系统函数的零极点设计简单的滤波器的方法。 2.掌握利用MATLAB 分析连续系统的时域响应、频响特性和零极点的基本方法。 二、实验原理及内容 MATLAB 提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。 1. 连续系统的时域响应 连续时间LTI 系统可用如下的线性常系数微分方程来描述: ) ()( )()(01)1(1)(t y a t y a t y a t y a n n n n ++++-- )()( )()(01)1(1)(t x b t x b t x b t x b m m m m ++++=-- 已知输入信号x (t )以及系统初始状态)0(,),0('),0()1(----n y y y ,就可以求出系统的响应。 MATLAB 提供了微分方程的数值计算的函数,可以计算上述n 阶微分方程描述的连续系统的响应,包括系统的单位冲激响应、单位阶跃响应、零输入响应、零状态响应和完全响应。 在调用MATLAB 函数时,需要利用连续系统对应的系数函数。对微分方程进行Laplace 变换即可得系统函数: 1110111)()()(a s a s a s a b s b s b s b s X s Y s H n n n n m m m m ++++++++==---- 在MATLAB 中可使用向量和向量分别保存分母多项式和分子多项式的系数: ],,,,[011a a a a a n n -= ],,,,[011b b b b b m m -= 这些系数均按s 的降幂直至s 0排列。 ● 连续系统的单位冲激响应h (t )的计算 impulse(sys)计算并画出系统的冲激响应。 参数:sys 可由函数tf(b,a)获得。其中: ],,,,[011a a a a a n n -= ],,,,[011b b b b b m m -= h=impulse(sys, t) 计算出系统在向量t 定义的区间上的冲激响应, 向 量h 保存对应区间的系统冲激响应的输出值。 ● 连续系统的单位阶跃响应g (t )的计算 step(sys)计算并画出系统的阶跃响应。

大一C语言上机实验试题和答案

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P79) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d);

C语言上机综合实验一及答案

1、编制程序,输入n 个整数(n 从键盘输入,n>0),输出它们的偶数和。 2、 编程,输入n 后:输入n 个数,根据下式计算并输出y 值。 3、输入一行字符,统计并输出其中英文字母、数字字符和其他字符的个数。 4、编写程序,输入一个正整数n ,计算并输出下列算式的值。要求定义和调用函数total(n)计算1+1/2+1/3+……+1/n ,函数返回值的类型是double 。 5、输入一个正整数n ,求1+1/2!+1/3!+……1/n!的值,要求定义并调用函数fact(n)计算n 的阶乘,函数返回值的类型是单精度浮点型。 答案: 程序1、 #include void main () { int n,i,x,sum=0; while(scanf("%d",&n),n<=0); printf ("请输入%d 个数:", n); for (i=1; i<=n ;i++) { scanf("%d",&x); if(x%2==0) sum+=x; } printf ("sum=%d", sum) ; } 程序2、 #include #include void main( ) { int i,n; float x,y; scanf(“%d”,&n); for(i=1;i<=n;i++){ scanf(“%f”,&x); if(x<-2) y=x*x-sin(x); else if(x<=2) y=pow(2,x)+x; else y=sqrt(x*x+x+1); printf(“%f \n”,y); } } 程序3、 # include void main( ) { int letter,digit,other; ?????>++≤≤-+-<-=2 12222sin 22x x x x x x x x y x 111111...23n k s k n ===++++∑

实验五数值积分参考答案

一 实验目的: 1 加深理解积分理论中分割、近似、求和、取极限的思想方法; 2 了解定积分近似计算的矩形法、梯形法与抛物线法; 3 会用MATLAB 语言编写求定积分近似值的程序,会用MALAB 中的命令求定积分。 二 实验准备素材 见附件。 三 实验内容 1.(不定积分)用int 计算下列不定积分,并用diff 验证 ?dx x x 2 sin ,?+x dx cos 1,?+1x e dx ,?xdx arcsin ,?xdx 3sec 2.(定积分)用trapz,int 计算下列定积分 ?10sin dx x x ,?10dx x x ,?π20)2sin(dx x e x ,?-102dx e x 3.(椭圆的周长) 用定积分的方法计算椭圆1492 2=+y x 的周长 4.(二重积分)计算积分??≤+++y y x dxdy y x 222)1( 5. (广义积分)计算广义积分 ?∞∞-+-dx x x 421)exp(,?10)tan(dx x x ,?-1021sin dx x x 7.1 syms x; g1=int(x.*sin(x).*sin(x)) g1 = x*(-1/2*cos(x)*sin(x)+1/2*x)+1/4*sin(x)^2-1/4*x^2

clear;syms x; d1=diff(x*(-1/2*cos(x)*sin(x)+1/2*x)+1/4*sin(x)^2-1/4*x^2) syms x; g2=int(1/(1+cos(x))) g2 = tan(1/2*x) clear;syms x; d2=diff(tan(1/2*x)) syms x; g3=int(1/(exp(x)+1)) g3 = log(exp(x))-log(exp(x)+1) clear;syms x; d3=diff(exp(x))-log(exp(x)+1)) syms x; g4=int(finverse(sin(x))) g4 = x*asin(x)+(1-x^2)^(1/2) clear;syms x; d4=diff(x*asin(x)+(1-x^2)^(1/2)) syms x; g5=int(sec(x).^3) g5 = 1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear;syms x; d5=diff(1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x))) 7.2 x=10e-100:0.001:1; y=sin(x)./x; trapz(x,y) clear all;syms x;

华南农业大学C语言实验上机实验第四版参考答案

C语言程序设计上机实验指导与习题 参考答案(第四版) (学生改编) 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用在线评判系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入visual c++ ,编译、连接和运行该程序。 #include"stdio.h" main() { printf("The first C Program\n"); } [具体操作步骤] (1)在编辑窗口中输入程序。 (2)保存程序,取名为 a1.c。 (3)按照第一章中介绍的方法,编译、连接和运行程序。 (4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。

2. 在在线评判系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, #include "stdio.h" main() { int a, b; scanf("%d%d", &a, &b); printf("%d", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为 a2.c。 (3)按照前二章中介绍的方法,编译、连接和运行程序。 (4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入在线评判系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。 3 实验 2 基本数据类型、运算和表达式 一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运 算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目 1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。#include "stdio.h" main() { int a, b; /*定义整型变量a和b*/

UML实验指导书

UML 实验指导书

目录 实验一UML建模基础 (3) 实验二用例图 (4) 实验三UML类图 (9) 实验四对象图 (13) 实验五包图 (14) 实验六状态图 (17) 实验七活动图 (21) 实验八时序图与协作图 (22) 实验九组件图 (26)

实验一UML建模基础 [实验目的和要求] 1、熟悉UML建模工具Rational Rose的基本菜单及操作。 2、掌握UML的三大组成部分及各部分作用。 3、掌握UML规则和相关机制。 4、掌握UML的可见性规则和构造型的作用。 [实验内容和步骤] 1、练习使用建模工具建立各种UML图形,并对图形进行相应编辑 和修改。 2、认识各种UML关系及可见性符号,并用工具表示出来。 [分析与讨论] 1、总结UML在软件工程中的作用以及使用UML建模的必要性。

实验二用例图 [实验目的和要求] 1、掌握用例的概念。 2、掌握UML用例图的组成、作用以及使用场合。 3、掌握用例与用例之间的各种关系。 4、学习针对具体场景使用用例图进行分析说明的方法。 5、掌握用例描述的概念和基本结构,以及用例描述的作用。 [实验内容和步骤] 1、什么是用例,什么是场景?用例和场景之间的关系是怎样的? 用例是用户希望系统具备的功能,它定义了系统的行为特征。 2、用例图中有哪些组成元素?在UML中是如何表示的? 用例图的组成元素有参与者、用例、关系、系统。 3、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它们之间有何区别?对以上三种关系各举一例,画出用 例图,并进行说明。 用例与用例之间的包含关系实际上就是面向对象语言中对象之间的调用关系,扩展关系实际上就是一种依赖的关系,泛化关系实际上就是面向对象中的继承关系。 4、为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理 系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动 更新、权限管理、到期用户管理、房源组合查询等功能。该公 司小王,通过多次的与潜在客户的交流与沟通,完成了最初的 用例模型的开发,下是一个用例模型的局部:

实验五 连接查询参考答案

--创建学生视图 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_stu]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view [dbo].[v_stu] go create view v_stu as select sid, sname, ssexy, sbdate, Datediff(year, sbdate, getdate()) as sage, stele, ugrade.gid, gname, gyear, udept.did, dname, daddr, dtele, demail, uteacher.tid, tname, tsexy, tbdate, tfield, tprof, tele, qq, email, msn from ustudent, ugrade, udept, uteacher where ustudent.gid=ugrade.gid and ugrade.did=udept.did and ugrade.tid=uteacher.tid --创建选修课程视图 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_sc]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view [dbo].[v_sc] go create view v_sc as select ustudent.sname, usc.*, cname, credit, pcid, chour, cattr, cnum from ustudent, usc, ucourse where ustudent.sid=usc.sid and usc.cid=ucourse.cid --1、显示所有学生的详细信息,包括学号、姓名、性别、年龄、班级名称,入学年份select sid, sname, ssexy, sage, gname, gyear from v_stu --2、显示信息科学与技术系同学的名单,包括学号、姓名、性别、年龄、班级名称、入学年份 select sid, sname, ssexy, sage, gname, gyear from v_stu where dname='信息科学与技术系' --3、显示选修了“数据库”的所有同学的学号、姓名 select sid, sname from v_sc where cname='数据库' --4、显示白云同学的班主任老师的姓名、联系电话 select tname, tele from v_stu

Matlab上机实验答案 (1)

Matlab上机实验答案 实验一MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/200)/(1+exp(2)) z1 = 0.2375 >> x=[2 1+2i;-0.45 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = 0.7120 - 0.0253i 0.8968 + 0.3658i 0.2209 + 0.9343i 1.2041 - 0.0044i 2.9,,2.9, 3.0

>> a=-3.0:0.1:3.0; >> z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) (>> z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 0.7388 + 3.2020i 0.7696 + 3.2020i 0.7871 + 3.2020i 0.7920 + 3.2020i 0.7822 + 3.2020i Columns 6 through 10 0.7602 + 3.2020i 0.7254 + 3.2020i 0.6784 + 3.2020i 0.6206 + 3.2020i 0.5496 + 3.2020i Columns 11 through 20 0.4688 + 3.2020i 0.3780 + 3.2020i 0.2775 + 3.2020i 0.2080 + 3.2020i 0.0497 + 3.2020i

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

erdas实验5指导书

实验5 某地区的遥感影像分类 1.实验目的和要求 a)了解非监督分类和监督分类的原理和背景知识; b)掌握非监督分类和监督分类的过程和方法; c)了解并掌握监督分类中的样本训练方法、分类决策规则和分类结果评估 方法; d)能够利用非监督分类和监督分类技术提取某一研究区土地覆盖类型(植 被、水体、建筑用地、裸地等),并计算各地类的面积、覆盖率等指标。 2.实验设备和数据 a)实验设备:高性能计算机;Erdas Imagine遥感图像处理软件 b)实验数据:Landsat TM数据 3.实验内容 a)分析、认识研究区域Landsat TM数据基本地物类型,建立分类体系; b)根据分类体系,利用非监督分类方法对研究区域Landsat TM数据进行分 类; c)根据分类体系,利用监督分类方法完成研究区域Landsat TM数据分类及 分类结果评价; d)对比非监督分类和监督分类结果的差异,并分析原因。 4.实验步骤参考 1.分类过程 在Erdas Imagine主菜单中选择Classifier,在其下拉菜单中选择Unsupervised Classification,利用其弹出对话框完成非监督分类; Signature Editor——样本编辑器 Unsupervised Classification——非监督分类

输出分类文件输出样本文件 分类数 收敛域值 注意问题:实际工作中常将分类数目取为最终分类数目的两倍;收敛域值是指两次分类结果相比保持不变的像原所占最大百分比。 2 、分类评价(Evaluate Classification ) 打开新的窗口,同时导入非监督分类后的图和原始分类影像;在视窗工具条 标,弹出Raster Attribute Editor对话框,如下图:

数据结构上机实验答案

《数据结构实验指导书》答案 实验一: 1、请编写函数int fun(int *a, int *b),函数的功能是判断两个指针a和b所指存储单元的值 的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。在主函数中输入2个整数、调用函数fun、输出结果。 #include int fun(int *a, int *b) { if (*a*(*b)>0) return(1); else return(0); } main() { int x,y; scanf("%d%d",&x,&y); if (fun(&x,&y)) printf("yes\n"); else printf("no"); } 2、计算1+2+3+……+100,要求用指针进行设计。即设计函数int fun(int *n)实现求 1+2+3+……+*n,在主函数中输入、调用、输出结果。 #include int fun(int *n) { int i,sum=0; for (i=1;i<=*n;i++) sum+=i; return(sum); } main() { int x,sum; scanf("%d",&x); printf("the sum is %d\n",fun(&x)); } 3、函数的功能是求数组a中最大数的位置(位序号)。在主函数中输入10个整数、调用函

数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i*max) max=a+i; return(max-a); } main() {int a[N],maxi; input(a,N); maxi=fun(a,N); printf("\n the max position is %d\n",maxi); } 4、请编写函数fun(int *a,int n, int *odd, int *even),函数的功能是分别求出数组a中所有奇数之和和所有偶数之和。形参n给出数组中数据的个数;利用指针odd和even分别返回奇数之和和偶数之和。在主函数中输入10个整数、调用函数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i

C#上机实验题目和答案8

(1)创建一个控制台应用程序,在程序中定义一个公共接口IMyInterface,该接口中包含两个方法,一个是DoSomething(),另一个是DoSomethingElse();另外再定义一个类MyClass,该类实现了接口IMyInterface,在DoSomething()方法中向控制台输出“Do something.”,在DoSomethingElse()方法中向控制台输出“Do something else.”在Program类中的Main()方法中实例化MyClass 的对象和定义一个接口变量,通过对象和接口变量来访问这两个方法。 (2)创建一个控制台应用程序,在程序中定义了一个接口IIfc1,该接口包含一个无返回值,且带一个字符串类型的参数的方法PrintOut();在程序中定义了另一个接口IIfc2,该接口中也包含一个无返回值,且带一个字符串类型的参数的方法PrintOut();程序中还定义了一个类MyClass,该类以类级别和显式接口成员两种方式实现了这两个接口。在Program类的Main()方法中分别以类对象的引用和两个接口对象的引用来调用PrintOut()方法。 (3)创建一个控制台应用程序,求一个方阵的对角元之和。 1. using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { public interface IMyInterface { void DoSomething(); void DoSomethingElse(); } class MyClass : IMyInterface { public void DoSomething() { Console.WriteLine("Do Something."); } public void DoSomethingElse() { Console.WriteLine("Do Something Else."); } } class Program { static void Main(string[] args) { MyClass MC = new MyClass(); MC.DoSomething();

计算机网络实验上机指导书实验五

计算机网络上机指导书昆明理工大学信自学院

实验五:静态路由实验 【实验目的】 1.了解静态路由的基本原理 2.掌握静态路由的配置流程,熟悉静态路由的配置命令 3.掌握测试静态路由连通性的方法 【实验学时】 建议3学时 【实验原理】 静态路由是指由用户或网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在缺省情况下是私有的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。 静态路由的缺点在于:当网络发生故障或者拓扑发生变化后,静态路由不会自动改变,必须有管理员的介入。 配置IPv4静态路由时,需要了解以下内容: ●目的地址与掩码 在ip route-static命令中,IPv4地址为点分十进制格式,掩码可以用点分十进制表示,也可用掩码长度(即掩码中连续‘1’的位数)表示。 ●出接口和下一跳地址 在配置静态路由时,可指定出接口interface-type interface-name,也可指定下一跳地址nexthop-address,是指定出接口还是指定下一跳地址要视具体情况而定。实际上,所有的路由项都必须明确下一跳地址。在发送报文时,首先根据报文的目的地址寻找路由表中与之匹配的路由。只有指定了下一跳地址,链路层才能找到对应的链路层地址,并转发报文。 在某些情况下,如链路层被PPP封装,即使不知道对端地址,也可以在路由器配置时指定出接口。这样,即使对端地址发生了改变也无须改变该路由器的配置。 ●其它属性 对于不同的静态路由,可以为它们配置不同的优先级preference,从而更灵活地应用路由管理策略。例如:配置到达相同目的地的多条路由,如果指定相同优先级,则可实现负载分担,如果指定不同优先级,则可实现路由备份。 缺省路由是在没有找到匹配的路由表入口项时才使用的路由。在路由表中,缺省路由的目的地址和子网掩码都是0.0.0.0。在使用ip route-static配置静态路由时,如果将目的地址与掩码配置为全零(0.0.0.0

C语言实验参考答案11

C语言实验参考答案 实验一 5、输入并运行自已编写的程序(教材第一章P14 三编程题)。 实验二 1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。 #include main() {float x,y,z,s,t,a; printf(“x,y,z=”); scanf(“%f,%f,%f”,&x,&y,&z); s=x+y+z; t=x*y*z; a=s/3; printf(“s=%f,t=%f,a=%f\n”,s,t,a); } 2、编程。要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后: 1)用整数输出这两个数的和、差; 2)用长整型输出这两个数的积,用float输出商; 3)用整数输出这两个数的余数,用float输出平均值。 #include

{int a,b,he,cha,yu; long ji; float shang,aver; printf(“a,b=”); scanf(“%d,%d”,&a,&b); he=a+b; cha=a-b; ji=(long)a*b; shang=1.0*a/b; yu=a%b; aver=(a+b)/2.0; printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji); printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver); } 3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明。 程序同上。 实验三 1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。 #include

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

华南农业大学C语言实验上机实验第四版参考答案

华南农业大学C语言实验上机实验第四版参考答案 (4) C语言程序设计计算机实验教学与练习 参考答案(第4版) 实验1 C语言程序初步1、实验目的 (1)了解所用计算机系统的基本操作方法并学会独立使用该系统(2)了解如何在系统上编辑、编译、连接和运行C程序(3)通过运行一个简单的C程序,初步了解C程序的特点。(4)在教师的指导下,学会使用在线评价系统 2,实验内容 1。运行第一个C程序 [标题:第一个C程序] 将下列程序输入visual c++,编译、连接并运行该程序# include \ main(){ printf(\ } [具体操作步骤] (1)在编辑窗口中输入程序(2)保存程序,命名为a1.c (3)根据第1章中描述的方法编译、连接和运行程序。 (4)按照第3章描述的方法将代码提交到在线评估系统,系统返回“通过”,问题完成

2。在线测评系统中提交了一个程序 [话题1001:计算a+b] ,实现了计算a+b的功能。键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下,#include \main() { int a,b; scanf(\ printf(\ } (1))在程序编辑窗口中输入程序(2)保存程序,命名为a2.c (3)根据前两章描述的方法编译、连接和运行程序(4)在程序操作过程中,输入1530 ↙ (?表示输入回车) (5)如果看到以下输出结果,则表明15+30的结果是正确的。如果您无法获得以下结果,您需要检查并更正程序45 (6)根据第3章介绍的方法进入在线评估系统。 (7)显示主题列表,点击标题为1001且标题为“计算a+b”的主题 (8)查看主题要求后,点击页面底部的“sumbit”,参照第二章提交程序的方法提交程序a2.c。 (9)检查判断结果,如果获得”接受”,则问题通过,否则返回第一步检查程序是否正确。3 实验2基本数据类型、运算和表达式1、实验目的 (1)掌握c语言数据类型,熟悉如何定义整数和实变量,以及如何给它们赋值(2)掌握不同类型数据之间的分配规律 (3)学会使用C的相关算术运算符和包含这些运算符的表达式,尤

相关文档
相关文档 最新文档