关于一个简单函数方程问题的探究过程

这个问题是一个高中同学问我的,来源是某张高数卷子的原题。但这个问题并不严谨,据说高数卷子默认为给出的函数都是任意阶可导的,而且所有函数以及其所有导数全部连续。问题本身是很简单的,看一眼就能得到答案。但是在给出这么强的条件下,我不得不开始思考,满足这样条件的函数存在吗?

我“仔细思考”半个小时之后,写出比较冗长的步骤把这个问题给证伪了:这样的函数是不存在的。但是在我第二天拿出之前的草稿,发现自己有一个地方写错了,尽管错误不明显,无奈之下只能重新想别的办法否定这个问题。最后用别的办法把这个函数给求出来了。这个函数的形式竟然如此简单,但我为了得到这个函数却没有更简单的方法。这也是函数方程的困难所在,为了追求解题的严谨,解出函数的过程往往不那么容易。

那么,感兴趣的同学可以看一看我两次的论证过程,希望你可以从中体会到什么。

问题:已知f(x+y)=f(x)g(y)+f(y)g(x),f(0)=0,f′(0)=1,g′(0)=0,求证:f′(x)=g(x).问题:已知f(x+y)=f(x)g(y)+f(y)g(x),f(0)=0,f'(0)=1,g'(0)=0,求证:f'(x)=g(x).问题:已知f(x+y)=f(x)g(y)+f(y)g(x),f(0)=0,f′(0)=1,g′(0)=0,求证:f′(x)=g(x).
证明:

等式两端对y求偏导数,得:
f′(x+y)=f(x)g′(y)+f′(y)g(x)⋯⋯①f'(x+y)=f(x)g'(y)+f'(y)g(x)\cdots\cdots①f′(x+y)=f(x)g′(y)+f′(y)g(x)⋯⋯①
令x=0,得:
f′(y)=f(0)g′(y)+f′(y)g(0)=g′(y)f'(y)=f(0)g'(y)+f'(y)g(0)=g'(y)f′(y)=f(0)g′(y)+f′(y)g(0)=g′(y)

证毕.

那么,我们怎么证明这个函数是不存在的呢?首先写出我第一次错误的证法。
证明:证明:证明:

在①式中令y=x,得:在①式中令y=x,得:在①式中令y=x,得:
f′(2x)=f′(x)g(x)+f(x)g′(x)=[f(x)g(x)]′⋯⋯②f'(2x)=f'(x)g(x)+f(x)g'(x)=[f(x)g(x)]'\cdots\cdots②f′(2x)=f′(x)g(x)+f(x)g′(x)=[f(x)g(x)]′⋯⋯②对②式两端积分得:对②式两端积分得:对②式两端积分得:
f(2x)=f(x)g(x)+Cf(2x)=f(x)g(x)+Cf(2x)=f(x)g(x)+C令x=0:令x=0:令x=0:
0=0+C0=0+C0=0+C也即也即也即
C=0,f(2x)=f(x)g(x)⋯⋯③C=0,f(2x)=f(x)g(x)\cdots\cdots③C=0,f(2x)=f(x)g(x)⋯⋯③在题干的式子中,令x=y:在题干的式子中,令x=y:在题干的式子中,令x=y:
f(2x)=2f(x)g(x)⋯⋯④f(2x)=2f(x)g(x)\cdots\cdots④f(2x)=2f(x)g(x)⋯⋯④由③④知:由③④知:由③④知:
[f2(x)]′=2f(x)f′(x)=2f(x)g(x)=0[f^2(x)]'=2f(x)f'(x)=2f(x)g(x)=0[f2(x)]′=2f(x)f′(x)=2f(x)g(x)=0对上式积分:对上式积分:对上式积分:
f2(x)=C=f2(0)=0f^2(x)=C=f^2(0)=0f2(x)=C=f2(0)=0也就是也就是也就是
f(x)=0,f′(x)=0,与f′(0)=1矛盾!f(x)=0,f'(x)=0,与f'(0)=1矛盾!f(x)=0,f′(x)=0,与f′(0)=1矛盾!所以符合题意的函数是不存在的。所以符合题意的函数是不存在的。所以符合题意的函数是不存在的。

证毕.证毕.证毕.

有没有看出上述步骤的错误呢?其实在第二步“对②式两端积分”时,左边的积分的变量是2x,我当时没有考虑到这里的换元问题,导致等式右边的系数少了一个2,最后③式与④式应该是完全相同的。那么,我们重新来探究这个问题。

证明:证明:证明:

对题干中的式子,我们令x=−y,有:对题干中的式子,我们令x=-y,有:对题干中的式子,我们令x=−y,有:
0=f(x)f′(−x)+f(−x)f′(x)0=f(x)f'(-x)+f(-x)f'(x)0=f(x)f′(−x)+f(−x)f′(x) 构造函数F(x)=f(x)/f(−x),有F′(x)=0构造函数F(x)=f(x)/f(-x),有F'(x)=0构造函数F(x)=f(x)/f(−x),有F′(x)=0

两端积分:两端积分:两端积分: f(x)=Cf(−x)f(x)=Cf(-x)f(x)=Cf(−x) 两端求导:两端求导:两端求导:
f′(x)=−Cf′(−x)f'(x)=-Cf'(-x)f′(x)=−Cf′(−x) 令x=0:令x=0:令x=0:
C=−1C=-1C=−1 所以f(x)是奇函数,f′(x)是偶函数,f′′(x)是奇函数。所以f(x)是奇函数,f'(x)是偶函数,f''(x)是奇函数。所以f(x)是奇函数,f′(x)是偶函数,f′′(x)是奇函数。

在题干的式子中令y=−2x,我们有:在题干的式子中令y=-2x,我们有:在题干的式子中令y=−2x,我们有:
f(−x)=f(x)f′(−2x)+f(−2x)f′(x)f(-x)=f(x)f'(-2x)+f(-2x)f'(x)f(−x)=f(x)f′(−2x)+f(−2x)f′(x)把−x替换为x并利用奇偶性:把-x替换为x并利用奇偶性:把−x替换为x并利用奇偶性:
f(x)=−f(x)f′(2x)+f(2x)f′(x)⋯⋯⑤f(x)=-f(x)f'(2x)+f(2x)f'(x)\cdots\cdots⑤f(x)=−f(x)f′(2x)+f(2x)f′(x)⋯⋯⑤由④式,我们有:由④式,我们有:由④式,我们有:
f(2x)=2f(x)f′(x)⋯⋯⑥f(2x)=2f(x)f'(x)\cdots\cdots⑥f(2x)=2f(x)f′(x)⋯⋯⑥对其两端求导:对其两端求导:对其两端求导:
f′(2x)=[f′(x)]2+f(x)f′′(x)⋯⋯⑦f'(2x)=[f'(x)]^2+f(x)f''(x)\cdots\cdots⑦f′(2x)=[f′(x)]2+f(x)f′′(x)⋯⋯⑦将⑥⑦带入⑤式:将⑥⑦带入⑤式:将⑥⑦带入⑤式:
f(x)=−f(x)([f′(x)]2+f(x)f′′(x))+2f(x)[f′(x)]2f(x)=-f(x)([f'(x)]^2+f(x)f''(x))+2f(x)[f'(x)]^2f(x)=−f(x)([f′(x)]2+f(x)f′′(x))+2f(x)[f′(x)]2f(x)≠0时,有:f(x)≠0时,有:f(x)̸​=0时,有:
1=[f′(x)]2−f(x)f′′(x)1=[f'(x)]^2-f(x)f''(x)1=[f′(x)]2−f(x)f′′(x)利用初值条件,解这个微分方程,我们有:利用初值条件,解这个微分方程,我们有:利用初值条件,解这个微分方程,我们有:
f(x)=xf(x)=xf(x)=x显然这个函数是满足条件的.显然这个函数是满足条件的.显然这个函数是满足条件的.

解决这个函数方程确实花了我不少精力,尤其是在解最后一个微分方程时,过程是相当复杂的,这里省略了解方程的步骤。可见做出一个断言之前必须要有充分的理论支持。即使认为一个结论不正确,也应该自己在纸上把每一步的想法写清楚才能成功。这也是我的老师经常教我的:再显然的结论,也要严谨地写出来,不然等到你失败了,一切都晚了。

关于一个简单函数方程问题的深入探究相关推荐

  1. 自己动手实现一个简单的JSON解析器

    1. 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 XML,JSON 有着诸多优点.比如易读性更好,占用空间更少等.在 ...

  2. json string 格式_自己动手实现一个简单的JSON解析器

    作者:田小波 原文:http://cnblogs.com/nullllun/p/8358146.html 1. 背景 JSON(JavaScript Object Notation) 是一种轻量级的数 ...

  3. 用java开发一个简单的安卓程序,Android NDK开发简单程序分享(Hello Word!)

    在之前的博客中已经为大家介绍了,如何在win环境下配置DNK程序,本篇我将带大家实现一个简单的Hello jni程序,让大家真正感受一下NDK开发的魅力.这里我们选择使用C+JAVA开发Android ...

  4. 手写了一个简单的JSON解析器,网友直乎:牛!

    作者 | 田小波 来源 | http://r3m2u.cn/4455O 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 X ...

  5. 如何用Kotlin实现一个简单的Activity

    最近,Google公司正式宣布在Studio支持Kotlin语言开发Andriod,并支持java文件直接转变为kt(kotlin)文件.在初步学习了Kotlin基本语法后,忍不住code一下,最开始 ...

  6. [基因课学习笔记]一个简单的基因家族分析

    工作背景 探究在芝麻.大豆以及拟南芥中FAD4-like基因家族进化关系,并使其可视化(进化树) 操作环境及软件的准备 虚拟机应用:VMware Workstation pro 17 虚拟机操作系统: ...

  7. 【2021软件创新实验室暑假集训】SpringMVC框架(设计原理、简单使用、源码探究)

    系列文章目录 20级 Java篇 [2021软件创新实验室暑假集训]计算机的起源与大致原理 [2021软件创新实验室暑假集训]Java基础(一) [2021软件创新实验室暑假集训]Java基础(二) ...

  8. 写一个简单的操作系统

    摘 要 如果一定要找出OS最重要的核心,那就是调度器,调度器本身即可以看作一个简单的操作系统,允许以周期性或单次方式来调用任务.从底层的角度看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程 ...

  9. 利用霍尔效应传感器和Arduino研究了一个简单的钟摆

    A simple pendulum studied using Hall effect sensor and Arduino 利用霍尔效应传感器和Arduino研究了一个简单的钟摆:原文(Hall e ...

最新文章

  1. 1080Ti 就搞定最新 SOTA 模型?一个普通研究生勇敢发毕业论文引起热议
  2. NFS安装系统及PS1设定
  3. easyui toolbar分隔线
  4. JavaScript事件处理的三种方式(转)
  5. Pixel Bender 之 Flex 特效使用
  6. 开机按F1才能进入(启动)系统的解决方案
  7. 无意间把你的个人资料当圣诞礼物,送给了网络犯罪份子吗?
  8. iptables联系一
  9. KETTLE教程:转换
  10. gma 教程 | 气候气象 | 计算标准化降水指数(SPI)
  11. 中央广播电视大学中等专业办公设备使用与维护
  12. 原生64位卸载工具Revo Uninstaller Pro V2.5.7
  13. JAVA NIO:NIO与OIO的对比以及Channel通道、Selector选择器、Buffer缓冲区的介绍 //高并发
  14. 信息收集之通过JS拓展信息面
  15. Idea Eclips快捷键
  16. React-Native 知识点小结
  17. 点击“加入QQ群”链接打开电脑QQ扫码后发现登录地点不是本地
  18. 个人使用CocosCreator开发小游戏路上的一些“坑坑洼洼”
  19. matlab 机床,基于MATLAB的数控机床控制系统的设计及仿真
  20. Matlab中.mat文件的使用操作

热门文章

  1. Unable to load DLL 'xxx.dll': 找不到指定的模块。 (Exception from HRESULT: 0x8007007E)
  2. vue时间格式2021-11-21T12:30:00.000+00:00转换yyyy-MM-dd HH:mm:ss
  3. 这个微信小程序开源!
  4. 世界上最奇葩的成人礼大盘点,被子弹蚁咬的同时还要跳十分钟舞
  5. 秃顶路人的计算机系统大作业Hello
  6. 《痞子衡嵌入式半月刊》 第 31 期
  7. 抖音落地页一键复制微信号跳转微信的方法
  8. http://wenku.baidu.com/view/981f99d376eeaeaad1f330e7.html
  9. 51JOB:根据HR处理简历的一般流程,简历投递后会有如下几种状态出现
  10. [C]C语言基本语句(5/7)→ 用scanf语句输入int, float, double, char型数据