线性方程组的求解 ——计算机课程设计.doc_第1页
线性方程组的求解 ——计算机课程设计.doc_第2页
线性方程组的求解 ——计算机课程设计.doc_第3页
线性方程组的求解 ——计算机课程设计.doc_第4页
线性方程组的求解 ——计算机课程设计.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

测试与光电工程学院课程设计任务书 测控技术与仪器系107773班 学号7777 姓名 课题名称: 求线性代数方程组的解 课题要求: 本课程设计在训练和提高学生综合运用vb、c等语言进行编程的能力的同时,可使学生对求解线性代数方程组的消去法和迭代法有更为深入的理解。本课题的基本内容有: 1、设置一个提示语句提示输入方程的个数; 2、设置一个提示语句提示输入未知数的个数; 3、准确、快速的计算出所输入方程组的解,并显示出来。课题进程:1. 迭代法与高斯消去法解线性方程组的算法分析 2天2. 分别用vc、vb编程实现线性代数方程组的求解 5天3. 软件调试和测试,提出改进方案,并进行对比分析 2天4. 撰写课程设计报告 4天 指导教师: 摘要 许多源于工程技术方面的数学问题,都可以归结为解求线性方程组。因此在各种数据处理中,线性方程组的求解是最常见的问题之一。 针对求解线性代数方程组,本文提出了两种解法:迭代法和高斯消去法。迭代法程序设计简单,可以实现高精度,本文用vc编程实现。高斯消去法数值较稳定,克服了迭代数据易溢出的缺点,本文用vb编程实现。相比vc,vb界面更美观,可视性和实用性好,更适合于此款计算软件。 本文中的程序能快速求解出10 维以下线性代数代数方程组的解,在迭代法vc程序中提示精度且显示迭代过程,在vb高斯消去法软件根据线性方程组的维数显示输入框,并依次显示计算结果。可以重复计算。两款程序都能保证一定的高精度。这将为计算者带来很大的方便。关键词:高斯消去法,迭代法,线性方程,动态数组 指导老师签名:目录一.设计要求 4二.设计的目的意义 4三.设计思想 53.1确定方法 53.2数据分析 63.3算法分析 6四.软件的编制和调试 84.1用迭代法在VC环境下开发 84.1.1VC环境介绍 84.1.2程序流程图 104.1.3程序主代码 104.1.4程序运行图 134.1.5程序说明 144.1.6程序改进方向 144.2用高斯消去法在VB环境下开发 154.2.1VB环境介绍 154.2.2程序流程图 184.2.3程序主代码 194.2.4程序运行图 234.2.5程序说明 244.2.6程序改进方向 245. 总结 256. 致谢 25七.参考文献 26附录 26一.设计要求 要求设计一个简便的科学计算软件可以实现线性代数方程组的求解,软件功能要求如下: 1、设置一个提示语句提示输入方程的个数; 2、设置一个提示语句提示输入未知数的个数; 3、准确、快速的计算出所输入方程组的解,并显示出来。二.设计的目的意义 许多源于工程技术方面的数学问题,都可以归结为解求线性方程组。因此在各种数据处理中,线性方程组的求解是最常见的问题之一。因此设计一种实用的解线性方程组软件可以给计算带来很大的便利,提高人们的工作效率。三.设计思想3.1 确定方法 可以使用高斯消去法和迭代法。 迭代法不仅具有程序设计简单,适于自动计算,而且较直接法更少的计算量就可获得满意的解。因此,迭代法亦是求解线性方程组,尤其是求解具有大型稀疏矩阵的线性方程组的重要方法之一。 Gauss 消去法是解线性方程组的一种直接方法,有时也称为精确法,这种算法只包含有限四次运算,并且在每一步运算过程都不会发生舍入误差的假设下,计算的结果就是方程组的精确解。但实际计算中不可避免舍入误差的存在和影响,所以这种方法只能求得线性方程组的近似解。3.2编程思路线性方程组的一般形式是a*x=b,编写这种程序最重要的是算法,正确的编写求解函数高斯消元法首先把矩阵化为上三角阵,根据上三角阵的情况判断解的情况,如果有唯一解则输出结果。接下来是设计输入对话框,由于矩阵的维数不固定,要根据需要来显示。根据未知数的个数控制文本框显示的数目、按钮位置和窗口的大小。可以先创建两个text数组,一个用来输入a,一个用来输入b,另外还可以用两个标签来标记他们的位置,这当中可以用空格来控制。3.3算法分析 3.3.1高斯消去法 高斯消去法的基本思想是:对线性代数方程组所对应的增广矩阵(A|b)进行一系列“把某一行的非零常数倍加到另一行上”的初等变换,使得(A|b)中A的对角线一下的元素全变为0,从而使原方程组等价的转化为容易求解的上三角形线性代数方程组,再通过回代得到上三角形线性代数方程组的解,即可求得原方程组的解。设线性方程组的增广矩阵为: = 首先,在第一列中选取绝对值最大的元素 作为第一列的主元,即 ,然后交换第一行与第i行,经一次消元计算得:=(AB)。 重复上述过程,设已完成第k-1步的选主元素,交换两行及消元过程后(AB)已约化为 : 第k步选主元素,在右下角方阵的第一列内选取绝对值最大的元素作为这一列的主元,即 = ,然后交换的第i行与第k行,再进行消元计算。如此重复,直到最后将原线性代数方程组化为 : =回代求解得到 列主元消去法除了每步需要按列选出主元,然后进行对换外,其消去过程与高斯顺序消去法是相同的。 3.3.2迭代法迭代法的基本思想:是将线性方程组转化为便于迭代的等价方程组,对任选一组初始值(i=1,2n),按某种计算规则,不断地对所得到的值进行修正,最终获得满足精度要求的方程组的近似解。对于线性方程组Ax=b。其中,A为非奇异矩阵。将A分裂为A=M-N,其中,M为非奇异矩阵,且要求线性代数方程组Mx=d容易求解,一般选择为A的某一部分元素构成的矩阵,称M为A的分裂矩阵。于是,求解Ax=b转化为求解Mx=Nx+b,由此可构造一个迭代法:x(0)(初始向量), x(k+1)=Bx(k)+f,(k=0,1,2) 其中,f=b/M,B=I-A/M为迭代法的迭代矩阵。选取M为A的对角元素组成的矩阵,即选取M=D,可得到解Ax=b的雅克比迭代法:x(0)(初始向量),x(k+1)=Bx(k)+f (k=0,1,2) BJ为求解Ax=b的雅克比迭代法的迭代矩阵。解雅克比迭代法的计算公式为: (k=0,1,2,:i=1,2,3,.n)雅克比方法是求对称矩阵的全部特征值以及相应的特征向量的一种方法,它是基于以下两个结论:1)任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q使得 AQ=diag() 其中i(i=1,2,n)是A的特征值,Q中各列为相应的特征向量。2)在正交相似变换下,矩阵元素的平方和不变。即设,Q为交矩阵,记B=AQ=,则雅克比方法的基本思想:是通过一次正交变换,将A中的一对非0的非对角线化成0,并且使得非对角元素的平方和减小。反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于0,从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量。四.软件的编制和调试4.1 迭代法解线性方程组在VC6.0环境【3】下开发4.1.1 VC6.0环境介绍Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用有很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。特色:Visual C+6.0由Microsoft开发, 它不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Microsoft的主力软件产品。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。缺点:由于C+是由C语言发展起来的,也支持C语言的编译。6.0版本是使用最多的版本,很经典。最大的缺点是对于模版的支持比较差。现在最新补丁为SP6,推荐安装,否则易出现编译时假死状态。仅支持Windows操作系统。目前发现与windows 7兼容性不好,安装成功后可能会出现无法打开cpp文件的现象。4.1.2程序流程图结束图4.1.2a 程序流程图4.1.3迭代法VC核心编码struct Line *Change(struct Line*Lhead,int n)struct Line*p1,*p2,*p3,*p;struct Row*ptr;int i=1,k,j;float max,t;if(Lhead=NULL)printf(链表为空!n);exit(1);p2=Lhead;while(ihead;while(ptr!=NULL)if(ptr-R!=n+1)t+=fabs(ptr-x); if(maxx)max=fabs(ptr-x);k=ptr-R;ptr=ptr-link;t=t-max;if(maxL=k)p2=p2-next;else if(p2-Lk)printf(系数矩阵A不具有严格对角优势,该程序不能用Gauss-Jacobi迭代法解该方程组!n);exit(0);elsep3=Lhead;while(p3-L!=k)p3=p3-next;ptr=p3-head;p3-head=p2-head;p2-head=ptr;i+;return Lhead;void Deal(struct Line *Lhead,float e,int N,int n)struct Term*ptr; float Term;struct Line*p1; struct Row*current;float m=0,a,b,c=0; int k=0,i=0;if(Lhead=NULL)printf(链表为空n);exit(1);ptr=malloc(n*sizeof(Term);for(i=0;ix=0; (ptr+i)-m=0;printf(迭代过程的数据变化表如下:n);printf( K);4.1.2 程序运行图图4.1.4a 程序运行图图4.1.4b 程序运行图4.1.3 程序说明该程序用于10 次以下线性代数代数方程的求解,该程序的优点是能把每步的迭代结果输出(如图4.1.4),并且保证一定的精确度。运行速度快,算法收敛速度也快。最重要的是,它能实现循环计算,直到你点击右上角的红叉为止,这给计算者带来了一定的方便,也便于计算者对每次参数的变化输出结果有一定的对比。缺点是界面并不美观,系数的输入并没有那么的直观。4.1.4 程序改进方向 该程序还有很大的缺陷,在正常使用的情况下一般不会出现错误,但是当计算者没有正常输入或者因马虎输错了字符,该程序可能进入混乱计算界面,这些错误主要是因为溢出造成,所以在这方面可以做进一步改善。4.2 运用高斯消去法在VB环境【4】下开发4.2.1 VB环境介绍vb是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。VB编程语言历史Visual Basic从1991年诞生以来,现在已经20年了。Visual Basic 是微软的起家产品,微软当然不忘了这位功臣。随着每一次微软技术的浪潮,Visual Basic都会随之获得新生。可以预见,将来无论微软又发明了什么技术或平台,Visual Basic一定会首先以新的姿态登上去的。如果你想紧跟微软,永远在最新的技术上最快速地开发,你就应该选择Visual Basic。特点:面向对象VB采用了面向对象设计思想,它基本思路是把复杂的设计问题分解为多个能够完成独立功能且相对简单的对象集合。所谓“对象”就是个可操作实体如窗体、窗体中命令按钮、标签、文本框等,面向对象编程就是指程序员可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象并为每个对象设置属性。在VB. NET 2002和之后的版本,VB是完全支持面向对象的编程语言;而对于早期版本(6.0版和之前的版本),只能称作是基于对象的编程语言,原因是它不支持类的继承。事件驱动在Windows环境下是以事件驱动方式运行每个对象的都能响应多个区别事件,每个事件都能驱动段代码事件过程,该代码决定了对象功能。通常称这种机制为事件驱动的编程机制。可由用户操作触发也可以由系统或应用触发例如单击个命令按钮就触发了按钮Click(单击)事件该事件中代码就会被执行,若用户未进行任何操作(未触发事件)则就处于等待状态整个应用就是由彼此独立事件过程构成。软件Software集成式开发VB为编程提供了个集成开发环境,在这个环境中编程者可设计界面、编写代码、调试直至把应用编译成可在Windows中运行的可执行文件,并为它生成安装VB集成开发环境,为编程者提供了很大方便。结构化设计语言VB具有丰富数据类型是种符合结构化设计思想语言而且简单易学此外作为种设计语言VB还有许多独到的处。强大数据库访问功能VB利用数据Control控件可以访问多种数据库VB 6O提供ADOControl控件不但可以用最少代码实现数据库操作和控制也可以取代DataControl控件和RDOControl控件。支持对象链接和嵌入技术VB核心是对对象链接和嵌入(OLE)技术支持它是访问所有对象种思路方法利用OLE技术能够开发集声音、图像、动画、字处理、Web等对象于一体的功能强大的软件。网络功能VB 6.0提供了DltTML(DynamictTML)设计工具利用这种技术可以动态创建和编辑Web页面使用户在VB中开发多功能网络应用软件Software。多个应用向导VB提供了多种向导如应用向导、安装向导、数据对象向导和数据窗体向导通过它们可以快速地创建区别类型、区别功能应用。4.2.2 程序流程图=0?No;(i=k+1,,n;j=k+1,,n+1) 开始 输入A矩阵 k=1Yesk d Then d = Abs(a(i, j) js(k) = j iss = i End If Next j Next i If d + 1# = 1# Then l = 0 Else If js(k) k Then For i = 1 To NN t = a(i, k) a(i, k) = a(i, js(k) a(i, js(k) = t Next i End If If iss k Then For j = 1 To NN t = a(k, j) a(k, j) = a(iss, j) a(iss, j) = t Next j t = b(k) b(k) = b(iss) b(iss) = t End If End If If l = 0 Then MsgBox (guass fail at 1.请正确输入。) Exit Sub End If For j = k + 1 To NN a(j, k) = a(j, k) / a(k, k) For i = k + 1 To NN For m = k + 1 To NN a(i, m) = a(i, m) - a(i, k) * a(k, m) Next m b(i) = b(i) - a(i, k) * b(k) a(i, k) = 0 Next i Next j Next k If Abs(a(n, n) = 0 Then l = 0 MsgBox (guass fail at 2) Exit Sub End If x(n) = b(n) / a(n, n) For i = n - 1 To 1 Step -1 t = 0# For j = i + 1 To NN t = t + a(i, j) * x(j) Next j x(i) = (b(i) - t) / a(i, i) Next i js(n) = NN - 1 For k = NN - 1 To 1 Step -1 If js(k) k Then t = x(k) x(k) = x(js(k) x(js(k) = t End If Next k End Sub 4.2.4 程序运行图 图4.2.4a 程序运行图图4.2.4b 程序运行图4.2.5 程序说明该程序可以完成10维以下的线性代数方程的求解,运算时先输入未知数的个数,点击确定按钮,界面会生成相应数量的文本框,填入数组矩阵后点击计算按钮,在结果标签栏便会顺序出现结果。该程序的优点是有直观的输入界面(如图4.2.4),能多次清零再进行计算,计算结果有一定的精度。并且每个输入框都有输入限制,只允许数字和正负号的输入,避免程序输入错误而导致运算出错。缺点是容错能力差,输入界面略显粗糙。不过总的来说,以该程序小巧简单的界面来说,用来求解高次方程还是给人一种非常舒服的感觉。4.2.6 程序改进方向该程序比较完美,唯一不足的就是没法把每步的迭代结果输出。接着还有一点小地方可以因个人习惯进行改进,就是当输入错误时,让程序弹出一个弹窗提示错在哪里。这些都可以因不同的要求进一步的去改进。4.3两种方法优缺点的比较迭代法具有循环的计算式,方法简单,程序实现方便,能充分利用系数的稀疏性,适宜解大型稀疏矩阵方程组。迭代法不存在误差累积问题。使用迭代法的关键问题是其收敛性与收敛速度,收敛性与迭代初值的选取无关。雅克比迭代法的收敛条件是: 为精度要求高斯列主元消去法特点是每次在系数矩阵中依次按列在主对角线以下的元素中,选取绝对值最大的元素作为主元,将它调至主对角线上,然后用它去消去对角线以下的元素,最后变为同解的上三角形方程组求解。如果那一列的所有元素都为0,则说明该方程组解不唯一。高斯列主元消去法计算简单,工作量大为减少,且计算经验与理论分析均表明,它具有良好的数值稳定性,故列主元法是求解中小型稠密线性方程组的最好方法之一。 五.总结通过本次课程设计,进一步学会迭代方法和消去法的数学思想,并对程序代码进行解析与改进,这对于我们以后学习和研究实际问题具有重要的意义。本课题运用所学的数学专业知识来研究,有助于我们进一步掌握大学数学方面的知识,特别是迭代方法。通过这个课题的研究,我进一步掌握了迭代方法的思想,以及程序的解析与改进,对于今后类似实际问题的解决具有重要的意义。对V B ,VC开发环境也有了主观上的认识。从中遇到了很多困难,从刚开始的无从下手,到现在油然而生的成就感,这个过程或者说这个经历让我学到了很多知识。当我们遇到困难的时候,可以求助老师,也可以求助互联网,但是退缩是不对的,因为一旦退缩,那么我们将失去一个锻炼,提升自己能力的机会。虽然这个课程设计很难,但我通过不断探索,查找了各种相关资料,最终在老师的指导下和同学的帮助下,我成功完成了该课程设计,也将为我以后的毕业设计打下基础。六.致谢这次课程设计能够圆满的结束,在次,我衷心的感谢我的指导老师程强强,给了我很大的帮助与启发,提供并介绍给我们一些很有用的资料书,无论是在这次设计过程 ,还是以后走出社会都很有用。同时感谢本班同学的建议与帮忙,以及感谢在网上默默帮助我不留名字的那些人。我此次计算机课程设计的完成与你们每一个人分不开七参考文献1 徐士良,常用程序集(C 语言描述)(第三版),清华大学出版社,2 004-11-1,167页2颜庆津,数值分析( 第3 版) ,北京航天航空大学出版社,2 006-7-1,153页3 该书编委会,Visual Basic 6.0/.Net 精彩编程150例(),西北工业大学出版社,2004-05-014 百度VB百科/view/3063.htm5 刘彬彬,安剑,V B 从入门到精通( 第2 版 ) ,清华大学出版社,2010-07-01附录1.VC完整程序#include#include#include struct Lineint L;struct Row *head;struct Line *next; struct Rowint R;float x;struct Row *link; ;/建立每次迭代结果的数据存储单元struct Term float x; float m; struct Line *Create(int Line,int Row)struct Line *Lhead=NULL,*p1=NULL,*p2=NULL;struct Row*Rhead=NULL,*ptr1,*ptr2=NULL;int i=1,j=1;float X;while(i=Line)while(jx=X;ptr1-R=j;if(ptr2=NULL)ptr2=ptr1;Rhead=ptr1;elseptr2-link=ptr1;ptr2=ptr1;j+;if(ptr2!=NULL)ptr2-link=NULL;ptr2=NULL;if(Rhead!=NULL)p1=(struct Line*)malloc(sizeof(Line); if(p1=NULL)printf(内存分配错误!n);exit(1); p1-L=i; p1-head=Rhead;if(p2=NULL)Lhead=p1;p2=p1;elsep2-next=p1;p2=p1;i+;Rhead=NULL;j=1;if(p2!=NULL)p2-next=NULL;return Lhead;struct Line *Change(struct Line*Lhead,int n)struct Line*p1,*p2,*p3,*p;struct Row*ptr;int i=1,k,j;float max,t;if(Lhead=NULL)printf(链表为空!n);exit(1);p2=Lhead;while(ihead;while(ptr!=NULL)if(ptr-R!=n+1)t+=fabs(ptr-x); if(maxx)max=fabs(ptr-x);k=ptr-R;ptr=ptr-link;t=t-max;if(maxL=k)p2=p2-next;else if(p2-Lk)printf(系数矩阵A不具有严格对角优势,该程序不能用Gauss-Jacobi迭代法解该方程组!n);exit(0);elsep3=Lhead;while(p3-L!=k)p3=p3-next;ptr=p3-head;p3-head=p2-head;p2-head=ptr;i+;return Lhead;void Deal(struct Line *Lhead,float e,int N,int n)struct Term*ptr;float Term;struct Line*p1;struct Row*current;float m=0,a,b,c=0;int k=0,i=0;if(Lhead=NULL)printf(链表为空n);exit(1);ptr=malloc(n*sizeof(Term);for(i=0;ix=0;(ptr+i)-m=0;printf(迭代过程的数据变化表如下:n);printf( K);for( i=1;i=n;i+)printf( X%d,i);printf(n %d,k);for( i=0;ihead;while(current!=NULL)if(current-link=NULL)b=current-x;else if(current-R=p1-L)a=current-x;else c+=(current-x)*ptr(current-R)-1.x;current=current-link;ptr(p1-L)-1.m=(b-c)/a-ptr(p1-L)-1.x;if(mL)-1.m)m=fabs(ptr(p1-L)-1.m);ptr(p1-L)-1.x=(b-c)/a;c=0;p1=p1-next;k+;printf( %d,k);for( i=0;i=e&kN)printf(用迭代法解线性方程组失败!n);exit(1);printf( 用Gauss-Seidel迭代法解的方程的近似解为:n);for( i=0;in;i+)printf( X%d=%0.5fn,i+1,ptri.x);int main()int i,n,N;float e;struct Line *head;printf(输入线性方程组的维数n、最大容许迭代次数N、容许误差e:n);printf(n=);scanf(%d,&n);printf(N=);scanf(%d,&N);printf(e=);scanf(%f,&e);printf(输入线性方程组的系数矩阵A及常数项Bi:n);for( i=1;i 10 Then MsgBox 请输入小于10的数据。 Exit Sub End If Label1.Caption = Space(1) & a(x,y) & Space(7) Label3.Caption = Label1.Height = 400 Label1.Top = Text1(0).Top - 500 Label3.Top = Text1(0).Top k = 0 For i = 1 To num setX = 600 Label1.Caption = Label1.Caption & Str$(i) & Space(2) For j = 1 To num setY = Text1(0).Top + (i - 1) * Text1(0).Height Text1(k).Move setX, setY, Text1(0).Width, Text1(0).Height Text1(k).Visible = True If i = num Then Label5(j - 1).Move setX, setY + Text1(0).Height + 80, Text1(0).Width, Text1(0).Height End If setlX(j) = setX setX = setX + Text1(0).Width + 50 k = k + 1 Next j Text2(i - 1).Move setX, setY, Text1(0).Width, Text1(0).Height Text2(i - 1).Visible = True Label3.Caption = Label3.Caption & Right(Str$(i), 1) & Space(2) Next i Label1.Left = 200Label3.Left = 300Label3.Width = 100Label3.Height = setY - Label3.Top + 500Label1.Caption = Label1.Caption & bCommand1.Left = setX - 1000Command1.Top = setY + Text1(0).Height * 2 + 300 Label4.Left = 50 Label4.Top = Label5(0).Top + 10 Label3.Visible = True Label1.Visible = True Command1.Visible = True End SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Form_Load() Dim i As Integer For i = 0 To 82 Text1(i).Visible = False Text1(i).Text = Next i For i = 0 To 9 Text2(i).Visible = False

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论