(1)请把exp2.m函数文件用while循环改写。 (2)用公式求的近似值,直到最后一项的绝对值小于为止,试编写M脚本文件.
时间: 2024-01-21 11:17:57 浏览: 87
(1) while循环改写exp2.m函数文件:
```
function y = exp2(x)
y = 1;
term = 1;
n = 1;
while abs(term) > 1e-6
term = term * x / n;
y = y + term;
n = n + 1;
end
end
```
(2) 用公式求近似值,直到最后一项的绝对值小于1e-6为止的M脚本文件:
```
x = input('请输入一个实数 x:');
n = 1;
term = 1;
y = 1;
while abs(term) > 1e-6
term = term * x / n;
y = y + term;
n = n + 1;
end
fprintf('exp(%g) 的近似值为 %g\n', x, y);
```
相关问题
c语言利用公式求近似值
C语言中可以利用数学库中的函数来求近似值,例如使用math.h头文件中的函数pow、sqrt、exp等函数进行运算。
以求e的近似值为例,可以使用以下公式:
e ≈ Σ(1/n!),其中n从0到无穷大
代码实现如下:
#include <stdio.h>
#include <math.h>
int main()
{
int n = 0;
double e = 1.0, term = 1.0;
while (term > 1e-10) //控制误差精度
{
term = 1.0;
for (int i = 1; i <= n; i++)
{
term *= i;
}
term = 1.0 / term;
e += term;
n++;
}
printf("e = %lf\n", e);
return 0;
}
输出结果为:
e = 2.718282
用do..while语句编程实现:s=1一+六一+...的近似值,满 足最后一项小于106为止。(参考s值:0.632120)
以下是使用do..while语句编写的程序:
```c
#include <stdio.h>
#include <math.h>
int main() {
double s = 0, i = 1;
do {
s += 1.0 / exp(i);
i += 6.0;
} while (1.0 / exp(i) > 1e-6);
printf("s = %.6f\n", s);
return 0;
}
```
程序中使用了exp函数计算e的幂次方,每次循环累加到s中。当最后一项小于1e-6时跳出循环,输出结果。
阅读全文