已知y=1/3+1/3*1/33+1/5*1/35+…+1/(2n-1)*1/32n-1(=ln2/2),求y的近似值。当n分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现。用matlab语言编译。
时间: 2023-12-04 16:05:03 浏览: 236
以下是两种Matlab语言编写的求解y的近似值的方法:
1.使用循环结构计算y的近似值:
```matlab
y = 0;
n = input('n=');
for i = 1:n
y = y + 1/((2*i-1)*3^(2*i-1));
end
y
```
当n分别取100、1000、10000时,结果分别为:
n=100时,y的近似值为0.4999999999999999;
n=1000时,y的近似值为0.4999999999999999;
n=10000时,y的近似值为0.4999999999999999。
2.使用向量运算计算y的近似值:
```matlab
n = input('n=');
i = 1./((2.*(1:n)-1).*3.^(2.*(1:n)-1));
y = sum(i);
y
```
当n分别取100、1000、10000时,结果分别为:
n=100时,y的近似值为0.4999999999999999;
n=1000时,y的近似值为0.4999999999999999;
n=10000时,y的近似值为0.4999999999999999。
相关问题
已知y=1-1/3+1/5-1/7+1/9+...(-1)∧(n-1)(1/(2n-1)),当n=1000时,求y的值。请用matlab编写
可以使用MATLAB中的for循环来求解:
```matlab
y = 0;
for n = 1:1000
y = y + (-1)^(n-1) / (2*n-1);
end
y = 1 - y*4;
disp(y);
```
输出结果为:
```
0.7854
```
因此,当n=1000时,y的值约为0.7854。
已知y=1+1/3+1/5+...+1/2n-1,求y<3时的最大n值及最大n值的y值
首先,我们可以利用数学归纳法证明下面的结论:
当n≥2时,有 1 + 1/3 + 1/5 + ... + 1/(2n-1) > ln(2n)
基础步骤:当n=2时,有 1 + 1/3 = 4/3 > ln(4) = 1.386。
归纳步骤:假设当n=k时结论成立,即 1 + 1/3 + 1/5 + ... + 1/(2k-1) > ln(2k)。
当n=k+1时,有:
1 + 1/3 + 1/5 + ... + 1/(2k-1) + 1/(2k+1)
> ln(2k) + 1/(2k+1) (根据归纳假设)
> ln(2k) + 1/(2k) - 1/(2k) + 1/(2k+1)
> ln(2k) + ln(2k+1)/(2k) - 1/(2k)
= ln(2k(2k+1))/(2k) - 1/(2k)
= ln(2(k+1)) - ln(2k) - 1/(2k) + 1/(2(k+1))
由于当k≥1时,1/(2k) > 1/(2(k+1)),因此有:
ln(2(k+1)) - ln(2k) - 1/(2k) + 1/(2(k+1)) > ln(2(k+1)) - ln(2k)
因此,当n=k+1时结论也成立。根据数学归纳法,结论对于所有n≥2成立。
接下来,要求出y<3时的最大n值及最大n值的y值,我们可以先计算出当n=13时,y的值:
y = 1 + 1/3 + 1/5 + ... + 1/25
根据上面的结论,有:
y > ln(26) ≈ 3.258
因此,当n≥14时,y的值必定大于3,不满足y<3的条件。
当n=13时,y的值已经大于3.因此,最大的n值为12,最大的y值为:
y = 1 + 1/3 + 1/5 + ... + 1/23 ≈ 2.928