版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
机械工程软件技术基础第六讲算法2太原科技大学陶元芳2010.8软件技术0复习与讨论1)什么是算法?软件技术▲
非数值算法、数值算法▲程序也是算法▲软件是计算机的灵魂,而算法是软件的核心复习与讨论2)循环算法有什么特点?软件技术▲充分利用计算机高速运算的特点▲简化程序▲分层解决问题复习与讨论3)迭代算法有什么特点?软件技术▲运算的次数不定,根据精度决定是否停止▲结果是一个极限值▲初始点或中间误差不影响最终结果的精度1数值算法1)数值算法的意义机械工程领域涉及较多的数值算法。用计算机解决具体问题的大致步骤:▲分析问题,抽象出数学模型;▲设计解此数学模型的算法;▲编出程序;▲进行调试;▲调整直至得到最终解答。可见算法是编程的基础。(数值分析)软件技术数值算法2)数值积分▲解决“积不出”函数的积分问题▲用计算机求微分方程的数值解▲用计算机进行复杂物理过程的仿真模拟软件技术2数值积分定积分就是计算y=f(x)从x=a到x=b这一段曲线下的面积。可以用求和近似代替定积分:软件技术数值积分矩形法,取矩形右边的高(函数值)计算面积:软件技术f(x+Δx)x+Δxx0y=f(x)x数值积分//对话框构造函数DLG::DLG(CWnd*pParent/*=NULL*/) :CDialog(DLG::IDD,pParent){ //{{AFX_DATA_INIT(DLG) m_a=0.0;//积分下限
m_b=90.0;//积分上限
m_d=1e-3;//积分步长
m_F=0.0;//积分结果
//}}AFX_DATA_INIT}软件技术数值积分//被积函数doublefx(doublex){ doubley; y=cos(x*3.1415926/180.0); returny;}//注意:角度转化为弧度软件技术数值积分voidDLG::OnOK()//“开始积分”消息响应函数{ //TODO:Addextravalidationhere UpdateData(true);//取编辑框数据 doublex=m_a;//定义积分变量x m_F=0;//累加器清零 while(x<=m_b-m_d)//积分循环 { x=x+m_d;//前进一步
m_F=m_F+fx(x)*m_d*3.1415926/180.0; }//累加微面积(角度转化为弧度) UpdateData(false);//刷新编辑框数据// CDialog::OnOK();}软件技术数值积分还可以有梯形法,抛物线法(辛普森法,141公式)软件技术f(x+Δx)f(x)x+Δxx0y=f(x)x梯形法数值积分x+2Δxf(x+2Δx)f(x)f(x+Δx)x+Δxx0yx抛物线法数值积分3保护运算精度①采用列主元或全主元高斯消去法解线性方程组②数值积分的分点不要过细,以免产生“下溢出”③避免两个相近的值相减,以免损失有效数字。④除法运算中,要尽量避免除数的绝对值远远小于被除数的绝对值。⑤合理变换公式,避免特殊点造成计算异常。比如应避免出现“0/0”型的计算,而应该通过调整计算公式,直接给出该比值的极限。软件技术4解一元二次方程要求考虑实根、虚根、a=0等各种情况。换言之:任何情况下都不许出现程序崩溃的情况,并要保护运算精度。x1=-b/(2a)+(b2-4ac)1/2/(2a)x2=-b/(2a)-(b2-4ac)1/2/(2a)先计算两项符号相同的根,另一根用维达定理。请大家自己编程。用TC2.0需要加输入提示,用VC++6.0需要用对话框。软件技术解一元二次方程框图软件技术否(No)是(Yes)否(No)否(No)是(Yes)是(Yes)b=0?方程无意义b2-4ac=0?两个相等实根x1=x2=-b/2/a一个实根x=-c/bb2-4ac>0?两个实根a=0?两个虚根是(Yes)否(No)解一元二次方程局部框图软件技术否(No)是(Yes)b>0?x2=[-b-(b2-4ac)1/2]/2/ax1=c/a/x2x1=[-b+(b2-4ac)1/2]/2/ax2=c/a/x1两个实根解一元二次方程程序界面软件技术解一元二次方程参考程序软件技术解一元二次方程参考程序续软件技术解一元二次方程考核例题软件技术序号二次项系数a一次项系数b常数项c判别式d根的情况备注10010无根20120x=-2退化为一次方程31-564x1=3x2=2两个实根41210x1=x2=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师资格考试初级中学化学面试知识点试题集详解(2026年)
- 2026年秋统编版小学道德与法治二年级上册(全册)分层作业及答案(新教材)
- 软件开发科长面试题(某大型国企)试题集详解(2026年)
- 【绿色全要素生产率相关研究的文献综述2500字】
- 乡村旅游民宿服务质量监督协议
- 《学习伴我成长》分层作业(含答案)-2026-2027学年统编版小学道德与法治三年级上册(新教材)
- 线上教育行业关键绩效指标合作协议
- 工业旅游旅游纪念品合作协议
- 股东知情权保障服务协议
- Unit 6 Rain or Shine (Period 6)单元复习课 (3)同步练2025-2026学年人教版英语七年级下册
- 动物产品检验技术课件
- DB5301∕T 102-2024 应用软件定制开发成本测算指南
- 消毒公司企业管理制度
- 广东东莞公开招聘农村(村务)工作者笔试题含答案2024年
- 电力一把手讲安全
- 实验室危化品应急预案
- 洪涝灾害灾区预防性消毒技术指南
- 手足外科植皮护理查房
- 临床血液学和血液学检验-血象和骨髓象检验课件
- 交通信号灯控制器设计报告
- YY/T 0597-2006施夹钳
评论
0/150
提交评论