%%%程序编写者 西北工业大学自动化学院 Email: yincwxa2013@mail.nwpu.edu.cn
%% All rights reserved
clear
clc
x0=input('输入迭代初值x0=')
x1=input('输入迭代初值x1=')
t=1;
epuc=input('输入精度要求eupc=')
if epuc>0
epuc=epuc;
else epuc=0.000001
end
syms x2 x3 %x3 x4 x5
f1=input('输入第一个函数(以x2 x3为变量)f1=')
f2=input('输入第二个函数(以x2 x3为变量)f2=')
%f3=input('输入第三个函数f3=')
%f4=input('输入第四个函数f4=')
f=[f1;f2]
invf=jacobian(f,[x2 x3])
while(t>epuc)
x2=x0
x3=x1
xx1=[x2;x3]-inv(eval(invf))*eval(f)
t=max(abs(xx1-[x2;x3]));
x0=xx1(1);
x1=xx1(2);
end
xx1
%%%%%%%
%%输入迭代初值x0=0
%%
%%x0 =
%
% 0
%
%输入迭代初值x1=0
%
%x1 =
%
% 0
%输入精度要求eupc=0.0000000000001
%
%epuc =
%
% 1.0000e-013
%
%输入第一个函数(以x2 x3为变量)f1=5*x2-3*x3+0.1*exp(x2)-5
%
%f1 =
%
%5*x2-3*x3+1/10*exp(x2)-5
%
%
%输入第二个函数(以x2 x3为变量)f2=-2*x2+4*x3+x2^2/4
%
%f2 =
%
%-2*x2+4*x3+1/4*x2^2
%%
%
%f =
%
%5*x2-3*x3+1/10*exp(x2)-5
% -2*x2+4*x3+1/4*x2^2
%
%
%
%invf =
%
%[ 5+1/10*exp(x2), -3]
%[ -2+1/2*x2, 4]
%
%
%
%x2 =
%
% 0
%
%
%x3 =
%
% 0
%
%
%xx1 =
%
% 1.3611
% 0.6806
%
%
%x2 =
%
% 1.3611
%
%
%x3 =
%
% 0.6806
%
%
%xx1 =
%
% 1.2472
% 0.5272
%
%
%x2 =
%
% 1.2472
%
%
%x3 =
%
% 0.5272
%
%
%xx1 =
%
% 1.2461
% 0.5260
%
%
%x2 =
%
% 1.2461
%%
%x3 =
%
% 0.5260
%
%
%xx1 =
%
% 1.2461
% 0.5260
%
%
%x2 =
%
% 1.2461
%
%x3 =
%% 0.5260
%
%
%xx1 =
%
% 1.2461
% 0.5260
%
%
%xx1 =
%
% 1.2461
% 0.5260
转载本文请联系原作者获取授权,同时请注明本文来自殷春武科学网博客。
收藏
分享
分享到: