数学实验作业三

发布 2022-07-02 02:38:28 阅读 8832

4.2题。

a)f=sym('x^3-2*x-5')

y=solve(f) ;

double(y)

b)程序:p=[1 0 -2 -5];

roots(p)

运行结果:ans =

-1.0473 + 1.1359i

-1.0473 - 1.1359i

c)函数:function y=f(x)

y=x^3-2*x-5

end在命令窗口下输入:

xi=fzerotx(@f,[2,3])

运行结果:y =

y =y =y =

y =-2.5214e-004

y =-1.5713e-007

y =3.5527e-015

y =-5.3291e-015xi =

所以实根为:xi =2.0946

d)f(x)=x^3-2*x-5

f’(x)=3*x^2-2

初值x0为一个复数。

xn+1=xn-f(xn)/f’(xn)

所以:xn+1=xn-(x^3-2*x-5)/(3*x^2-2)

编写两个程序:

function x=f0(xprev)

x=xprev^3-2*xprev-5;

endfunction x=f1(xprev)

x=3*xprev^2-2;

end在命令窗口下输入:

xprev=-1.0473 + i

k=0;while k<=100;

x=xprev-f0(xprev)/f1(xprev);

if abs(x - xprev) >eps*abs(x);

xprev=x;

elsebreak

end k=k+1;

end运行结果:

在workspace上得出xprev=-1.04727574077116 + 1.13593988908893i

k=4d)不可以。

4.5题。a)程序:

p=[816 -3835 6000 -3125]

roots(p)

运行结果:ans =

b)函数:

function y=p(x)

y=816*x^3-3835*x^2+6000*x-3125;

end在命令窗口下输入。

fplot(@p,[1.43,1.71])

gridon

holdon

text(1.6667,0,'(1.6667,0)')

text(1.5625,0,'(1.5625,0)')

text(1.4706,0,'(1.4706,0)')

c)牛顿法。

函数:function y=p(x)

y=816*x^3-3835*x^2+6000*x-3125;

endfunction y=px(x)

y=2448*x^2-7670*x+6000;

end在命令窗口输入。

x=1.5;

k=0;while k<=100;

y=x-p(x)/px(x);

if abs(y - x) >eps*abs(y);

x=y;elsebreak

endk=k+1;

end在workspace上得出y=1.47058823529416,k=10

d)割线法。

x0=1,x1=2

p(x)=816*x^3-3835*x^2+6000*x-3125

sn=(p(xn)-p(xn-1))/xn-xn-1)

所以xn+1=xn-f(xn)/sn

程序:p0=1;

p1=2;n0=10;

tol=0.0001;

p=816*p0^3-3835*p0^2+6000*p0-3125;

px=816*p1^3-3835*p1^2+6000*p1-3125;

fori=2:n0

p=p1-px*(p1-p0)/(px-p);

if abs(p-p1)disp(p)

disp(i)

break;

endp0=p1;

p=px;pp=p1;

p1=p;px=816.*p.^3-3835.*p.^2+6000.*p-3125;

end运行结果:

e)二分法。

程序:a=1;

b=2;x=a:b;

f = x)816*x^3-3835*x^2+6000*x-3125

c=(a+b)./2;

while abs(b-a)>eps

if f(c)*f(b)<0

a=c;else

b=c; end

c=(a+b)./2;

x=c;end

fprintf(' x = 5f, f(x) =5f ', x, f(x))

运行结果:x = 1.47059, f(x) =0.00000

f)函数:function y=p(x)

y=816*x^3-3835*x^2+6000*x-3125;

end在命令窗口输入:

x=fzerotx(@p,[1,2])

运行结果:x =

4.8题。function y=f(x)

a=10;y=sign(x-a)*sqrt(abs(x-a));

function [a]=ndgxf(a,b)

k=0;while abs(b-a) >eps*abs(b)

c = a;

a = b;

b = b + b - c)/(f(c)/f(b)-1);

k = k + 1;

end运行结果:ans =

4.15题。

a)e= m- e*sin(e)因为sin(e)在[-1,1]的范围内。

而m=24.851090

e=0.1所以e在[24.751090,24.951090]范围内。

程序:f=inline('e-e*sin(e)-m','e','m','e')

e=fzerotx(f,[24.751090,24.951090],24.851090,0.1)

运行结果:f =

inline function:

f(e,m,e) =e-e*sin(e)-me =

b)e = 0.1

besselj(1,e)=0.0499

besselj(2,2*e)= 0.0050

besselj(3,3*e)=5.5934e-004

第四项就已经很小了,对结果影响较小。

程序:m=24.851090;e=0.1;

e=2*(besselj(1,e)*sin(m)+0.5*besselj(2,2*e)*sin(2*m)+(1/3)*besselj(3,3*e)*sin(3*m))+m

运行结果:e =

结果相比于用fzerotx得到的值相比是一样的。

二分法程序:

function y=f(x)

y=;%写入要求的函数。

endfunction y=erfen(a,b)

c=(a+b)./2;

while abs(b-a)>eps

if f(c)*f(b)<0

a=c;else

b=c; end

c=(a+b)./2;

x=c;end

end牛顿切线法。

function y=f(x)

y=;%写入要求的函数。

endfunction y=df(x)

y=;%写入要求的函数的导数。

endxprev=%写入要求的初值。

k=0;while k<=100;

x=xprev-f0(xprev)/f1(xprev);

if abs(x - xprev) >eps*abs(x);

xprev=x;

elsebreak

end k=k+1;

end牛顿割线法。

functiony=f(x)

y=;%写入要求的函数。

function [a]=newton(a,b)

k=0;while abs(b-a) >eps*abs(b)

c = a;

a = b;

b = b + b - c)/(f(c)/f(b)-1);

k = k + 1;end

数学实验作业

学院 理学院。班级 统计11 1 姓名 吴。学号 201111051026 实验1一 问题的提出。已知方程组,其中,定义为。通过迭代法求解方程组。1 选取不同的初始向量,和不同的方程组右端向量,给定迭代误差要求,用雅克比和高斯赛德尔迭代法计算,观察得到的迭代向量序列是否收敛?2 取定右端向量和初始向...

数学实验作业

练习5.3 1.设x u 1,11 求该均匀分布的均值与方差。解 输入命令 m,v unifstat 1,11 结果为 m 6,v 8.3333 所以所求均匀分布的均值和方差分别为 6,8.3333。2 设x n 0,16 求该正态分布的均值 标准差和方差。解 输入命令 m,v normstat 0...

数学实验作业

撰写人姓名 陈金伟撰写时间 2010 11 审查人姓名 实验全过程记录。一 实验目的。1 掌握利用matlab处理简单的概率问题 2 掌握利用matlab处理简单的数理统计问题。二 实验内容 1 熟练掌握几种常用的离散型 连续型随机变量的函数命令 2 熟练掌握常用的描述样本数据特征的函数命令 如最值...