做一手房用什么网站,网站建设 企炬江阴,大学生兼职网网站建设计划书,河南建筑信息一体化平台目录 实验十一#xff1a;非线性方程#xff08;组#xff09;求解
练习一
练习二
练习三 实验十一#xff1a;非线性方程#xff08;组#xff09;求解
练习一
1.求莱昂纳多方程 的解
clc;clear;
p[1,2,10,-20];
roots(p)ans -1.6844 3.4313i -1.6844 - 3.4313i…目录 实验十一非线性方程组求解
练习一
练习二
练习三 实验十一非线性方程组求解
练习一
1.求莱昂纳多方程 的解
clc;clear;
p[1,2,10,-20];
roots(p)ans -1.6844 3.4313i -1.6844 - 3.4313i 1.3688 0.0000i
2.求方程 的解.
clc;clear;
f(x)exp(x)10*x-2;
ezplot(f);
grid on
fzero(f,[-2,2])ans 0.0905
练习二
用“二分法”求解下列问题(要求精度达到 )
1.求圆 与曲线 的两个交点坐标
clc;clear;
ezplot(exp(-x));
hold on
ezplot(x^2y^2-2);
axis([-5,5,-5,5]);
%精度为10^-5,由图像知有两个交点我们分别在[-0.5,0.5]和[1,1.5]两个区间二分
f(x)sqrt(2-x^2)-exp(-x);
a1-0.5;a20.5;
while abs(a2-a1)10^-4c1(a1a2)/2;if f(c1)0break;endif f(c1)0a1c1;endif f(c1)0a2c1;end
end
c1
a11;a21.5;
while abs(a2-a1)10^-4c1(a1a2)/2;if f(c1)0break;endif f(c1)0a1c1;endif f(c1)0a2c1;end
end
c1c1 -0.3203
c1 1.3922
注函数的单调性不同时传递值时的判断条件不同。
2.求方程 的最大正数解和最小负数解,并分别确定二分区间的次数
clc;clear;
ezplot(3*x^2-exp(x));grid;
%精度为10^-4,该方程有两个解两个正数解一个负数解
f(x)-(3*x^2-exp(x));
a1-1;a20;%在这里修改数据第二次a14,a25
while abs(a2-a1)10^-4c1(a1a2)/2;if f(c1)0
kk1;break;endif f(c1)0a1c1;endif f(c1)0a2c1;end
kk1;
end
c1 ,k3.求方程 在 的正数解
clc;clear;
ezplot(1-x-sin(x));grid;
%精度为10^-4
f(x)-(1-x-sin(x));
a10;a21;k0;
while abs(a2-a1)10^-4c1(a1a2)/2;if f(c1)0kk1;break;endif f(c1)0a1c1;endif f(c1)0a2c1;endkk1;
end
c1,kc1 0.5109
k 14
练习三
1.方程 在(0,4)内有唯一的实数解,现构造以下三种迭代函数:
(1),迭代初值;
(2) 迭代初值 ;
(3) ,迭代初值
分别用给出的3种迭代函数构造迭代序列观察这些迭代序列是否收敛,若收敛能否收敛到方程的解?除此之外,你还能构造出其他收敛的选代序列吗?
先画出图像
clc;clear;
ezplot(x^2x-4);grid; 1
clc;clear;
a04;a10;x0[4];k0;
while abs(a0-a1)1.0e-3a1a0;a04-a0^2;x0[x0,a0];kk1;
end
x0x0 1.0e274 * 列 1 至 10 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -4.9971 列 11 至 12 -Inf -Inf
显然该迭代函数不收敛。
2
clc;clear;
format long
a04;a10;x0[4];k0;
while abs(a0-a1)1.0e-5a1a0;a04/(1a0);x0[x0,a0];kk1;
end
x0kx0 列 1 至 5 4.000000000000000 0.800000000000000 2.222222222222222 1.241379310344828 1.784615384615385 列 6 至 10 1.436464088397790 1.641723356009070 1.514163090128755 1.590986684875384 1.543813414152062 列 11 至 15 1.572442372442373 1.554942510219287 1.565592957180350 1.559093771599724 1.563053313790665 列 16 至 20 1.560638625220067 1.562110311311980 1.561213029095425 1.561759976448632 1.561426533622873 列 21 至 25 1.561629797885483 1.561505883208351 1.561581422171047 1.561535372398912 1.561563444760846 列 26 至 28 1.561546331472360 1.561556763917999 1.561550404169786
k27
由以上数列知该迭代函数收敛且收敛于1.56155.
3
clc;clear;
format long
a04;a10;x0[4];k0;
while abs(a0-a1)1.0e-5a1a0;a0a0-(a0^2a0-4)/(2*a01);x0[x0,a0];kk1;
end
x0,kx0 列 1 至 5 4.000000000000000 2.222222222222222 1.641723356009070 1.563053313790665 1.561553358481398 列 6 1.561552812808902
k 5
其他方法
clc;clear;
format long
a04;a10;x0[4];k0;
while abs(a0-a1)1.0e-5a1a0;a0sqrt(4-a0);%构造xsqrt(4-x)x0[x0,a0];kk1;
end
x0,kx0 列 1 至 5 4.000000000000000 0 2.000000000000000 1.414213562373095 1.608038070950718 列 6 至 10 1.546596886408764 1.566334291775302 1.560021060186271 1.562043193965432 1.561395787759967 列 11 至 14 1.561603090493879 1.561536714107651 1.561557967509483 1.561551162303213
k 13
2.用单点弦截法求示例3中方程解的近似值(误差 ).
注示例三中方程为
显然该二次方程由两个解一个正解和一个负解。
我们分别选取2,3、1-1和-3,3、-2-1作为初始弦端点进行迭代。
clc;clear;
format long
f(x)x^2x-3;
%正解
a1;b2;ta;k0;%这里可以修改数值
while abs(t)1.0e-5mb-(b-a)/(f(b)-f(a))*f(b);tm-a;am;kk1;
end
m,km 1.302774668159284
k 7
负解的情况令a-2,b-3即可。其他不用变
m -2.302774668159283
k 7
3.用双点弦截法求方程的解(误差).
首先画出函数图形。
clc;clear;
finline(2^x-x^2-1);
ezplot(f);grid;由图形知该函数有三个零点。 clc;clear;
format long;
x0-0.5;x10.5;k0;%在这里更改x0和x1值
while abs(x0-x1)1.0e-5x2x1-f(x1)/(f(x1)-f(x0))*(x1-x0);x0x1;x1x2;kk1;
endx2x2 2.597847652721268e-13
x2 0.999999996956345
x2 4.257461915372301
注这里我们要注意刚开始时谁做为x0,谁做为x1.经过我的观察x0点一定符合
和 同号这个条件而x1即为另一个点。
4.用牛顿切线迭代法求方程 的解,你能否构造出其他形式的选代序列,使其收敛到该方程的一个解?
首先我们要判断该方程的解在哪个区间内画出该函数的图像其次再该区间内该函数的凸凹性是怎么样的。
clc;clear;
syms x
fx^2-2*x*exp(x)exp(-x);
figure(1)
ezplot(f);grid;
f2diff(f,x,2);
figure(2)
ezplot(f2);grid;由上图分析知区间[0,1]包含零点且该范围内的函数为凸函数。
clc;clear;
finline(x^2-2*x*exp(x)exp(-x));
f1inline(2*x-2*exp(x)-2*x*exp(x)-exp(-x));
mmin(abs(f1(0)),abs(f1(1)));a0;b1;k0;x01;
while abs(f(x0))m*1.0e-5x1x0-f(x0)/f1(x0);kk1;x0x1;
end
x0,kx0 0.305710729721677
k 4
其他迭代不妨使用一下双点弦截法
clc;clear;
format long
finline(x^2-2*x*exp(x)exp(-x));
x01;x10;
while abs(x0-x1)1.0e-5x2x1-f(x1)/(f(x1)-f(x0))*(x1-x0);x0x1;x1x2;
end
x0x0 0.305707037220051
本文由作者自创由于时间原因难免出现些许错误还请大家多多指正。创作不易请大家多多支持。