关于C语言, 我现在已经求出两个值,怎样用这两个结果再进行一次相减的运算,应该怎么写呢?

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:22:18
得出 xn 与 yn :
printf("xn=%8.5lf, yn=%8.5lf\n\n",x0+n*h,euler(n,x0,h,y0));
嗯,重来一遍吧。全题是这样的:
已知Yn=(-2*x)-(1/8)*x*x+(1/8)*x,是确切值。
我现在根据一系列数学运算得出一个近似值yn, 现在要算它们之间的误差,怎么写?

楼主,不太明白你的意思。也不明白楼上给出的跟问题的相关点在哪儿。楼主,如果你想做减法,你就在前面先声明两个变量xn和yn。具体地说就是这样:

double xn;
double yn;
...
xn = x0+n*h;
yn = euler(n,x0,h,y0);
printf( "xn=%8.5f, yn=%8.5f, difference is %f\n\n", xn, yn, xn-yn );
如果你想算yn-xn,就写yn-xn就得了。
另外,如果你的编译器不支持C99标准的话,不要在printf里面写%lf,C99之前的标准printf对单精度还是双精度值都用%f,否则你的结果会出乎你的预料的。

楼主,都到这节骨眼上了,你还问怎么写?算绝对误差,你就写
abs(Yn-yn);啊,算相对误差就写abs(Yn-yn)/Yn啊!(abs是<math.h>里面的库函数)。。。还是没太搞懂你是什么意思。。

xn>yu?xn-yu:yu-xn