精华内容
下载资源
问答
  • Math 对象提供多种算数值类型和函数。无需在使用这个对象之前它进行定义。 算数值 JavaScript 提供 8 种可被 Math 对象访问的算数值: 常数圆周率2 的平方根1/2 的平方根2 的自然对数10 的自然对数以 2 ...

    Math 对象

    Math(算数)对象的作用是:执行普通的算数任务。

    Math 对象提供多种算数值类型和函数。无需在使用这个对象之前对它进行定义。

    算数值

    JavaScript 提供 8 种可被 Math 对象访问的算数值:

    • 常数
    • 圆周率
    • 2 的平方根
    • 1/2 的平方根
    • 2 的自然对数
    • 10 的自然对数
    • 以 2 为底的 e 的对数
    • 以 10 为底的 e 的对数

    这是在 Javascript 中使用这些值的方法:(与上面的算数值一一对应)

    • Math.E
    • Math.PI
    • Math.SQRT2
    • Math.SQRT1_2
    • Math.LN2
    • Math.LN10
    • Math.LOG2E
    • Math.LOG10E

    算数方法

    除了可被 Math 对象访问的算数值以外,还有几个函数(方法)可以使用。

    函数(方法)实例:

    下面的例子使用了 Math 对象的 round 方法对一个数进行四舍五入。

    document.write(Math.round(4.7))

    上面的代码输出为:

    5

    下面的例子使用了 Math 对象的 random() 方法来返回一个介于 0 和 1 之间的随机数:

    document.write(Math.random())

    上面的代码输出为:

    0.9370844220218102

    下面的例子使用了 Math 对象的 floor() 方法和 random() 来返回一个介于 0 和 10 之间的随机数:

    document.write(Math.floor(Math.random()*11)) 

    上面的代码输出为:

    3

    展开全文
  • 张锋同学对数值策划的定义

    千次阅读 2015-12-04 12:13:50
    个人感觉: 张锋同学, 有点负面,不够积极,难道是被项目摧残的! 我还是很欣赏张锋的数值的技能的!
    作者:张锋
    链接:http://www.zhihu.com/question/24376247/answer/27659409
    来源:知乎



    核心观点: 数值不是你想象的那么简单


    1)不要随大流。
    例如,很多人就认为腾讯能成功靠的不就是QQ么。
    例如,很多人认为数值小学毕业会四则运算就能做了。
    例如,很多人认为游戏策划就是一个大混子,入职门槛低,随便一个人拉过来就干得了。

    这些想法都是错误的。原因是:
    腾讯确实有QQ这样的平台,但是自身的努力和那么多年来吸纳精英的发展过程也功不可没。
    那些自称小学毕业就能做数值的人,把《EVE》等需要经济学家来联调的项目至之余何地?

    我承认有很多项目“撞大运”,一帮三流策划,二流程序做出来迎合了市场就所谓的成功了,但是他们很难做出来第二款,第三款成功的游戏,原因就是,他们不可能一直“撞大运”下去。


    数值,作为策划的一个门类并非你想想的那种,抄抄,改改,扒人家一层皮就可以混过去,糊弄谁都会,但是你不能把“糊弄”外行人,糊弄领导的策划,叫做数值策划。

    2)数值策划工作中需要具备的技能
    如果一个数值策划,不懂得一点点数据库结构,无法自己“参与规划”数据辞典,在具体工作方面会很吃力。
    例如:数据库的横向设计和竖向设计,我曾经参与某一个项目,掉落横向填掉落20条,不做掉落集合,礼包,关卡,怪物都用这一个库。装备随机程序不随机,让你全部写在数据库里他来读。
    例如:整个模块就建了一张表,不分动态,静态表,各种潜规则。作为执行方你什么都不懂让别人定下来规则,自己硬着头皮去做,特别是如果你的程序以前没有做过游戏,作为执行方会很惨。
    <img src="https://pic3.zhimg.com/794e52822f443a5b005fee5396b75e3e_b.jpg" data-rawwidth="948" data-rawheight="554" class="origin_image zh-lightbox-thumb" width="948" data-original="https://pic3.zhimg.com/794e52822f443a5b005fee5396b75e3e_r.jpg">(“错误”例子,“(“错误”例子,“装备属性随机“”程序不肯写随机数,要求数值生成然后读表。用了整整3页的函数,虽经自定义函数,跨表查询,简化,可是维护起来怎么能用一个“惨”字描述。
    这个就是设计失误,程序一个随机数就搞定的事情啊!)
    PS:后来主策划拍脑袋又说,数值过来!最好不同的等级段和不同品质再做个特例,感受会更好。任务奖励装就别随机了,PVP要随机高一点,套装随机要比普通装备高20%,商店里的要特殊做。
    数值算了算,9个等级段*6个品质,还有任务,PVP,商店特例,要额外写54个IF判断。哭了……


    如果一个数值策划,不会稍微会一点点语言,无论是lua,C,VBA,fortran最后自己去做战斗工具,脚本工具,光靠在excel表里拉数据,往往会感觉力有不及。

    例如:以前我做数值常常会感触宝石,装备数据多加10点少加10点不痛不痒,后来等我懂得利用战斗力,利用战斗模拟器数表联调,1点属性偏差都不可以有,否则战斗力会报错,数据会溢出。


    如果一个数值策划,不稍微懂得一点点高数,没有概率学,没有统计学,没有线性代数(选修),没有离散几何(选修)的概念,就去做游戏,会在很多核心问题上自己都站不住脚,颤颤巍巍的做数值,随时可能模型崩塌。

    例如:以前我没有学习高数之前做各种强化虽然表面上调的很嗨,但是会心虚,后来我学习了概率学和统计学的原理之后,我可以更好的把握概率,收益,性价比,设计起来更加有底气了。


    如果一个数值策划不懂得matlab工具,我认为在很多核心参数的掌握和模型控制上会非常薄弱。




    当别人问你,为什么使用加法公式,为什么你这里使用了 幂函数,为什么你这里要用这种算法的时候,你总不能回他一句:“《神仙道》,就是这样做的。。。”






    大浪淘沙,当前太多的数值是没有数值基础,随便由某个系统,剧情,甚至是程序转数值的,看了别人几个所谓“速成“帖子,就真的以为自己是一个合格的数值了。”

    我觉得这才是最大的错误,你可以是数值,因为这是你的工作定性,但是不代表你合格



    <img src="https://pic4.zhimg.com/dc9050d3bcce9fbb5a30ed8b46ae66e7_b.jpg" data-rawwidth="3200" data-rawheight="2400" class="origin_image zh-lightbox-thumb" width="3200" data-original="https://pic4.zhimg.com/dc9050d3bcce9fbb5a30ed8b46ae66e7_r.jpg">

    什么是合格的数值策划?

    1 首先你要时刻知道自己的不足,并保持着一颗进取学习的心态。也许一些东西当前你的工作不是必要的,但是等你需要学的时候,你会发现已经晚了。
    例如:以前有一个朋友无故极端鄙视matlab,各种不屑,等到公司开始强制要求所有的数值使用该软件的时候,他发现他无法在短期内学会,于是悲剧了。

    本文不是一个强调工具的文章,本文最核心的观点是强调,学习,哪怕你去学习文案,学习写剧情,学习"运""营"数据,学习市场规律,你都是积极向上的。


    2 要有非常强的沟通技巧和理解能力,在讨论前先沟通定义,不要出现理解偏差,否则错误的执行,返工对于整个团队来说是巨大的损失。

    3 任何一个软件都不简单,见过会用与“精通”,是两个概念,excel我用了十五年,通晓各种函数组合,特殊用法,但是至今我还在买各种《excel高效办工》,《精彩用法108条》在学习,任何一个告诉你什么什么没有用,什么什么不要学的人,离他远一点。学无止境

    4 数值是一种思想,是一种设计理念,并非是完全依靠工具,工具只是手段,更多的时候,你会发现数值平衡了,但是感受并不平衡。这个时候就是真正考验数值策划功底的时候。有些时候数值思想要远远大于数值工具!
    但是数值思想是如何来的?那要依靠你对于工具的掌握,对于理论知识的学习,才有可能拥有数值思想。


    5 不要去拍脑袋填写任何一行数据,任何一个数据都要有理有据,哪怕你先找一个不太靠谱的依据,以后再去迭代他,也不建议直接拍脑袋定了一个。

    6 如果有时间,尽可能去提高你的数值敏锐度,去锻炼你的数值算法和设计的能力。遇到了问题,你可以在数学的方法上立刻找到脉络和解决的方法,那些“用心良苦”说数值小学毕业就够的的人,目光短浅,你不要和他交流。
    <img src="https://pic4.zhimg.com/d35428e78756b4dc4f894e1aad3eaf77_b.jpg" data-rawwidth="966" data-rawheight="499" class="origin_image zh-lightbox-thumb" width="966" data-original="https://pic4.zhimg.com/d35428e78756b4dc4f894e1aad3eaf77_r.jpg">
    7 如果还有时间,可以稍微学习一下脚本,以国内某公司G4数值的需求,是需要数值策划精通脚本语言,精通工具制作的,所以。而国外数值的需求更是离谱,需要精通代码语言的。因此如果你真的想在数值这个工作上走的长远,建议学习一些语言写出来各种工具,包括且不仅限于

    掉落模拟器
    装备生成器
    角色创建工具
    战斗模拟器
    随机创建生成器
    随机地图生成器
    脚本---路点,自动寻路生成器的
    等等
    至少也要懂得用一些工具例如matlab 或者excel建模,当你的核心参数发生改变的时候,关联的表和字段自适,导出。
    可以达成“一键处理” 导出程序用的 lua 脚本,或者csv 或者 xml等等文件。

    相信我朋友,你不会一辈子在某个所谓上市的小公司打工,如果你打算去暴雪,EA,去真正牛X的大公司,学习一门语言一定不会错。


    8 懂得你的老板,这一条本来并非是数值技能,但是由于你在中国,要和很多操蛋的老板,不靠谱的同事工作,因此,你需要学习会如何迎合他们,让你的数值变成他们想要的。
    等到上线的时候画圈圈去诅咒他们好了,因为在他们的眼睛里,数值平衡就是一个处女M,生出来就是要破掉的。呵呵。。

    去懂得你的老板,然后说服他,听从你的数值安排,哪怕你忽悠他按照你的设计,游戏会多赚100万。呵呵。甚至你可以给老板做一个小“玩具”,让他去玩,让他去爽

    9 如果有可能,你自己去学习些文案,剧情,系统,哪怕是从抄做起。
    一个好的数值,自己写的功能,自己去跟进实现,一个数值,系统能力一定不要太低。学些一些剧情,陶冶情操,更全方面的发展也是不错的选择

    10 如果有可能,你可以去学习"运""营"和市场的一些理论,不要上来就觉得人家是混子,一些"运""营",他们的报表完全够你学很久。一个精通市场,精通"运""营"的数值,会更有发展前途

    你会发现各种门类是互补的,当你在游戏设计数值中不明白为什么要这样设计的时候,你会从其他角度印证,立刻明白这样设计的好处,并且总结,规划之后,有了更优的算法。



    如果你相信其他人所谓的“感受理论”,你的路会很好走,但是你会很“空虚”。我做过只靠拍脑袋就完成的项目,也做过复杂到一个系统我研究了三个月没有吃透的项目,

    那种感受,那种成就是不一样的。



    我在文章中并非夸大了数值“工具”的作用,人才是根本,是学剧情,学运营,都是一个态度。而是我希望游戏数值可以“一专”起来,不要别人一提游戏数值,游戏策划,就一脸“混子”的表情。

    首先我是认可数值感受,但是我更推崇依靠对于工具、语言和其他门类的学习,经过项目的洗练,经过同事们的质疑,经过市场的检验,经过自我的反思,最终形成了一种对数值特有的敏锐感受。那种感受才是靠谱的,而不是别人跟你说:

    我做了多少年多少年,什么什么项目,靠的就是纸和笔,用的就是小学算术。言下之意不言而喻:“XX都可以做数值”。

    不要问别人,问你自己。你的内心会告诉你什么是正确的。


    <img src="https://pic2.zhimg.com/6d9b6e7d49307f33b17ca739141ab839_b.jpg" data-rawwidth="949" data-rawheight="609" class="origin_image zh-lightbox-thumb" width="949" data-original="https://pic2.zhimg.com/6d9b6e7d49307f33b17ca739141ab839_r.jpg">


    个人浅见——我认为一个合格的数值


    初期要懂得 excel 至少要懂得查询函数,偏移函数,if判断,可以写出简单的跨表查询,利用自有控件和按钮做出来一些简单可调试的文件。懂得自定义函数,懂得定义单元格写中文公式,懂得简单的录制宏。
    这样可以反推别人的数值,扒皮,导入,

    中期要懂得 概率学,统计学的知识,如果不懂得高数,至少要去读几本书,看上几十篇视频,用vba完全脱离excel的框架,写出来各种数值工具。

    后期要懂得经济学原理,去读一些fortran语言,使用matlab工具,去研究物理碰撞(个人兴趣)以及一些特殊的算法。


    我检讨在我的文字中出现了某些看似装B的内容,例如matlab,例如离散,概率,统计等等概念,但是这些真的只是《高数》最最基本的课程

    我思考了,我创新了,我努力了
    我没有一直抄袭别人的东西,

    我作为一个数值,也并非一定合格,但是

    专业知识才是一个数值需要一直追求的。特别是语言和数值设计,最终掌握了多少设计思想,懂得用多少工具,拥有独特的设计理念和设计手法,才是区分数值水平高下的“唯一”标准

    数值作为一个职业,是一直向上努力学习的过程。
    这个职业允许一些达到顶级的大神,经历了无数项目,努力学习了无数工具之后,自嘲的说一句:“游戏数值啊,小学毕业就可以了。”

    但是,你要是真信了,才真是脑子有问题的。
    <img src="https://pic4.zhimg.com/9d680051a4d36aed3a6a2b31f2c54887_b.jpg" data-rawwidth="1082" data-rawheight="601" class="origin_image zh-lightbox-thumb" width="1082" data-original="https://pic4.zhimg.com/9d680051a4d36aed3a6a2b31f2c54887_r.jpg">
    小学毕业可以当老板,但是小学毕业想做“技术”,您还是斟酌一下吧。
    数值是一门核心技术,需要相当的知识储备和才学才可以做到“合格”二字。





    在这里我也奉劝各位对数值不是特别感兴趣,但是被他的薪水吸引了的朋友一句
    数值开始工资略高,但是升级缓慢,越到后期,需要投入的努力和回报不成正比。
    远不如系统策划好升级好混。
    LV1的数值工资是比LV1的系统高
    但是LV1的数值要升级到 LV10 经验比 系统高了10倍,难度递增,请你考虑清楚再择业。

    至于模型变幻,这种东西,我觉得只要在EXCEL表里做一下关联,哪怕是新手数值都可以做到
    但是好的数值模型是需要大量的心血和代码来维护的,

    以我曾做过的一个项目为例,里面的任何一个模块,里面的代码量和函数复杂程度都不是我敢轻易去变更的,因为他已经形成了一个系统,形成了一个类似引擎一样的工具,

    在多次建模之后,我有了全新的思路和设计,但是老的模块,我会放弃变更,

    太复杂,太有难度了。重新做一个都比改他容易。

    我觉得分模块制作和用控制台维护是新手数值必须经历的一个过程,可以尝试着用excel自带的VBA和控件尝试着制作一下。很简单。




    自己制作的工具和引擎自带的工具会有什么不同


    至于自己制作的工具和引擎自带的工具会有什么不同,我认为最大的不同是:
    1 自己制作的引擎更为活络,可以支持更多的变化
    2 某些个人的小项目不需要太牛的数值,因为大部分的游戏数值60分就可以了。数值80分以上需要匹配的是“大作”,因为数值远远没有美术表现更容易被玩家接受。
    3 如果你有能力,可以尝试着自制一些小的工具

    如果题主真的对数值不是很有把握的话,我建议就在游戏制作工具允许的范围内,拉几个参数就可以了。不要对数值太较真。

    帮助数值策划决定取值范围、增长函数等等内容的工具 ,我认为是有的,你只需要去任何一个数

    值策划的 QQ群里,去下一些他们做过的数值模型和项目,就可以知道函数的取值范围了。
    但是其他人的项目是否适合你的工程,
    是值得商榷的,而且我认为

    确定数值取值范围更多的是依靠数值自身的经验和能力去把控,如果单一的依赖某一个工具,会很不靠谱,因为所有的参数我虽然可以可以定义 数据有效性
    但是这个数据有效性仅仅对我本人的项目有效,在其他项目中,就已经不再适合了。

    最终我想说,如果题主是想想数值方面发展,建议去找一个专业的论坛,例如excelhome等去多看一看别人的文章

    如果你是想做一个项目,那么建议你直接招聘一个靠谱的数值,这样你的路会走起来更便捷一些。



    最后感谢每一个看我帖子的朋友,感谢你们的关注!

    我的核心观点
    : 数值感受是通过学习和使用工具,在很多项目中历练出来的,而不是某个人给你说,数值感受你天生就有,不需要学习,上来就比所有工具都强。
    这是不可能的。

    多看,多读,多学,
    多问,多行,多思


    不要让网络降低了自己的智商,没有那么多的人非得在你面前装B才能活得下去。
    没有那么简单容易走的路,可以什么都不用学,就可以干得很好。
    多用用脑子思考一下,如果你是老板,
    一个人说他数值思想很好,很会设计,巴拉巴拉巴拉……
    另外一个人只告诉你,他精通EXCEL,精通VBA,懂得各种数值工具,做了什么什么项目,
    你会考虑用谁?

    做一个靠谱的策划,这是我唯一的心愿。
    展开全文
  • 什么是一维椭圆问题 形如u′′(x)=af(x)的形式。标准形式一边是关于u关于x的二阶导数,一边是关于x的函数。 求解思路 我们现在用有限差分法解下面...用差分的格式代替对方程中各阶导数 进行边界的处理 解代数方程...

    1.两点边值问题形式

    一般的两点边值问题形式为:
    uxx=f(x)-u_{xx}=f(x)
    u(a)=α,u(b)=βu(a)=\alpha,u(b)=\beta

    下给出一个具体两点边值的问题用以分析:
    uxx=16π2sin(4πx)-u_{xx}=16\pi^2sin(4\pi x)
    u(0)=0,u(1)=0u(0)=0,u(1)=0
    其中问题的真解为:u(x)=sin(4πx)u(x)=sin(4πx)

    2.求解思路

    按照我们上一节中有限差分法步骤:

    1. 求解区域的划分
      将区间[0,1]等距划分为n份,节点记为x0,x1,x2...xnx_0,x_1,x_2...x_n
      在这里插入图片描述
    2. 选取差分格式
      以二阶中心差分格式 xi+1+xi12xih2\frac{x_{i+1}+x_{i-1}-2x_{i}}{h^2} 代替题目中的 uxxu_{xx}
      即可以得到 xi+1+xi12xih2=16π2sin(4πx)\frac{x_{i+1}+x_{i-1}-2x_{i}}{h^2}=16\pi^2sin(4\pi x) (式2.1),其中 i =0,1,2…n
    3. 边界处理
      这里已经给出了具体的边值 u(0)=0,u(1)=0u(0)=0,u(1)=0 ,和方程是相容的,不需要额外的处理.
    4. 得出代数方程组并求解
      将上面的(式2.1)写成代数方程组的格式,即:
      {x0=0ax0+bx1+ax2=f(x1)ax1+bx2+ax3=f(x2)axn2+bxn1+axn=f(xn1)xn=0\begin{cases} x_0=0\\ ax_0+bx_1+ax_2=f(x_1)\\ ax_1+bx_2+ax_3=f(x_2)\\ \vdots\\ ax_{n-2}+bx_{n-1}+ax_n=f(x_{n-1})\\ x_n=0 \end{cases}
      其中a=1h2,b=2h2a=-\frac{1}{h^2},b=\frac{2}{h^2}
      将方程组左端转化为成矩阵形式,即为一个类三对角矩阵,将其记为A:
      A=[10000aba000aba000aba00001]A=\begin{bmatrix} {1}&{0}&{0}&{0}&{\cdots}&{0}\\ {a}&{b}&{a}&{0}&{\cdots}&{0}\\ {0}&{a}&{b}&{a}&{\cdots}&{0}\\ {\vdots}&{\vdots}&{\vdots}&{\vdots}&{\ddots}&{\vdots}\\ {0}&{0}&{\cdots}&{a}&{b}&{a}\\ {0}&{0}&{\cdots}&{0}&{0}&{1}\\ \end{bmatrix}
      方程右端记为矩阵b:
      b=[f(x0),f(x1),f(x2)f(xn)]Tb=\begin{bmatrix} {f(x_0)},{f(x_1)},{f(x_2)}&{\cdots}&{f(x_n)}\\ \end{bmatrix}^T
      即求解 Ax=bAx=b

    3.求解代码与结果分析

    先以将区间划分为20份为例,求出数值解

    import numpy as np
    #准备工作
    def initial(L,R,NS):
        x = np.linspace(L,R,NS+1)
        h = (R-L) / NS
        return x,h
    
    #右端函数f
    def f(x):
        return 16*(np.pi)**2*np.sin(4*np.pi*x)
    #解方程
    def solve(NS):
        #矩阵A
        A1 = np.array([1]+[b]*(NS-1)+[1])
        A2 = np.array([a]*(NS-1)+[0])
        A3 = np.array([0]+[a]*(NS-1))
        A = np.diag(A1)+np.diag(A2,-1)+np.diag(A3,1)
        #矩阵b
        br = f(x)
        uh = np.linalg.solve(A,br)
        return uh
    L = 0.0       
    R = 1.0
    NS = 20
    
    x,h = initial(L,R,NS)
    a = -1/h**2
    b = 2/h**2
    uh = solve(NS)
    print("N=20时数值解\n",uh)
    

    结果:

    [Out]:
    N=20时数值解
     [ 1.09917379e-14  6.07510380e-01  9.82972443e-01  9.82972443e-01
      6.07510380e-01 -1.13114821e-14 -6.07510380e-01 -9.82972443e-01
     -9.82972443e-01 -6.07510380e-01 -3.28309853e-14  6.07510380e-01
      9.82972443e-01  9.82972443e-01  6.07510380e-01 -5.45035987e-14
     -6.07510380e-01 -9.82972443e-01 -9.82972443e-01 -6.07510380e-01
     -7.73553884e-14]
    

    是不是解出数值解就完事了呢?当然不是。我们可以将问题的差分格式解与问题的真解进行比较,以得到解的可靠性。通过数学计算我们得到问题的真解为 u(x)=sin(4πx)u(x)=sin(4πx),现用范数来衡量误差的大小:

    #真解函数
    def ture_u(x):
        ture_u = np.sin(4*np.pi*x)
        return ture_u
    t_u = ture_u(x)
    print("N=20时真解\n",t_u)
    #误差范数
    def err(ture_u,uh):
        ee = max(abs(ture_u-uh))
        e0 = np.sqrt(sum((ture_u-uh)**2)*h)
        return ee,e0
    ee,e0 = err(t_u,uh)
    print('最大模范数下的误差',ee)
    print('平方和范数下的误差',e0)
    

    结果:

    [Out]:
    N=20时真解
     [ 0.00000000e+00  5.87785252e-01  9.51056516e-01  9.51056516e-01
      5.87785252e-01  1.22464680e-16 -5.87785252e-01 -9.51056516e-01
     -9.51056516e-01 -5.87785252e-01 -2.44929360e-16  5.87785252e-01
      9.51056516e-01  9.51056516e-01  5.87785252e-01  3.67394040e-16
     -5.87785252e-01 -9.51056516e-01 -9.51056516e-01 -5.87785252e-01
     -4.89858720e-16]
    最大模范数下的误差 0.03191592653467212
    平方和范数下的误差 0.023729365914438843
    

    接下来绘图比较NS=20时与真解的差距:

    #绘图比较
    import matplotlib.pyplot as plt
    plt.figure()
    plt.plot(x,uh)
    plt.plot(x,t_u)
    plt.title("solution")
    plt.show()
    

    结果:
    在这里插入图片描述

    最后,我们还可以从数学的角度分析所采用的差分格式的一些性质。因为差分格式的误差为 O(h2)O(h^2) ,所以理论上来说网格每加密一倍,与真解的误差大致会缩小到原来的1/41/4。下讨论网格加密时的变化:

    #误差与网格关系讨论
    N = [10,20,40,80]
    print("接下来是网格密度加倍时误差变化情况")
    for i in range (4):
        NS = N[i]
        x,h = initial(L,R,NS)
        a = -1/h**2
        b = 2/h**2
        uh = solve(NS)
        t_u = ture_u(x)
        ee,e0 = err(t_u,uh)
        print(ee)
    

    结果:

    接下来是网格密度加倍时误差变化情况
    0.13569108849388545
    0.03191592653467212
    0.00826541696629457
    0.002058706764599627
    

    由结果观察可知,当网格每加密一倍时误差确实减少为原来的1/41/4

    至此,两点边值的相关问题已经分析完了,下一节我们将讨论均匀直棒热传导问题(抛物型问题)。博主在准备考研中,不过还是会尽快更新的~

    展开全文
  • 有一种场景需求,一个float数值,以一定的速度,逼近一个目标数值。不使用tween和差值算法,这里我们用一个超级简单的update自己来。 float curX; float targetX; float speed; void Update() { if (curX != ...

    有一种场景需求,一个float数值,以一定的速度,逼近一个目标数值。不使用tween和差值算法,这里我们用一个超级简单的update自己来算。

    float curX;
    float targetX;
    float speed;
    
    void Update()
    {
            if (curX != targetX)
            {
                if (curX > targetX)
                {
                    curX -= speed;
    
                    if (curX <targetX)
                    {
                       curX = targetX;
                    }
                }
                else if (curX < targetX)
                {
                    curX += speed;
    
                    if (curX > targetX)
                    {
                        curX = targetX;
                    }
                }
            }
    }
    float数值无法准确判断,curX == targetX的情况。在对curX做speed变化的时候,curX会在targetX数值附近浮动。这里使用了一些判断,确保curX可以被赋值targetX,一旦curX抵达targetX,就不在对curX的判断和计算。


    展开全文
  • 数值分析

    千次阅读 2018-07-27 16:30:43
    数值分析 (数学下属学科) 数值分析(numerical analysis)是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象,为计算数学的...
  • 该代码具有3个功能: -polegende生成legendre polinomyal。 -flege执行积分变量更改以将任何间隔[a,b]更改为[-1,1],以便可以正确评估积分。 -gausslegende数值评估函数[f]的积分 代码获取
  • 求以log2为底的对数值

    千次阅读 2016-12-29 16:41:25
    如 log2(65)=6; 经验,最大支持2^32-1值的输入 Uint8 Log2EX(Uint32 x) { Uint8 i=0; for(i=31;i>=0;i--) { if(1 ==(x>>i)&0x1){ break; } }  return i; }
  • 数值计算数值积分实现

    千次阅读 2013-12-20 21:26:39
    我们知道,计算机处理的是离散的、不连续的问题,这与数值积分的思想高度吻合,因此有必要运用计算机研究定积分的数值计算问题。 三、算法描述( Linear equation ) 1 、 Constant_rule 使用数组 nun_...
  • TensorFlow数值基础

    千次阅读 2021-03-22 19:18:34
    数据类型,包含数值类型,字符串类型和布尔类型。 数值类型 数值类型是TensorFlow的主要数据载体,根据维度数来区分可分为: 标量:单个的实数,维度数为0,shape为[]。 向量:n个实数的有有序集合,通过中括号包裹...
  • 书上都说keil对数值常量的默认类型是int(注:keil中,sizeof(int) = 2) 这样的话,对于下面表达式是不是有溢出问题? 20000000 / (1000*12) (因为200000000远大于int所能表示的范围)   但是keil ...
  • 数值分析之数值稳定性篇

    千次阅读 2017-01-01 21:09:00
    稳定性是数值分析的一个基本问题。 --L N. Trefethen 一个问题定...
  • 数值分析中有效数字的定义

    千次阅读 2018-11-11 18:01:01
    定义: 设数x是数x的近似值,如果x的绝对误差限是它的某一数位的半个单位,并且从x左起第一个非零数字到该数位共有n位,则称这n个数字为x的有效数字,也称用x近似x时具有n位有效数字。 看几个例题 ...
  • 数值计算】计算机中的数值计算

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

    千次阅读 2018-07-15 10:49:34
    问题描述取h=0.1时用Euler法,改进Euler法,Rung-Kutta方法求其数值解并与精确解进行比较。输入:求解区间,初值,数值解个数输出:数值解基本公式改进欧拉公式: 四阶龙格—库塔方法:流程图改进的欧拉方程 : 四...
  • 既然这次分享的主题是帮助大学生对数值策划岗位的了解和扫盲,因此后续的分享内容更多也是出于小编从入行到现在的一些从0到1的学习和实践过程,文章分为2部分,扫盲篇和番外篇.  很多同学对数学本身会有抵触,和小...
  • KMP算法以及next函数值、nextval函数值的计算方法 ...先了解一下最简单直观的模式匹配算法BF(Brute-Force)算法,理解KMP算法做个铺垫! 1、BF算法 假设S=“BBC ABCDAB ABCDABCDBADE”,P=“ABCDABD”。
  • 这次来实现三角线方程组的追赶法,追赶法的本质还是高斯消元法,而且是没选主元的高斯消元法,只是因为Ax=b中系数矩阵A非常特殊,所以就可以采用相对特殊的方法来解方程组。同样,按照常规的步骤,先分析什么是...
  • 常用数值计算库

    千次阅读 2015-08-02 18:14:32
    最近在使用数值库进行稀疏矩阵线性方程组的求解,接触了一些数值计算库,主要包括:MKL, GMM++等库。 MKL库是intel的一个运算库,大名鼎鼎的matlab中都使用MKL进行数值运算,但唯一的缺点是它是需要收费的。MKL有30...
  • 面向多核的数值计算:NAG多核并行算法库 来源:NAG 作者:NAG 发布时间:2012/3/22 16:30 点击数:495 次   科学家、商业与金融界的分析师、工程技术研究人员、正探寻...
  • 评估数值预测 1.几种误差的计算方式 2.几种常见衡量方式优缺点对比 均方误差 衡量方式 特点 均方误差 趋向夸大 平均绝对误差 所有错误,根据大小公平对待 均方误差 趋向夸大 ...
  • 博主在这段时间将不断更新有限差分法在偏微分方程中的应用,并以python为工具讲解三类偏微分方程的有限差分法实现。 直通链接: ...将一个问题转化为微分方程后,如何得到尽可能逼近真解的数值解,是我们...
  • 数值分析LU分解法

    千次阅读 2019-11-05 22:11:26
    数值分析的LU分解法 最近学习,以下是个人心得体会:(这里重点讲如何解题) 1.简介: 在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的...
  • 火灾数值模拟方法

    2020-09-16 19:09:22
    火灾数值模拟方法 火灾动力学包括复杂的物理化学过程,主要有流体动力学、热动力学、燃烧学、辐射传热,甚至多相流动。 火灾模拟: 前处理技术:网格生成 计算模型:控制方程、湍流模型、燃烧模型、辐射模型及模型...
  • 数值策划要做什么? 有一天和朋友闲聊,说起我在做数值策划,他突然用很崇拜的语气问我:“是不是要会很多牛x的公式?”。其实很多人都会这样的想法:要会很多公式、数学要很厉害才能做数值策划。真的是这样么?...
  • http://www.gameres.com/456687.html 5 天前 上传 下载附件 (189.15 KB) ... 下面具体说说我对数值工作的想法。  1)不要随大流。  例如,很多人就认为腾讯能成功靠的
  • 数值计算中的误差

    2020-12-01 22:20:36
    1.数值计算的内容:
  • 数值策划入门杂谈

    千次阅读 2010-07-17 15:56:00
    本文写于2009-6-26出于对数值的热情和一些其他的原因,我写下了这篇文章,说的都是自己的体会和浅见,如果引来板砖捧场,我非常乐意。说实话,我是一个程序员,不是一个专职的策划,但数值一直是我这些年来最感兴趣...
  • 变量数值计算(一)

    千次阅读 2018-02-01 00:58:26
    在以上的脚本中 我们定义了特殊的位置变量 下面定义了数值运算,那么这个脚本的功能是,当我们输入两个字符,其中第一个字符赋值给了变量a 第二个字符赋值给了变量b 那么在下面进行数值运算,如果此脚本看不懂的大家...
  • C语言数值溢出

    千次阅读 2018-05-07 18:17:16
    对于大多数编译器来说,得啥就是啥。比如: 1 2 signed char x =0x7f; //注:0xff就是-1了,因为最高位是1也就是负数了 printf ( "%d\n" , ++x); 上面的代码会输出:-128,因为0x7f + 0x01得到0x80,也就是二...
  • 浅谈数值稳定性

    万次阅读 2014-11-26 14:16:09
    在计算机编程中,有时候同一个计算问题,不同算法中舍入误差计算的结果产生的影响各不相同,舍入误差计算结果的精确度影响小的算法,具有较好的数值稳定性;反之,算法的数值稳定性差。所设计的

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 147,145
精华内容 58,858
关键字:

对数值怎么算