百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

学了二十几年的数学,你知道函数的本质是什么吗?

yuyutoo 2025-01-16 21:30 5 浏览 0 评论

为了解释函数的本质是什么?有必要知道函数的发展史,通过了解函数的发展历程,我们可以从表面本质彻底的认识函数!

第一个历程,几何观念下的函数

1.伽利略是最早透露出函数概念的,只不过当时用的不是函数这个名词,他指出:用文字和比例的语言表达两个量的关系。仅此而已。

2.随后解析几何出现,直角坐标系的发明者笛卡尔在解析几何中注意到:"两个变量之间的关系也一个变量,总是依靠另一个变量而存在"。很遗憾的是,当时大部分函数都被当做曲线来研究,并没有意识到需要提炼出函数这一概念!

3.时间到了1673年,莱布尼茨首次使用"function"表示"幂",后来陆续用function表示曲线上点的坐标或者与曲线有关的量,这个时候"function"的词义应该不被翻译成函数,应该翻译成"功能"(个人观点),但是无论如何,1673年是数学历史上第一次见到"function"一词,是历史性的突破!直到现在,依然都是使用它!

第二个历程,代数观念下的函数

1.1718年,伯努力在莱布尼茨的基础上,对函数再次进行了定义:"强调函数需要用公式来表示",到这儿可以看出比较接近我们现代函数了。

2.1756年,伟大数学家欧拉给出定义,一个变量的函数是由这个变量和一些数(即常数),以任何方式组成的解析表达式。可以看出这个概念中解析式对于函数的重要意义被体现出来,比伯努利的定义更普遍,更具有广泛意义。

第三个历程,对应关系下的函数

不要着急,很接近本质了!

1.1821年,柯西指出一个函数需要有两个变量,一个是自变量,一个是因变量。此时此刻,函数模型非常类似我们初中学的函数概念!

对于柯西这个大佬不用过多介绍,高中生只是知道一个"柯西不等式",高考还不一定用的上,但是到了大学,柯西才正式登上舞台,会被虐的体无完肤!你有类似的经历么?反正我当年对他是又爱又恨!

2.1837年,狄利克雷(Dirichlet)指出:对于在某区间上的每一个确定的x值,y都有一个确定的值,那么y叫做x的函数,自此诞生了函数的经典定义。

3.康托尔建立了集合论,美国数学家维布伦用集合和对应的概念给出了近代函数的概念,同时,打破了变量是数的局限性,变量可以是数,也可以是其他对象。

第四个历程,集合论下的函数

1930年,新的代现代函数定义为:

若对集合M的任意元素x,总有集合N确定的元素y与之对应,则称在集合M上定义一个函数,记为y=f(x)。元素x称为自变量,y称为因变量。

现代函数的本质,重点强调"映射""法则""对应""变换"。哪个词都可以,有了这个概念,不仅可以做简单的函数对应,也可以做复合函数的对应。

简单函数:x对应y

复合函数:x对应y,y对应z,如下图,就构成了复合函数!

中文的"函数"

函数这个词本身是舶来品,"function"这个词在英文中就是功能的意思,那么是谁把它翻译成函数的呢?

答案是清代的数学家李善兰。是他首次将"function"译为"函数"

看完了函数的发展历程,可以看出函数的发展是不断得到严谨化,精确化的过程,逐渐地通过表面现象抽离出函数的本质,这与我们学习函数的过程是一样的!从初中那种单纯的自变量,因变量的关系,到高中在对应法则下,用映射定义出的函数!在到大学多元,多对应的复变函数等等!

以上是我发表的自己观点。

相关推荐

.NET 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......

...

全局和隐式 using 指令详解(全局命令)

1.什么是全局和隐式using?在.NET6及更高版本中,Microsoft引入了...

请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍

1、介绍模块化单体是一种架构风格,代码是根据模块的概念构成的。对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spri...

ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战

我是一位多年后端经验的工程师,其中前几年用ASP.NET...

.NET AOT 详解(.net 6 aot)

简介AOT(Ahead-Of-TimeCompilation)是一种将代码直接编译为机器码的技术,与传统的...

一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)

哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!...

asar归档解包(游戏arc文件解包)

要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程。...

在PyCharm 中免费集成Amazon CodeWhisperer

CodeWhisperer是Amazon发布的一款免费的AI编程辅助小工具,可在你的集成开发环境(IDE)中生成实时单行或全函数代码建议,帮助你快速构建软件。简单来说,AmazonCodeWhi...

2014年最优秀JavaScript编辑器大盘点

1.WebstormWebStorm是一种轻量级的、功能强大的IDE,为Node.js复杂的客户端开发和服务器端开发提供完美的解决方案。WebStorm的智能代码编辑器支持JavaScript,...

基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享

项目简介:基于JS的超轻量级聊天软件。前端:vue、iview、electron实现的PC桌面版聊天程序,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。支持...

JetBrains Toolbox推出全新产品订阅授权模式

捷克知名软件开发公司JetBrains最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境IntelliJIDEA,相信很多开发者都有所了解。而近期自2015年11月2日起,JetBr...

idea最新激活jetbrains-agent.jar包,亲测有效

这里分享一个2019.3.3版本的jetbrains-agent.jar,亲测有效,在网上找了很多都不能使用,终于找到一个可以使用的了,这里分享一下具体激活步骤,此方法适用于Jebrains家所有产品...

CountDownTimer的理解(countdowntomars)

CountDownTimer是android开发常用的计时类,按照注释中的说明使用方法如下:kotlin:object:CountDownTimer(30000,1000){...

反射为什么性能会很慢?(反射时为什么会越来越长)

1.背景前段时间维护一个5、6年前的项目,项目总是在某些功能使用上不尽人意,性能上总是差一些,仔细过了一下代码发现使用了不少封装好的工具类,工具类里面用了好多的反射,反射会影响到执行效率吗?盲猜了一...

btrace 开源!基于 Systrace 高性能 Trace 工具

介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进...

取消回复欢迎 发表评论: