matlab解多元非线性方程 求大神
lg(x1*x2/x4)=5.317-9393/1600lg(x1*x3/(1-x4))=5.9-16580/1600(0.002-x1)/(0.0989-x2)=48/...
lg(x1*x2/x4)=5.317-9393/1600 lg(x1*x3/(1-x4))=5.9-16580/1600 (0.002-x1)/(0.0989-x2)=48/x4*12 (0.002-x1)/(0.0048-x3)=48/(1-x4)/14 如何求解x1,x2,x3,x4
展开
2个回答
展开全部
首先定义函数:
function f=fx(x)
f(1)=3*x(1)-cos(x(2)*x(3))-0.5;
f(2)=x(1)^2-81*(x(2)+0.1)^2+sin(x(3))+1.06;
f(3)=exp(-x(1)*x(2))+20*x(3)+(10*pi-3)/3;
>> x=fsolve(@fx,[1,1,1])
最后求得
x =
0.5000 0.0000 -0.5236
扩展资料:
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB和Mathematica、埋中Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理余液迟、信号检测、金融建模设计与分析等领域。
参考资料:非线性方程组数值解法竖李百度百科
展开全部
分析
这是一个约束岩衡仿优化问题,可用拦指fmincon求解。
参考代码
f
=
@(x)exp(8.864-267.893/abs(x(1)))+exp(11.271-1227.294/x(2))+exp(13.223-12277.294/x(3))+exp(11.925-3632.467/x(4));s
=
10000;x
=
fmincon(@(x)-f(x),ones(1,4)*s/4,[],[],ones(1,4),s,zeros(1,4),ones(1,4)*inf,[]);x
=
num2str(x)f
=
f(x)
得到的最优解为:
x
=
-3.3140659e-018
3088.6297
1.1046886e-018
6911.3703
f
=
1.4204e+005
说明
1、最优解的x1、x3在浮点数误差意义上为0;
2、由于x1的结果是很小的负值,导致目标函数的y1为无穷大,所以该粗纤项的x1应加绝对值符号(x1-x4都应该是正数吧?不然任取哪一个为一个很小的正数,都会导致目标函数为无穷大)。
这是一个约束岩衡仿优化问题,可用拦指fmincon求解。
参考代码
f
=
@(x)exp(8.864-267.893/abs(x(1)))+exp(11.271-1227.294/x(2))+exp(13.223-12277.294/x(3))+exp(11.925-3632.467/x(4));s
=
10000;x
=
fmincon(@(x)-f(x),ones(1,4)*s/4,[],[],ones(1,4),s,zeros(1,4),ones(1,4)*inf,[]);x
=
num2str(x)f
=
f(x)
得到的最优解为:
x
=
-3.3140659e-018
3088.6297
1.1046886e-018
6911.3703
f
=
1.4204e+005
说明
1、最优解的x1、x3在浮点数误差意义上为0;
2、由于x1的结果是很小的负值,导致目标函数的y1为无穷大,所以该粗纤项的x1应加绝对值符号(x1-x4都应该是正数吧?不然任取哪一个为一个很小的正数,都会导致目标函数为无穷大)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询