导航:首页 > 编程语言 > 函数迭代的编程题

函数迭代的编程题

发布时间:2022-12-21 09:14:59

A. 我想问一道编程题: 跪求答案!

float f(float x0)
{
return cos(x0);
}
//OUTPUT:
Fangcheng geng is 0.73881
cosx= 0.73927

B. 编程,编写函数f(x),用迭代法求x=a的三次方根

主要问题是原程序的 f 函数错了。double a[1000];的作用域是在f函数内,当函数返回时即释放,并不能像你想象的那个在下次调用时依然存在。

再者,

for(i=0;i<10000;i++)
{
if (fabs(f(i+1,b)-f(i,b))<1e-4)
break;
}
怎么能保证这10000次就一定能得到解呢?结束的条件是差<1e-4,直接做循环条件就可以了。

参考程序如下:

#include<stdio.h>
#include<math.h>
doublef(doublea,doublex)//x为上一个近似解
{
x=2.0/3*x+a/(3*x*x);//不能直接写2/3
returnx;
}
main()
{
doublea,x1,x0;
scanf("%lf",&a);
x1=a/3;//假设初始值
do
{x0=x1;
x1=f(a,x0);
}while(fabs(x1-x0)>1e-4);
printf("%lf ",pow(a,1.0/3));
printf("%lf",x0);
}

C. VB编程,用迭代法编一函数过程f(a),求x=a的1/3次方,就是a的立方根!

Private Sub Command1_Click()
Dim x As Single, x0 As Single, x1 As Single, a As Single
a = Val(InputBox("请输入一个数a="))
If Abs(a) < 0.000001 Then
x = 0
Else
x0 = a / 2
x1 = (2 / 3 * x0) + a / (3 * x0 ^ 2)
Do While Abs(x1 - x0) > 0.00001
x0 = x1
x1 = (2 / 3 * x0) + a / (3 * x0 ^ 2)
Loop
x = x1
End If
Print a & "的立方根为;"; x
End Sub

D. C语言编程,指针,编写函数,用牛顿迭代法求方程f(x)=2x3-4x2+3x-6=0在1.5附近的根。请给出运算结果

#include <stdio.h>
#include <math.h>
double root(double (*f)(double),double (*f1)(double), double x,double eps);
double fx(double x){
return 2*x*x*x-4*x*x+3*x-6;
}
double fp(double x){
return 6*x*x-8*x+3;
}
int main()
{
double x=1.5,y,eps=1e-08;
printf("input eps 1e-08\n"); scanf("%lf",&eps);
y = root(fx,fp,x,eps);
printf("%lf\n",y);

return 0;
}
double root(double (*f)(double x),double (*f1)(double x), double x,double eps){
double x0,x1;
x0=x;
while(1){
x1= x0 - (*f)(x0)/ (*f1)(x0);
if (fabs(x1-x0)<eps) break;
x0=x1;
};
return x1;
}

运行与输出:
input eps 1e-08
1e-08
2.000000

E. C语言用函数迭代法编1!+2!+3+4!+5!的程序

#include<iostream>
usingnamespacestd;
intf(intn)
{
if(n==0)return1;
elsereturnn*f(n-1);
}
intmain()
{
cout<<f(5)+f(4)+f(3)+f(2)+f(1)<<endl;
return0;
}

F. 关于C程序设计语言中printd函数的迭代问题

printd(1)之后打印1,不就退出程序了吗, ------->printd(1)之后 返回到 printd(12) 里面 调用 printd(1)的后面 接着执行 printd(12)内未执行完的语句
请时刻注意当前的n值......

G. C语言迭代法

迭代法就是让方程的解不断去逼近真实的解。这是一种数值计算方法。思路就是按上面的步骤,只设置两个x0,x1开始x0代表第一个值,x1代表第二值第一次迭代之后,让x0=x1,x1=新的值,这样x0代表第二个值,x1代表第三值以此类推。。。直到误差满足要求

H. 计算方法迭代法如何答编程题 方程是这样的X3-2X2+10X-20=0(字母后面是是幂指数前面是 系数)

#include "math.h"
main()
{ float x0=1.5, e=1e-5, x1;
int n=20, i;
for (i=1; i<=n; i++)
{x1=20.0\(x0*x0-2*x0+10);
if(fabs(x1-x0)<e){printf("x=%f\n k=%d", x1, i);break;}
x0=x1;
if(i>n) printf("die dai shi ");
}
好像有点错误

I. 求C语言例题讲解:用迭代法求方程x=cos x的根,要求误差小于10的-6次方

呵呵
你不已经编完了吗
因为是cos函数 所以要定义成浮点数,这样更精确,因此赋值也 要赋浮点数,即0.0其实就是零加个小数点使数域更广,
这段程序的意思是
先对x1赋0
x2用cos(x)赋值
此时要是x1等于x2就是x=cosx,成立输出,要不成立
,进入while,判断括号里的就是判断误差。当误差大于10的-6次方时循环继续,等小于10的-6次方时结束循环,输出的就是要求得
循环体的意思是
当满足判断条件时
看,开始 -----x1-----------x2----------------------
x1用x2赋值 x1--------------x2
因为开始x2等于cos0即1,此时cos值最大,以后的非零一定小
也就是说x2的值会不断变小,x1又不断的用x2赋值,那么x1也不断小这样x1和x2就会不断靠近,当两者之间的距离相差小于10的-6次方时就看成相等。满足要求,我再画几个数轴

x1-----------------------x(0)------------------------------------------
x1--------------------x(1)--------------------
x(1)----x【x(1)】
左为变量x1不断赋值,右为x2不断赋值

J. MATLAB函数迭代,这个程序怎么编

p0=1;
v0=2;
%第一次迭代
k(1)=K(P0,V0);
p(1)=p (K(1));
V(1)=v (K(1));
%第2到第100次迭代
for i=2:100%假设迭代100次
k(i)=K(P(i-1),V(i-1));

p(i)=p (K(i));

V(i)=v (K(i));

end
%这样就可以了,迭代几次自己改,希望采纳

阅读全文

与函数迭代的编程题相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:485
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163