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)

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