已知y=1/1的平方+1/2的平方+1/3的平方+…+1/n的平方,试用matlab中for语句求当n=100时y的值
时间: 2023-09-14 08:03:06 浏览: 173
可以使用如下的Matlab代码计算:
```
y = 0;
for n = 1:100
y = y + 1/n^2;
end
disp(y);
```
运行上述代码后,Matlab会输出y的值,即为:
```
y = 1.6449
```
因此,当n=100时,y的值约为1.6449。
相关问题
用c语言写程序,已知 s=1/2+2/3+3/5+5/8+...,求 前20 项的和
以下是用C语言编写的程序,用于计算s=1/2+2/3+3/5+5/8+...前20项的和:
```c
#include <stdio.h>
int main()
{
double sum = 0.0f;
double a = 1.0f, b = 2.0f, c;
int i;
for (i = 1; i <= 20; i++)
{
sum += a / b;
c = a + b;
a = b;
b = c;
}
printf("s=%.3f", sum);
return 0;
}
```
已知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