当前位置: 首页 > news >正文

沈阳做网站需要多少钱吉林手机版建站系统价格

沈阳做网站需要多少钱,吉林手机版建站系统价格,网站页头是什么,drupal个人门户网站开发1 标准对象的集合容器 在处理现实问题时#xff0c;经常将问题抽象成一个数学模型#xff0c;接着对模型求解#xff0c; 然后将解提取出来以解决现实问题。 其实在 CAD 软件中#xff0c; 主要解决的就是数学模型。因此#xff0c;本节将描述 OCC 的数学基本类型和数学算…1 标准对象的集合容器 在处理现实问题时经常将问题抽象成一个数学模型接着对模型求解 然后将解提取出来以解决现实问题。 其实在 CAD 软件中 主要解决的就是数学模型。因此本节将描述 OCC 的数学基本类型和数学算法。它们包括向量和矩阵类、基本几何类型和常用数学算法。 1.1 向量和矩阵类 向量和矩阵组件为向量和矩阵提供了 C实现。 这个组件通常用来定义更复杂的数据结构。向量和矩阵类支持由实数组成的向量和矩阵的标准操作如加、乘、转置、求逆等。向量和矩阵的范围是任意的 但必须在声明的时候就定义好 并且定义后不能更改如例 3.18 所示。 例 3.18 math_Vector v(1, 3); //一个三维向量索引区间为1,3。 math_Matrix m(0, 2, 0, 2); //一个 3x3 的矩阵行区间和列区间都为0,2。 math_Vector v(N1, N2); //一个N2-N11维的向量索引区间为(N1,N2)。向量和矩阵对象遵循语意值即它们不能被共享也不能通过赋值来拷贝如例 3.19 所示。 例 3.19 math_Vector v1(1, 3), v2(0, 2); v2 v1; // 将 v1 的值拷贝给 v2对 v1 的改变不会影响 v2。可以使用索引必须在定义的范围内 来初始化或包含向量和矩阵值 如例3.20 所示。 例 3.20 math_Vector v(1, 3); math_Matrix m(1, 3, 1, 3); Standard_Real value; v(2) 1.0; value v(1); m(1, 3) 1.0; value m(2, 2);在向量和矩阵对象上的有些操作可能是不合法的。 这种情况下 系统会产生异常如例 3.21 所示。可能用到的两种标准异常有 1 Standard_DimensionError 异常。当两个矩阵或者向量的维数不同时系统产生 Standard_DimensionError 异常。 2 Standard_RangeError 异常。如果向量或矩阵的索引在定义的范围外系统将产生 Standard_RangeError 异常。 例 3.21 math_Vector v1(1, 3), v2(1, 2), v3(0, 2); v1 v2; //错误将产生 Standard_DimensionError 异常。 v1 v3; //可以尽管索引区间不相等但维数是一样的。 v1(0) 2.0; //错误将产生 Standard_RangeError 异常。1.2 基本几何类型 在创建一个几何对象前必须知道这个对象是 2D 的还是 3D 的以及将如何使用这个对象。 gp 包为二维和三维对象提供了一些通过值处理的类。它定义了一些基本的非持久几何实体这些实体在二维和三维的代数计算和基本几何结构分析中用到。 它也提供一些基本的几何转换 如等价、 旋转、 平移、 镜像、 缩放、 复合变换等。 注意 gp 包中的实体是通过值处理的。gp 包中可实现的几何实体有二维和三维直角坐标(x, y, z)、矩阵、笛卡尔点、 向量、 方向、 轴、 直线、 圆、 椭圆、 双曲线、 抛物线、 平面、 无穷圆柱曲面、球面、螺旋面和圆锥面。 在创建一个几何对象前 必须知道它是二维的还是三维的 以及将如何使用它。 如果需要的不是某种基本几何类型的单个实例 而是某种几何类型的一系列实例那么 TColgp 包能够处理这样的集合容器并且提供一些必要的功能。特别地 这个包为通用类中那些标准的和经常使用的实例化提供几何对象。 TColgp包为 TCollection 类的实例化提供类来自 gp 包 如 XY、 XYZ、 Pnt、 Pnt2d、Vec、 Vec2d、 Lin、 Lin2d、 Circ、 Circ2d 等 这些类是非持久的。 1.3 常用数学算法 常用数学算法组件为一些经常使用的数学算法提供 C实现。它们包括 1求解线性方程组的算法 2 寻找一元或多元函数最小值的算法 3求解非线性方程或非线性方程组的算法 4寻找矩阵特征值和特征向量的算法。 所有的数学算法都是采用相同的规则来实现的。这些规则包括 1构造函数。在给定合适的参数后构造函数完成算法需要实现的所有 或者大部分算法。 所有相关信息存储在构造的对象中。 因此后发计算或后发问题将以最有效的方式解决。   2 IsDone 函数。如果计算成功 IsDone 函数将返回布尔真值。   3对每一种算法的都提供了一套函数每套函数能够包含多个结果。只有 IsDone 函数返回真值时 才可以调用函数。 否则将产生 StdFail_NotDone 异常。 例 3.22 说明了 Gauss 类用来实现线性方程组的高斯解法的用法。例中的声明是从 math_Gauss 类的头文件中提取出来的。 例 3.22 class Gauss { public: Gauss (const math_Matrix A); Standard_Boolean IsDone() const; void Solve (const math_Vector B, math_Vector X) const; };假设要用高斯类解方程 ax1b1 和 ax2b2 那么程序实现如例 3.23 所示。 例 3.23 #include math_Vector.hxx #include math_Matrix.hxx main () { math_ Matrix a(1, 3, 1, 3); math_Vector b1(1, 3), b2(1, 3); math_Vector x1(1, 3), x2(1, 3); // a, b1 和 b2 设有相应的值。 math_Gauss sol(a); //计算系数矩阵 A 的 LU 分解。 if(sol.IsDone()) { //是否分解成功 sol.Solve(b1, x1); //分解成功则计算第一组解 x1。 sol.Solve(b2, x2); //接着计算第二组解 x2。 ... } else { //分解不成功。 //分析错误原因。 sol.Solve(b1, x1); //错误产生 StdFail_NotDone 异常。} } }例 3.24 说明了 BissecNewton 类实现了 Newton 和 Bissection 算法的结合用来解一个具有指定边界的函数的用法。 例 3.24 class BissecNewton { public: BissecNewton (math_FunctionWithDerivative f, const Standard_Real bound1, const Standard_Real bound2, const Standard_Real tolx); Standard_Boolean IsDone() const; Standard_Real Root(); };抽象类 math_FunctionWithDerivative 描述了这样一些服务这些服务在BissecNewton 算法用到的 f 函数中必须被实现。例 3.25 中的声明来自抽象类math_FunctionWithDerivative 的头文件。 例 3.25 class math_FunctionWithDerivative { public: virtual Standard_Boolean Value (const Standard_Real x, Standard_Real f) 0; virtual Standard_Boolean Derivative (const Standard_Real x, Standard_Real d) 0; virtual Standard_Boolean Values (const Standard_Real x, Standard_Real f, Standard_Real d) 0; };下面的测试例子例 3.26用 BissecNewton 类来解方程 f(x)x**2-4其中x 在区间[1.5, 2.5]取值。这个待解函数在 myFunction 类中实现而 myFunc- tion类是 math_FunctionWithDerivative 的派生类。 Main 函数将找到所需的根。 例 3.26 #include math_BissecNewton.hxx #include math_FunctionWithDerivative.hxx class myFunction : public math_FunctionWithDerivative { Standard_Real coefa, coefb, coefc; public:myFunction (const Standard_Real a, const Standard_Real b, const Standard_Real c) : coefa(a), coefb(b), coefc(c) {} virtual Standard_Boolean Value (const Standard_Real x, Standard_Real f) { f coefa * x * x coefb * x coefc; } virtual Standard_Boolean Derivative (const Standard_Real x, Standard_Real d) { d coefa * x * 2.0 coefb; } virtual Standard_Boolean Values (const Standard_Real x, Standard_Real f, Standard_Real d) { f coefa * x * x coefb * x coefc; d coefa * x * 2.0 coefb; } }; main() { myFunction f(1.0, 0.0, 4.0); math_BissecNewton sol(F, 1.5, 2.5, 0.000001); if(Sol.IsDone()) { //条件是否为真 Standard_Real x sol.Root(); //条件为真则执行该语句。 } else { //条件是假的。 //这里需要一些代码用来尝试别的方法或者产生异常。 } . . . }
http://www.pierceye.com/news/461940/

相关文章:

  • 重庆学校网站建设wordpress 模版安装
  • 公司要招个做网站的人商标设计网站猪八戒
  • 古建设工程造价管理协会网站小程序引流推广平台
  • 网站域名缴费十年外贸建设企业网站服务
  • 游戏网站外链建设网站开发项目的需求分析
  • 确定网站的主题与风格东营市建设项目工伤保险是哪个网站
  • 如何做一张网站平面效果图装宽带需要多少钱
  • 什么网站能让小孩做算术题厦门住房和城乡建设局网站
  • 网站上线过程建设网站什么费用
  • 企业网站域名在哪申请成都广告公司
  • 手机页面网站模板怎么卖宁波网站建设优化找哪家
  • 深圳网站外包公司注册公司流程和费用找哪家
  • 专业新站整站快速排名公司商业网站和企业网站的区别
  • 网站做等保备案河北建设厅网站登陆怎么找附件
  • 网站前台显示数据库指定分类怎么做php优化大师官方免费
  • 用ps软件做ppt模板下载网站c2c网站开发策划
  • 标志空间 网站tk域名网站多少
  • dedecms网站地图插件永康公司网站开发
  • 比较网站建设有没有学做ppt发网站或论坛
  • 用asp做网站流程做科研找论文的网站
  • 新浪网站怎么做推广广告网站模板下载不了
  • 微网站建设哪家优惠h5小游戏在线玩
  • 娄底高端网站建设网站建设费计入 科目
  • 免费企业网站程序上传wordpress 卸载
  • 大庆市建设局网站上不去linux删除WordPress
  • 宣城市建设监督管理局网站下载怎么上wordpress
  • 福州做网站fjfzwl编写软件开发文档
  • 平台设计网站公司电话号码建站哪家好用兴田德润
  • 宝安网站建设信科免费网站开发 自动填写表单
  • 网站怎么更新文章动漫网站在线免费观看