一、实验目的: 通过本次实验,进一步加深对递归下降算法与抽象语法树的理解,学习程序设计语言的语法分析器的手工编程方法。 二、实验任务: 仔细阅读并测试TINY语言的语法分析器的相关程序,同时复习递归下降算法与抽象语法树的相关理论。 三、实验内容: (1)改写文法与画语法图; (2)TINY语言的抽象语法树节点的数据类型的定义与说明; (3)TINY语言的语法分析器源程序的阅读与注释; (4)TINY语言的语法分析器的YACC输入文件阅读与注释; (5)编译并测试TINY语言的语法分析器;
1
数值线性代数(徐树方)中的一些算法实现。使用C语言实现,并带有注释,简单易懂。
2021-11-23 19:53:39 241KB C++ 数值线性代数
1
Rosenbrock函数的定义如下: 其函数图像如下: 我分别使用梯度下降法和牛顿法做了寻找Rosenbrock函数的实验。 梯度下降 梯度下降的更新公式: 图中蓝色的点为起点,橙色的曲线(实际上是折线)是寻找最小值点的轨迹,终点(最小值点)为 (1,1)(1,1)。 梯度下降用了约5000次才找到最小值点。 我选择的迭代步长 α=0.002α=0.002,αα 没有办法取的太大,当为0.003时就会发生振荡: 牛顿法 牛顿法的更新公式: Hessian矩阵中的每一个二阶偏导我是用手算算出来的。 牛顿法只迭代了约5次就找到了函数的最小值点。 下面贴出两个实验的代码。 梯度下降
2021-11-23 17:10:22 167KB br c enb
1
第三章 最速下降法和牛顿法 本章讨论无约束优化问题 min
2021-11-23 14:13:02 1.96MB 最优化 matlab
1
------------:)----------采用MATLAB语言编程,基于梯度下降法实现多元线性回归模型,并与正规方程计算结果进行对比。
2021-11-23 10:42:22 29.87MB matlab 多元线性回归 梯度下降 正规方程
1
nn束 多层感知器和三个优化器的实现:具有NAG的随机梯度下降,具有标准标准近邻束方法和 安装 首先,您需要克隆此存储库: $ git clone https://github.com/vdecaro/nn-bundle $ cd nn-bundle 使用此存储库需要安装conda 。 需要使用python3.7的新环境: $ conda create -n yourenvname python=3.7 $ conda activate yourenvname 下一步是包括将Gurobi安装到您的环境中的渠道: $ conda config --add channels http://conda.anaconda.org/gurobi 现在,您只需启动以下命令即可将所需的软件包安装到您的环境中: $ conda install --file requirements.txt
2021-11-23 09:37:43 733KB Python
1
自己做的,供分享,采用人工算出的梯度及步长来计算,因为矩阵确实不会弄哈
2021-11-22 13:19:29 1KB C 最优化
1
编译原理实验(课程设计)递归下降分析,包含错误恢复(恐慌模式),c语言实现附源码,文法如下 G: S -> SaA | bB A -> aB | c B -> Bb | d
1
采用Armijo线搜索的最速下降法求解非线性方程的matlab代码
2021-11-20 22:03:33 1KB matlab Armijo线搜索 非线性方程
算术表达式的文法是G[E]: E→E+T| E-T| T T→T*F| T/F| F F→(E)| i 用递归下降分析法按文法G[E]对算术表达式(包括+、-、*、/、()的算术表达式)进行语法分析,判断该表达式是否正确。
2021-11-20 21:54:21 1.14MB c++ 内含实验报告
1