• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

为什么编程语言中没有未知数

数值计算中没有未知数的概念,所以其编程语言中没有未知数。但符号计算中有,mathematica、matlab、sym、maxima、maple、python、sympy所有的符号计算软件中都有未知数。计算机代数系统以符号为计算的基本单位,模拟的就是人们用纸笔进行演算的过程。

一、为什么编程语言中没有未知数

数值计算中没有未知数的概念,所以其编程语言中没有未知数。但符号计算中有,,mathematica、matlab、sym、maxima、maple、python、sympy所有的符号计算软件中都有未知数。计算机代数系统以符号为计算的基本单位,模拟的就是人们用纸笔进行演算的过程。

比如matlab 解方程:

clear all

syms x y A B C D

solve(‘A * x * x + B * x + C = D + y’, ‘x’)

ans =

[ 1/2/A*(-B+(B^2+4*A*y-4*A*C+4*A*D)^(1/2))]

[ 1/2/A*(-B-(B^2+4*A*y-4*A*C+4*A*D)^(1/2))]

solve(‘A * x * x + B * x + C = D + y’, ‘y’)

ans =

A*x^2+B*x+C-D

N元N次方程随便解,比如复杂点的:

clear all

syms R X a b c d x1 x2 x3 x4;

[x1,x2,x3,x4]=solve(‘R*x1+R*x3-X*x4=a’,’R*x2+X*x3+R*x4=b’,’R*x1-X*x2+R*x3=c’,’X*x1+R*x2+R*x4=d’,’x1,x2,x3,x4′)

x1 = (2*R^2*d-2*R^2*b+R*X*c+R*a*X+X^2*d)/X/(4*R^2+X^2)

x2 = (-2*R^2*c+X*R*d+R*X*b-X^2*c+2*R^2*a)/X/(4*R^2+X^2)

x3 = 1/X*(-2*R^2*d+2*R^2*b+R*X*c+X^2*b+R*a*X)/(4*R^2+X^2)

x4 = -(-2*R^2*c-X*R*d-R*X*b+2*R^2*a+X^2*a)/X/(4*R^2+X^2)

还有 Python 的 sympy 库,求解 x^2 = 1 方程,先化解成 xxx = 0 的形式,即 x ^ 2 – 1 = 0

>>> from sympy.solvers import solve

>>> from sympy import Symbol

>>> x = Symbol(‘x’)

>>> solve(x**2-1,x)

[-1, 1]

还可以做一些等式化解:

>>> from sympy import *

>>> x = Symbol(‘x’)

>>> y = Symbol(‘y’)

>>> x + y + x – y

2*x

延伸阅读:

二、什么是编程语言

学习编程语言之前,首先要搞清楚“编程语言”这个概念。
很小的时候,父母就教我们开口说话,也教我们如何理解别人讲话的意思。经过长时间的熏陶和自我学习,我们竟然在不知不觉中学会了说话,同时也能听懂其他小朋友说话的意思了,我们开始向父母要零花钱买零食和玩具、被欺负了向父母倾诉……
我们说的是汉语,是“中国语言”,只要把我们的需求告诉父母,父母就会满足,我们用“中国语言”来控制父母,让父母做我们喜欢的事情。
“中国语言”有固定的格式,每个汉字代表的意思不同,我们必须正确的表达,父母才能理解我们的意思。例如让父母给我们10元零花钱,我们会说“妈妈给我10块钱吧,我要买小汽车”。如果我们说“10元给我汽车小零花钱妈妈”,或者“妈妈给我10亿人民币,我要买F-22”,妈妈就会觉得奇怪,听不懂我们的意思,或者理解错误,责备我们。
我们通过有固定格式和固定词汇的“语言”来控制他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然他们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去控制他人。
同样,我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。
编程语言也有固定的格式和词汇,我们必须经过学习才会使用,才能控制计算机。
编程语言有很多种,常用的有C语言、C++、Java、C#、Python、PHP、JavaScript、Go语言、Objective-C、Swift、汇编语言等,每种语言都有自己擅长的方面,例如:
编程语言主要用途C/C++C++ 是在C语言的基础上发展起来的,C++ 包含了C语言的所有内容,C语言是C++的一个部分,它们往往混合在一起使用,所以统称为 C/C++。C/C++主要用于PC软件开发、Linux开发、游戏开发、单片机和嵌入式系统。JavaJava 是一门通用型的语言,可以用于网站后台开发、Android 开发、PC软件开发,近年来又涉足了大数据领域(归功于 Hadoop 框架的流行)。C#C# 是微软开发的用来对抗 Java 的一门语言,实现机制和 Java 类似,不过 C# ,目前主要用于 Windows 平台的软件开发,以及少量的网站后台开发。PythonPython 也是一门通用型的语言,主要用于系统运维、网站后台开发、数据分析、人工智能、云计算等领域,近年来势头强劲,增长非常快。PHPPHP 是一门专用型的语言,主要用来开发网站后台程序。JavaScriptJavaScript 最初只能用于网站前端开发,而且是前端开发的少数语言,没有可替代性。近年来由于 Node.js 的流行,JavaScript 在网站后台开发中也占有了一席之地,并且在迅速增长。Go语言Go语言是 2009 年由 Google 发布的一款编程语言,成长非常迅速,在国内外已经有大量的应用。Go 语言主要用于服务器端的编程,对 C/C++、Java 都形成了不小的挑战。Objective-C
SwiftObjective-C 和 Swift 都只能用于苹果产品的开发,包括 Mac、MacBook、iPhone、iPad、iWatch 等。汇编语言汇编语言是计算机发展初期的一门语言,它的执行效率非常高,但是开发效率非常低,所以在常见的应用程序开发中不会使用汇编语言,只有在对效率和实时性要求极高的关键模块才会考虑汇编语言,例如操作系统内核、驱动、仪器仪表、工业控制等。

一站式研发项目管理平台 PingCode

一站式研发项目管理平台 PingCode

支持敏捷\瀑布、知识库、迭代计划&跟踪、需求、缺陷、测试管理,同时满足非研发团队的流程规划、项目管理和在线办公需要。

相关文章