优秀毕业论文——基于matlab的v带传动优化设计说明书内容摘要:
M 函数文件的特点:从形式上看 ,与脚本文件不同 ,函数文件的笫一行 8 总是以 “ function”引导的“函数申明行”。 从运行上看 ,与脚本文件运行不同 ,M 函数中使用的变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB 的工作空间中清除掉。 函数文件格式 M 函数文件必须由 function 作为引导词,必须遵循如下形式: function 输出形参表 = 函数名 (输入形参表 )%注释说明部分函数体。 例:编写函数,求半径为 r 的圆的面积和周长 文件代码如下: function [s, p]= fcircle (r) % CIRCLE calculate the area and perimeter of a circle % of radial r s=pi*r*r。 p=2*pi*r。 规则和属性 : . 函数名和文件名必须相同。 函数可以有零个或更多个输入参量,也可以有零个或更多个输出参量。 当有一个以上输出变量时,输出变量包含在括号内。 例如, [V,D]=eig(A) 函数中的变量均为局部变量,不保存在工作空间中。 其变量只在函数运行期间有效。 函数内变量与 MATLAB 工作空间之间唯一的联系是函数的参数。 函数调用 函数调用的一般格式是: [输出实参表 ]=函数名 (输入实参表) 函数定义示例: function [s, p]= fcircle (r) % CIRCLE calculate the area and perimeter of a % circle of radial r s=pi*r*r。 p=2*pi*r。 函数调用 [area, l]=fcircle(1) 函数调用可以嵌套,一个函数可以调用别的函数,甚至调用它自己 (递归调用)。 9 局部变量和全局变量 局部( Local)变量:它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函 数本身。 全局( Global)变量:通过 global 指令, MATLAB 也允许几个不同的函数空间以及基本工作空间共享同一个变量,这种被共享的变量称为全局变量。 全局变量用 global 命令定义,格式为: global 变量名 全局变量应用示例 : 先建立函数文件 ,该函数将输入的参数加权相加。 function f=wadd(x,y) %add two variable global ALPHA BETA f=ALPHA*x+BETA*y。 在命令窗口中输入: global ALPHA BETA ALPHA=1。 BETA=2。 s=wadd(1,2) 输出为: s = 5 全局变量的作用域是整个 MATLAB 工作空间,所有的函数都可以对它进行存取和修改。 因此,定义全局变量是函数间传递信息的一种手段。 线 拟合 工具箱 的列表曲 线 拟合 研究 在许多场合 , 产品或工件的轮廓形状往往很难找到个具体的数学表达式把它描述出来 , 通常只能通过实验或数学计算得到一系列互不相同的离散点一上的函数值 , 即得到一张与 自变量 对应的数据表。 这种以列表坐标点来确定零件轮廓形状的曲线称为列表曲线。 列表曲线的数控加工程序编制非常复杂 , 传统手工编程的计算量大、精度低 , 使得生产效率低。 利用 MATLAB软件的曲线拟合工具箱 ,可以方便快捷地进行列表曲线拟合。 10 曲线拟合工具箱简介 MATLAB是一个功能十分强大 ,使用非常简便的工程计算语言 ,以矩阵运算为基础 ,把计算、可视化和程序设计融合到一个交互的环境。 在此环境中 ,利用其强大的数值计算与图形功能 ,可高效求解各种复杂的工程问题及实现计算结果的可视化。 MATLAB的 曲线拟合工具箱闭版本是随 , 是用户图形界面和 MATLAB内部 M函数的集成。 此工具箱有如下功能 : 可对数据进行分段、平滑等预处理。 可使用 MATLAB内部库函数或用户自定义的方程对参变量进行多项式、指数、有理数等形式的数据拟合亦可使用样条法等插值法对非参变量进行数据拟合还可以进行外推、微分和积分等拟合。 用残差和置信区间可视化估计拟合结果的好坏。 可视化与数值化相结合的开发和分析数据及拟合结果的能力 , 且结果可保存为多种形式 M文件、二进制代码及工作空间变量。 可以通过命令打开曲线拟合工具箱界面 , 工具箱中主要有 5个命令按钮 :Data( 输人、察看和平滑数据 )。 Fitting(拟合数据、比较拟合曲线和数据集 )。 Exclude(从拟合曲线中排除特殊的数点 )。 Ploting(可以显示拟合曲线和数据集 )。 Analysis(可以进行内插法、外推法、微分或积分拟合 )。 曲线拟合工具箱的使用方法 在曲线拟合之前必须对数据进行预处理 , 以减少人为误差 , 提高拟合的精度。 数据预处理方法是通过对全部数据的查看来观察数据的分布趋势 , 确定采用何种拟合方 法 , 从而提供拟合的准确性另一种方法是对数据中的异常值进行排除 , 以减少由于系统误差对拟合精度的影响。 进行曲线拟合时 , 需要首先应用 Data对话框指定要分析的数据 , 然后 在Curve Fitting Tool对话框中单击 Fitting按钮 , 打开 对话框。 在该对话框中进行设置 , 可以实现曲线拟合 , 并可以根据误差平方和 SSE、相关系数平方 R一 S和根的均方差 RMSE等参数来显示拟合效果的好坏。 曲线拟合有 2种方法由于存在测量误差 , 致使测试点相当分散 , 如果要求所求曲线通过所有测 试 点 , 就会使曲线保留着 所有测量误差 , 这并不是我们希望的结果。 曲线拟合并不需要曲线通过所有的点 , 而是用一些方法画出一条近似的光滑曲线 , 并能反映测试数据的一般趋势 , 尽量使曲线没有波动 , 让曲线通过所有给定点 , 这种方法称为多项式近似法 , 适用于没有测量误差的近似曲线拟合 , 它可以用插值法 近似求解。 曲线拟合包括参数拟合和非参数拟合 2种类型 , 在“ Type of fit” 中可以选择多项式拟合、指数拟合、平滑样条拟合和有理数拟合等参数拟合以及内插法非参数拟合。 拟合的形式、置信区间大于时的相关系数和显示拟合效果好坏的各 种参数可以在 Results”对话框中观察 到。 应用举例。 拟合表格内数据: 11 表 21 活塞裙部纵向型线坐标值 裙高x/mm O 10 20 30 40 50 60 70 直径y/mm 1 9 9 1 1 1 2 0 在 MATLAB命令窗口键人以下内容 : X=[0 10 20 30 40 50 60 70 ]。 Y=[,99,909,,99,760]。 cftool(x,y) 打开曲线拟合工具 , 在数据栏里选择数据。 根据数据点的分布 , 采用非线性多项式拟合 , 拟合多项式为二次、三次和四次。 拟合图形和残差曲线。 由拟合结果可见 , 二次多项式拟合效果较三次、四次多项式拟合效果差些 , 三次、四次多项式拟合的 RS已经基本相等 , 这说明拟合效果相同 , 因此三次多项式拟合可以认为是该列表曲线的最佳拟合。 拟合方程为 : 32( 9 .0 9 1 0 0 6 ) ( 4 .0 5 7 0 0 5 ) 0 .0 0 1 2 7 5 9 9 .9y e x x x 利用曲线拟合工具箱拟合数控列表曲线 , 可以快速从采样数据逼近待测函数或曲线 , 将使用者从复杂、繁琐的底层编程中解放出来 , 给数 控列表曲线的处理和加工提供了方便 , 提高了工作效率。 最优化方法是专门研究如何从多个方案中选择最佳方案的科学。 最优化是一门应用广泛的学科 ,它讨论决策问题的最佳选择的特性 ,构造寻求最佳解的计算方法。 在生活和工作中,优化问题广泛存在。 最优化方法的研究和应用已经涉及很多领域,并取得了很好的经济效益和社会效益。 MATLAB优化工具箱( Optimization Toolbox)有效地解决了最优解的问题。 优化工具箱简介 ( 1) Matlab 的优化工具箱主要应用包括 : ①求解无约束条件非线性极小值; ②求解约束条件下非线性极小值,包括目标逼近问题、极大 极小值问题; ③求解二次规划和线性规划问题; ④非线性最小二乘逼近和曲线拟合; ⑤求解复杂结构的大规模优化问题。 ( 2) 优化工具箱的常用函数: 12 22 优化工具箱常用函数表 边界约束条件下的非线性最小化 fminbnd 求解多变量函数的最小化 fminunc 求解无约束非线性最小化 fminsearch 求解线性 线性规划问题 linprog 求解 二次规划问题 quadprog 求解 有约束的非线性最小化 fmincon 求解多目标规划的优化问题 fgoalattain 求解最小、最大化问题 fminimax ( 3) Matlab 优化函数的查阅与定位 在 matlab 的命令窗口键入命令 help optiom 结果显示该工具箱中所有函数清单 ,部分函数如下图示。 图 21 优化 工具箱部分函数清单 ( 4)优化工具箱的结构 优化工具箱的结构如下图所示。 13 图 22 优化工具箱的结构 图 优化函数简介 (1) 线性规划问题 线性规划问题是目标函数和约束条件均为线性函数的问题。 线性规划问题的数学模型为: min nRxxf .: bxA * beqxAeq * ubxlb 其中 f、 x、 b、 beq、 lb、 ub 为向量, A、 Aeq为矩阵。 其它形式的线性规划问题都可经过适当变换化为此标准形式。 函数 linprog 调用格式如下: x = linprog(f,A,b) %求 min f 39。 *x bxA 线性规划的最优解。 x = linprog(f,A,b,Aeq,beq) %等式约束 beqxAeq ,若没有不等式约束bxA ,则 A=[ ], b=[ ]。 x = linprog(f,A,b,Aeq,beq,lb,ub) %指定 x 的范围 ubxlb ,若没有等式约束 beqxAeq ,则 Aeq=[ ], beq=[ ] x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %设置初值 x0 14 x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % options 为指定的优化参数 [x,fval] = linprog(„ ) % 返回目标函数 最优值,即 fval= f 39。 *x。 [x,lambda,exitflag] = linprog(„ ) % lambda 为解 x的 Lagrange 乘子。 [x, lambda,fval,exitflag] = linprog(„ ) % exitflag 为终止迭代的错误条件。 [x,fval, lambda,exitflag,output] = linprog(„ ) % output 为关于优化的一些信息 (2)非线性规划问题 无约束非线性规划问题 多元函数最小值的数学模型为: )x(fminx 其中: x 为向量,如 ]x,x,x[x n21 可以使用函数 fminbnd、 fminsearch 和 fminunc。 函数 fminbnd 格式 x = fminbnd(fun,x1,x2) %返回自变量 x 在区间 21 xxx 上函数fun 取最小值时 x 值, fun 为目标函数的表达式字符串或 MATLAB 自定义函数的函数柄。 x = fminbnd(fun,x1,x2,options) % options 为指定优化参数选项 [x,fval] = fminbnd(„ ) % fval 为目标函数的最小值 [x,fval,exitflag] = fminbnd(„ ) %xitflag 为终止迭代的条件 [x,fval,exitflag,output] = fminbnd(„ ) % output 为优化信息 函数 fminsearch 格式 x = fminsearch(fun,x0) %x0 为初始点, fun为目标函数的表达式字符串或 MATLAB 自定义函数的函数柄。 x = fminsearch(fun,x0,options) % options 查 optimset。优秀毕业论文——基于matlab的v带传动优化设计说明书
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。