数学实验第三版(主编:李继成 赵小艳)课后练习答案(八)(3)

文章通过实例探讨了使用泰勒展开法计算无理数e的近似值,比较不同展开式项数对精度的影响,以及在非零点展开的优越性。同时,还涉及了MATLAB编程实现数值模拟实验来验证计算结果。
摘要由CSDN通过智能技术生成

实验八:近似计算

练习三

1. 按要求完成下面的任务:

(1)求出函数 处的泰勒展开式,由此计算无理数e的近似值;

clc;clear;
f=@(x)exp(-x^2);
syms x
y=f(x);
y1=matlabFunction(taylor(y,'order',20));
1/y1(1)

ans =2.718283693893450

(2)在精确位数相同的情况下,同函数f(x)= 在x= 处的泰勒展开式比较,哪一个展开式计算无理数e需要选取的项数较多?

clc;clear;
f=@(x)exp(x);
syms x
y=f(x);
for i=2:20%这里不能从1开始,因为泰勒展开一项是一个常数,在下边的fix一行会出错;
y1=matlabFunction(taylor(y,'order',i));
if fix(y1(1)*10^5)==271828
    i
    return;
end
end

i=10;e= 2.718281828459045;

经过比较易知,(1)的泰勒展开需要的项数较多。

2. 自己选取 ≠0,求出函数f(x)= 在x= 处的泰勒展开式,并利用此展开式计算无理数e的近似值,在相同精度的要求下,同前题比较,哪一种更优?

clc;clear;
f=@(x)exp(x);
syms x
y=f(x);
for i=2:20
    y1=matlabFunction(taylor(y,x,1,'order',i));
    if fix(y1(1)*10^5)==271828
        i
        return;
    end
end

i=2;

由此可见,当在非零处泰勒展开后,收缩速度更快,方法更优。

3. 编写程序完成无理数e的数值模拟实验.

clc;clear;
n=100;%这里可以更改n的次数
sum=0;sum1=0;
for k=1:10000
for i=1:n
x1=fix(rand(1)*n);
x2=fix(rand(1)*n);
if x1==x2
sum=sum+1;
end
end
if sum>0
    sum1=sum1+1;
end
sum=0;
end
(1-sum1/k)^-1

ans =

   2.718868950516585(随机的,每次运行结果不一样)

推荐下一篇文章:​​​​​​​

数学实验第三版(主编:李继成 赵小艳)课后练习答案(八)(4)icon-default.png?t=N7T8https://blog.csdn.net/2301_80199493/article/details/136099441?spm=1001.2014.3001.5502

本文由作者自创,由于时间原因,难免出现些许错误,还请大家多多指正。创作不易,请大家多多支持。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C.L.L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值