精华内容
下载资源
问答
  • 数值计算】计算机中的数值计算

    千次阅读 2018-08-05 16:59:56
    计算机中的数值计算,通常是指通过迭代过程更新解的估计量来解决数学问题, 而不是我们在草稿纸上通过解析过程推导出公式来提供准确解的方法。常用的操作包括两类 优化:找到最小化或最大化函数值的参数 线性方程...

    计算机中的数值计算,通常是指通过迭代过程更新解的估计量来解决数学问题, 而不是我们在草稿纸上通过解析过程推导出公式来提供准确解的方法。常用的操作包括两类

    • 优化:找到最小化或最大化函数值的参数
    • 线性方程组的求解

    上溢和下溢(underflow & overflow)

    在数字计算机,数值存储和处理都是离散的,用有限的内存连一个无限实数都没有办法精确表示。这种计算机表示值和真实值之间的误差,通常情况下表现为一些近似误差,不影响结果的准确性。但是一些计算情况下,误差得以积累放大,或者摄入误差带来质的变化时,会导致理论上可行的算法在编程实践中失效。

    • 一种舍入误差是下溢(underflow), 当接近于0 的数被四舍五入为0时发生下溢。比如一个数 0.000000000000000000258被舍入为0.0,如果这个数用在加法运算中,那没什么问题。而如果这个数被用在除法运算的分子位置,或者用在取 log 的位置,那么问题就严重了。有的直接抛异常,有的返回NaN占位符,有的需要预先定义特殊情况,比如 log0=, 以便下一步处理。总之需要特殊考虑。
    • 另一种数值错误是上溢(overflow),也就是通常说的溢出。当很大的数值(接近 +or)突破了计算机存储数值的极限的时候,就会发生上溢。数值变成非数字,或者变成错误的数值。

    为了保证运算过程和结果的正确性,必须对上溢和下溢进行数值稳定。一个很突出的例子就是softmax 函数。softmax 函数定义为

    softmax(x)i=exp(xi)j=1nexp(xj)
    ,考虑当 xi均匀分布,即xi=c 时,理论上,每个输出都等于 1n。 然而,在实际的运算过程中,考虑指数函数的特性,

    • c 的数值很小的时候,ec 可能会下溢 为 0, 分子为 0,发生错误
    • c 的数值很大的时候,ec 可能会上溢,发生错误或者数值不准确

    那么怎么解决呢?通过研究函数的性质,定义z=xmaxxi, 将 softmax(x)转化为softmax(z) 问题:

    • 理论上,softmax(x)softmax(z) 的结果是一致的
    • 计算中,zi最大值为 0, exp(zi) 最大值为 1, 杜绝了上溢。同时保证分子(1,n], 杜绝了下溢。

    以上提到的方法具有通用性,对于底层库的开发者而言应时刻注意数值问题。而对于应用层开发者而言,应该选用一些能够自动保持数值稳定的可靠的库,比如Theano, 它能自动检测并稳定深度学习中许多常见的数值不稳定的表达式。

    病态条件

    条件数指的是函数相对于输入的微小变化而变化的快慢程度。输入被轻微扰动而迅速改变的函数对于科学计算来说是有问题的,因为输入的舍入误差会可能会导致输出的巨大变化。

    考虑函数 f(x)=A1x。 当 ARn×n具有特征分解时,其条件数为

    maxi,j|λiλj|

    也就是最大特征值与最小特征值的模之比。当这个数很大的时候,矩阵求逆对输入的误差特别敏感。可以想象,也就是矩阵张成的空间是一个狭长的而不是圆润饱满的。

    这种敏感性是矩阵本身固有的属性,而不是矩阵求逆期间舍入误差导致的结果。

    展开全文
  • 山东大学数值计算实验下载,包含全部13个实验。 添加链接描述

    山东大学数值计算实验下载,包含全部14个实验。
    下载地址

    展开全文
  • 数值计算中应注意的问题 一、防止相近的两个数直接相减 例如:23.034 - 22.993 = 0.041 解决方法:分子有理化等 二、防止大数“吃掉”小数 例:求的根 准确解: 如果用数值计算的方法: 方法一: 解得 ...

    数值计算中应注意的问题

    一、防止相近的两个数直接相减

    例如:23.034 - 22.993 = 0.041

    解决方法:分子有理化等

    二、防止大数“吃掉”小数

    例:求x^{2} - (10^{8} + 1)x + 10^{8} = 0 的根

             准确解: x_{1} = 1       x _{2} = 10^{8}

    如果用数值计算的方法:

    方法一:  x = \frac{-b \pm \sqrt{b^{2} - 4ac}}{2a}       解得x_{1} \approx 0       x_{2} \approx 10^{8}

          原因:   b^{2} 比 4ac大得多,根号下的值就约为b^{2} 

    方法二: x_{2} \approx \frac{-b \pm \sqrt{b^{2} - 4ac}}{2a} \approx 10^{8}      而解x_{1}则运用韦达定理 x_{1} = \frac{c}{ax_{2}} = 1

    三、防止除法中除数的数量级远小于被除数

    原因:数值计算最终是要写代码用计算机来计算得,如果除数的数量级远小于被除数,那么结果就会非常大,超出了计算机的存储范围。

    展开全文
  • html数值计算计算

    千次阅读 2016-05-17 20:45:30
    这几天我编写了购物车,在数值计算上面出现了一些问题 第一个问题: 从后台传递过来的数值类型是double类型的数值,小数点后面出现了10位以上。例如 1476.6000000006 第二个问题: 从后台传递过来的数值,变成了...

    这几天我编写了购物车,在数值计算上面出现了一些问题


    第一个问题:

    从后台传递过来的数值类型是double类型的数值,小数点后面出现了10位以上。例如 1476.6000000006

    第二个问题:

    从后台传递过来的数值,变成了科学计数法,java的double类型的数值存储的时候是科学计数法。    例如4.78732E5

    第三个问题:

    计算出来大于1000的数值,会出现西方的数值辅助符号 例如12,1233.00

    第四个问题:

    页面上的两个数值进行加减,显示的数值小数点后面出现多为。和第一个问题类似


    第一个问题,我简单的查找了一下,好像HTML有时候对double类型的数值没有很好的支持,有时候会出现位数的溢出。这个时候我们需要在后台做处理

    将这些数值转换成String类型的数值,传递到前台。这个时候一个字符串页面就不会有其他的问题。

    第二个问题,如果直接在后台使用DOUBLE类型的数值的.toString方法,那个时候还是会出现科学计数法。所以这个时候需要我们在后台把这个数值进行

    一个处理,可以使用DecimalFormat这个类来处理。

    第三个问题,在转换和页面显示的时候,有时候会出现西方辅助符号(╮(╯▽╰)╭哎!!谁叫代码是西方人先弄出来的),这个时候我们一般在页面上

    做处理,使用js的replace(",","")这个方法。

    第四个问题,这个js和html对double真的支持不是特别好,需要我们做一个处理,可以使用toFixed(2)方法。


    总的来说后台可以使用

    DecimalFormat decimalFormat = new DecimalFormat("#,##0.00");//格式化设置  
            
            return decimalFormat.format(double1);

    这样的一个工具


    前台页面可以看看这个例子

    parseFloat($("#totalPrice").html().replace(",","")).toFixed(2)


    数值的计算使用parseFloat这个方法来进行转换。

    展开全文
  • MATLAB数值计算.pdf

    热门讨论 2014-06-12 22:42:26
    MATLAB数值计算.pdf
  • 作者黄云清,数值计算方法课后习题,内容涉及数值计算方法的数学基础、数值计算方法在工程、科学和数学问题中的应用以及所有数值方法的MATLAB 程序等,涵盖了经典数值分析的全部内容。包括:非线性方程的数值解法;...
  • 数值计算方法—吕同富

    热门讨论 2014-08-22 23:48:28
    完整版的《数值计算方法》,吕同富,2008
  • shell的数值计算,小数计算

    千次阅读 2015-07-28 18:25:23
    shell脚本中,可以进行数值计算,如加减乘除,通过expr、let、(())等完成,文章介绍:http://blog.csdn.net/longshenlmj/article/details/14166193 但是上面的运算只支持整数。 小数计算怎么办? shell中小数计算 ...
  • C#中textBox的数值计算随时更新计算结果,通过textBox输入的数值进行计算,但是启动后必须保证每个单元格都有数据后才会有计算结果,如果有不填写的情况,自动计算的位置不进行计算(新手求指导) textBox18.Text =...
  • 使用教材:《数值计算方法》黄云清等编著 科学技术出版社 提供的程序代码不保证所述解法为最优解。调试如报告中描述有误,欢迎指正。 仅供参考,请勿直接抄袭提交。执意如此,所导致的一切后果本人概不负责。  ...
  • 使用Commons math做数值计算

    千次阅读 2019-09-02 15:35:23
    使用Commons math做数值计算 觉得有用的话,欢迎一起讨论相互学习~Follow Me 最近使用jmetal做多目标的时候,想用一些简单的方法求最大值最小值方差和协方差矩阵,但是原生代码真的是非常慢啊,所以开一个新坑,...
  • matlab中常微分方程数值计算的方法

    千次阅读 2019-08-03 21:42:19
    数学上求解数值解 ...数值解的基本特点是利用数值计算方法和计算机编程得到一系列离散点上的近似解。 通常采用 欧拉方法、龙格-库塔方法进行数值计算 首先 把区间离散化: [a,b] 变成离散的点: 同时 记: ...
  • 【Python】数值计算

    千次阅读 2020-02-08 12:05:47
    数值计算 获得用户输入的一个字符串,格式如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪...
  • 深度学习-数值计算基础

    千次阅读 2018-09-22 14:28:42
    数值计算   对于机器学习中的问题,有一部分可以通过数学推导的方式直接得到用公式表达的解析解,但对绝大多数的问题来说,解析解是不存在的,需要使用迭代更新的方法求数值解。然而实数的精度是无限的,计算机...
  • Android中数值计算的精度

    千次阅读 2017-09-02 13:28:55
    Android中数值计算的精度 在平常的开发中,会经常进行数值的计算,而如何才能更加准确的得到计算结果是最重要的,最近在做一个金融类的项目,其中涉及到黄金的计算,所以写这篇文章来总结一下,如何对数值的计算...
  • 常用的数值计算工具

    千次阅读 2019-03-06 16:36:11
    1、gsl(GNU Scientific Library)是专门为应用数学和科学技术领域的数值计算提供支持的软件库。gsl使用C语言编写,同时也为其他语言做了相应的封装。gsl在GNU通用公共许可下是免费的。该函数库提供了广泛的数学算法...
  • 符号计算 存放的是精确数据,耗存储空间 ,运行速度慢,但结果精度高; 数值计算则是以一定精度来计算的,计算结果有误差,但是运行速度快。 转载于:https://www.cnblogs.com/shawnchou/p/10927680.html...
  • 数值计算学习笔记

    2015-08-01 21:52:45
    由于计算机不可能无限制的表示像π这种无理数,所以,有效数字对于计算 机的数值计算来说很重要。 3.误差的定义:真值=近似值+误差。所以, 这里, 表示误差的准确值,叫“真(true)”误差。我们一般将误差相对于...
  • 数值计算方法与算法试题及答案数值计算方法与算法试题及答案
  • 常用数值计算

    千次阅读 2015-08-02 18:14:32
    最近在使用数值库进行稀疏矩阵线性方程组的求解,接触了一些数值计算库,主要包括:MKL, GMM++等库。 MKL库是intel的一个运算库,大名鼎鼎的matlab中都使用MKL进行数值运算,但唯一的缺点是它是需要收费的。MKL有30...
  • Matlab作为一款世界领先的数学计算软件,在数值计算方面比其他计算机高级语言更加简捷、方便。为了更好地使用Matlab语言,本章介绍Matlab常用数据类型、矩阵与数组运算,并在线性代数方程组和微分方程初值问题的求解...
  • 数值计算SCILIB基本语法

    千次阅读 2016-08-01 08:27:24
    SCILIB是一款优秀的数值计算开源软件,与Matlab不同的是,Matlab是商业软件,购买的时候按基本组建和工具箱买,就算是有财力的高校基本也就只购买一两套,毕竟一套几十W呢。 说SCILIB是数值计算软件没错,对于符号...
  • 二维流体流动数值计算matlab程序,供学习参考!
  • 数值计算引论第二版 答案

    热门讨论 2011-05-05 07:48:07
    数值计算引论 第二版 白峰杉的课后习题答案(部分)
  • 数值计算的性质

    2011-06-10 14:48:00
    数值计算在计算机图形学领域的作用非同小可,关于建模方面以及图形变形中,很多解析式的计算需要通过数值计算中的方法来解决。数值方法主要用于解决不可能得到解析解的数学问题。通过数值方法可以得到一个相对更准确...
  • java 绘制数值计算云图

    千次阅读 2016-06-24 10:09:08
    采用python,matlab等进行数值计算时,都可以很方便的进行计算结果查看显示。在进行运营隧道围岩温度场计算时,我采用了java语言进行编程计算,面向对象的编程方式,比fortran,python的编程方式还是让人容易接受的...
  • Linux小数数值计算之bc命令

    万次阅读 2018-05-16 18:55:25
    前言 bc命令的基本用法 ...Linux Shell进行数值计算的时候, 使用expr,很麻烦,乘号啊什么的还需要转译, 使用美刀符($)加中括号,却只局限于整数计算, 这里介绍一下Linux的bc命令,它相当于L...
  • Matlab中的计算可以分为符号计算和数值计算 前面所讲的都是数值计算,今天我们来讲关于符号计算 符号计算的第一步就是 定义符号 syms a,b,c %定义多个符号变量a,b,c sym(a) %定义单个符号变量 一些常用的函数 ...
  • 数值计算——多项式插值

    千次阅读 2017-05-03 21:31:08
    数值计算——多项式插值 插值:用某个函数去拟合给定的数据,该函数在给定的数据点的函数值与数据值相等。在离散数据的基础上补插连续函 数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要...
  • 1、计算机进行计算时用的都是补码 2、计算机进行计算时才讲数字进行补码转化后进行计算(列如:FFFEH在地址总线看来它就是个地址,而在数据总线看来就是-2) 3、 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,242
精华内容 18,496
关键字:

数值计算