MATLAB第六次作业

发布 2023-05-19 19:13:28 阅读 7628

《工程应用数学》第六次作业。

化学工程张少石 622085216041

一、目的。使用matlab中的fsolve函数求解非线性方程组, 了解options选项中通过optimset设置的各参数的实际含义。在求解过程中包括使用分析jacobian矩阵和不使用分析jacobian矩阵,并分析两者的差别。

二、思路。使用fsolve可以快速求解非线性方程组,通过将待求方程组输入为m文件,并调用fsolve函数来求解。在求解中分别使用分析jacobian矩阵和不分析jacobian矩阵。

三、计算过程。

不使用分析jacobian矩阵求解:

并要求计算精度。

解:f(x)=

方程组函数程序。

function f=myfun(x)

f=[5*x(1)*x(2)-x(1)*cos(x(2))-3;

3*x(1)+exp(x(1)*x(2))-5];

假设该方程组的初值。

在不使用分析jacobian矩阵时使用fsolve求解该方程组:

> x0=[1;1];

> options=optimset('display','iter');

> [x,fval]=fsolve(@myfun61,x0,options)

使用分析jacobian矩阵求解:

方程组函数程序。

function [f,j]=myfun(x)

f=[5*x(1)*x(2)-x(1)*cos(x(2))-3;

3*x(1)+exp(x(1)*x(2))-5];

if nargout>1

j=[5*x(2)-cos(x(2)) 5*x(1)+x(1)*sin(x(2));

3+x(2)*exp(x(1)*x(2)) x(1)*exp(x(1)*x(2))]

end同样假设该方程组的初值。

在使用分析jacobian矩阵时使用fsolve求解该方程组:

> x0=[1;1];

> options=optimset('display','iter','jacobian','on');

> [x,j]=fsolve(@myfun62,x0,options)x =

j =1.0e-007 *

四、结果与讨论。

通过计算可知当给出的初值条件比较接近方程组的解时,使用fsolve函数可以迅速收敛,如①中所示经过3次迭代就能收敛,并且函数f(x)的终止误差为数量级,以满足计算误差要求,使用两种方式求得的解是相同的。

matlab第六次作业

尹康。数值积分部分 1.判断题。1 如果函数在有限的区间上连续,则它的riemann定积分一定存在 2 积分的计算总是好条件的问题。3 代数精度是衡量算法稳定性的重要指标。4 梯形方法与两个节点的gauss型方法相比会更加精确。2.确定如下两个数值积分公式中的参数,使它有尽可能高的代数精度。a b ...

03第六次作业

第五章 还原反应 习题。1 硝基苯制苯胺可用哪些反应实现?目前工业上主要的实现方法是什么?写出主要工艺过程并用反应原理对关键工艺进行必要的解释。对您所选择的工业化实现方法进行评价。答 氢以外的化学试剂还原 铁屑 锌粉 硫化碱 电化学还原等。目前工业上主要的实现方法是铁粉还原法。主要工艺过程 将硝基苯...

西经第六次作业

1.在lm曲线不变的情况下,is曲线的弹性小,则 a.财政政策效果差。b.财政政策效果好。c.财政政策和货币政策效果一样好。d.无法确定。满分 2分。一个国家顺差过多,表明 a.外汇利用充分。b.积累了外汇。c.通货膨胀。d.实行了汇率管制。满分 2分。总需求曲线是一条向右下方倾斜的曲线,表明 a....