Python 调用matlab 泰勒函数(taylor展开式)进行非线性方程转化为线性方程

一、首先安装Python环境及matlab,具体参考其它博客…
二、非线性方程线性化,通过调用matlab并运用泰勒展开式
解决思路:
1、运用python调用matlab中taylor函数对非线性方程进行线性展开
2、编写matlab .m脚本,并在脚本中调用matlab库taylor函数
3、通过python脚本调用自定义的.m脚本,传进相应参数并得到返回
具体详情:
1、.m脚本的编写及解析

function charResult = TaylorLinearization(f,s,x,v) 
	syms s
	result= taylor(str2sym(f),str2sym(x),str2sym(v)); 
	charResult=char(result);
end	

2、python脚本调用解析(为了防止产生其他问题,.m脚本最好跟python脚本放在同一目录下)

import matlab
import matlab.engine

engine = matlab.engine.start_matlab()
data1='1/(5 + 4*sin(x))'
data2='x'
#通过matlab.engine调用matlab .m脚本中定义好的函数
result=engine.TaylorLinearization(data1,data2,data2,'1')
print(result)

data3='y*exp(x-1)-x*log(y)'
data4='x y'
data5='[x,y]'
result1=engine.TaylorLinearization(data3,data4,data5,'[2,3]')
print(result1)

打印结果:
分线性方程线性化结果

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值