最有效的求解方法:三行代码搞定任何线性方程
云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
在三行函数中解决任何线性方程式的技巧,甚至可以在两行代码中重写,不想了解一下嘛?据笔者所知,这是解决Python中线性方程的最有效方法。
defsolve_linear(equation,var= x ): expression =equation.replace("=","-(")+")" grouped =eval(expression.replace(var, 1j )) return -grouped.real/grouped.imag
这是标准代数过程示例,最后得出答案。
它的原理是怎样的呢?首先定义一个线性方程式,它必须以纯形式可解。这意味着它只能有一个变量,通常写为x。二元方程需要求解多个线性方程(方程组)。
线性方程式由三个主要部分组成:常数,变量和乘数。
不管是几元方程还是运算的组合(加,减,乘和除),在括号范围内都是有效的。只要遵守线性方程的这些定义,就可以通过函数解决。
接下来逐步分解该函数,用以下线性方程式的演示为例。
将第一行中等式右侧的整个表达式移到左侧,将等式转换为要求值的表达式。
expression= equation.replace("="," - (")+")"
IDE中的演示如下:
等式中的所有“变量”已移至一侧,等号后已无变量,该表达式等于0。
在第二行代码中计算新表达式的值,表示为ax + b =0。使用Python的内置复数处理,其中j表示数学常数i =√-1。
grouped= eval(expression.replace(var, 1j )
注意,在函数初始化时将var指定为x。
eval函数有一个表达式。通过用已知的j(i)替换未知变量x,Python将两类表达式元素分开求值,即变量和常量。对表达式求值时,答案为a * j +b,Python认定这是一个复数。由于使用j代替了x,所以结果是一个简化且易于求解的线性方程。
首先,在eval()的演示工作流程中,它可以接收字符串中给出的任何Python命令:
因此,数学表达式与任何Python表达式的处理方式相同。eval()的独到之处在于无需手动执行繁重的工作,而是利用Python的字符串处理。
Python会认为x实际上是i来自动求值字符串,这与下图中的操作相同:
最后获得了简化形式ax + b = 0。通过标准和简单的代数运算,发现x等于-b / a,或者通过创建的复数来运算,实数部分的负数(上例中为9)除以虚数乘数(上例中为1)。
return -grouped.real/grouped.imag
在最后一行代码中,通过返回复数实数部分的负数除以虚数部分来简单地返回此代数步骤。
通过操纵和利用Python的内置数学求值功能,这三行函数就可以对任何线性方程式(无论其长度或复杂度)进行处理啦。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
信息流量大选BGP大带宽服务器网络稳定运营
要知道信息流服务器要选择什么样的服务器? 大带宽是一定要的 我们机房的BGP三线单IP服务器 103.219.31.* 访问速度稳定线路优化 CPU:i7/至强 内存:8/32 GB硬盘:500GB SAS 带宽:G口/100Mbps独享 扣扣:8091036 用户多,不代表你服务器访问量大,访问量大不一定你服务器压力大!我们换成专业点的问题,高并发下怎么优化能避免服务器压力过大。 1,整个架构:可采用分布式架构,利用微服务架构拆分服务部署在不同的服务节点,避免单节点宕机引起的服务不可用! 2,数据库:采用主从复制,读写分离,甚至是分库分表,表数据根据查询方式的不同采用不同的索引比如b tree,hash,关键字段加索引,sql避免复合函数,避免组合排序等,避免使用非索引字段作为条件分组,排序等!减少交互次数,一定不要用select *! 3,加缓存:使用诸如memcache,redis,ehcache等缓存数据库定义表,结果表等等,数据库的中间数据放缓存,避免多次访问修改表数据!登录信息session等放缓存实现共享!诸如商品分类,省市区,年龄分类等不常改变的数据,放缓存,不要放数据...
- 下一篇
Python到底是什么?学姐靠它拿了5个offer!
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 你ZAO吗?最近陌陌发布了一款很有意思的产品——ZAO,这款AI换脸的产品刷爆朋友圈!这款产品火爆到什么程度呢?正在使用ZAO的用户会发现,想要生成一段新的AI换脸视频,已经不是等待几秒、排队第几位的问题,而是——“服务器繁忙” 在#AI换脸#话题讨论巨高不下的同时,也让我们重新认识了被大家炒得很热的“人工智能”。众所周知,随着人工智能技术的发展,各行各业都在发生着变化,每天AI新技术都在冲击着各行各业,比如WPS的智能设计、阿里的鲁班等等,总有一种干死干活不如早点学一些AI能力,避免心中的小慌张。 ▲鲁班的工作流程,一秒可以做8000张海报,而且都是不重样的 关于这么热门的AI呢,学习起来也不是你想象中的那么复杂的,其实掌握一个技能就能入门了,那就是:Python。 你肯定要问了“让我学python?岂不是送我去当秃头程序员?” “no!no!no!你真的想多了。” 我观察了当下,很多互联网岗位在招聘JD里都写上了:‘熟悉python编程’优先这样的条件。 20年前,妈妈让你学英语不是...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程