【问题标题】:(Matlab) Exam questions about iteration result(Matlab) 关于迭代结果的考题
【发布时间】:2019-03-13 20:59:27
【问题描述】:

我正在准备数字分析的笔试。

有以下类型的多选题:

下面的代码给出了最接近...的打印输出。

N=100;
dt=0.5/N;
x=1;
for n=1: N-1
x=x+dt*x*x;
end
display(x);

正确选项:2


下面的代码给出了最接近...的打印输出。

N=100;
x=1;
y=1;
for n=1: N-1
x = x - (x-exp(-x))/(1+exp(-x));
y = y - (y-exp(-y));
end
display(x-y)

正确选项:0


下面的代码有一个打印输出,最常见的是......

s=0.0;
N=10000;
for n=1:N
x=rand(1);
s=s+3*x*x+x;
end
display(s/N)

正确选项:1.5

对于第一个问题,我认为是使用了欧拉法,但我无法得出第二个问题。我不确定如何解决第二个和第三个问题。

我可以使用某种通用策略来确定这样的迭代应该收敛到什么方向(不使用计算机)?

【问题讨论】:

    标签: matlab iteration numerical-analysis


    【解决方案1】:

    一般策略是查看正在实施的迭代正在做什么。

    第一个问题

    这是dx/x^2=dt,即1/x0-1/x=t,即x=x0/(1-x0*t)=1/(1-1*0.5)=2

    第二个问题

    x 的方程是f(x)=x-exp(-x) 的牛顿法,即f'(x)=1+exp(-x),所以解是x=exp(-x) 的根。

    y 的方程是y=exp(-y) 的定点迭代。这两个都有相同的解决方案x=y=0.5671 (4sf)

    第三个问题

    rand(1) 是 [0,1] 上的均匀分布,均值 1/2 和方差 1/12 所以 <x^2>=1/12+1/4=1/33<x^2>+<x>=3/3+1/2=1.5

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-16
      • 1970-01-01
      • 2017-01-01
      • 2011-07-07
      • 2022-06-16
      • 2021-02-13
      • 2011-12-12
      相关资源
      最近更新 更多