①源程序
#include<srdio.h>
main()
/*定义变量类型 。 */
{double ax0x1;
printf(\"求一个实数a的平方根x1\\");
/*do-while循环:
满足条件 a<=0时 , 执行循环输入实数a 。 不满足条件a<=0时 , 退出循环 , 即保证了a>0 。 */
do
scanf(\"%lf\"&a);
while(a<=0);
/*赋初值给x1 。 */
x1=a/2.0;
/*do-while 循环:
满足条件(>误差1e-6)时 , 则继续循环迭代 。
不满足条件(>误差1e-6)时 , 则停止循环迭代 。
*/
do
{x0=x1;
x1=(x0+a/x0)/2.0;
/*平方根迭代公式 , 用牛顿迭代法求得 。 */
while((x1-x0)>1e-6||(x1-x0)<-1e-6);
/*迭代误差为1e-6 , 即e的负6次方 , 约等于2.71821的负6次方为0.000001 。 */
printf(\"%f的平方根是%\\"ax1);
~
②牛顿迭代法
曲线:y=f(x1)
曲线外一点:(x0f(x0))
过点做曲线切线切线的斜率:
f'(x1)=(y-f(x0))/(x1-x0)
当y=f(x1)=x1^2即为平方函数时:
2x1=(x1^2-x0^2)/(x1-x0)
2x1^2-2x1x0=x1^2-x0^2
x1^2-2x1x0=-x0^2
x1^2+x0^2=2x1x0
a+x0^2=2x1x0
x1=(x0+a/x0)/2
【CPU|C语言-迭代平方根】即求得平方根迭代公式 。
- CPU|你的手机能用几年?并非因为价格,这4个方向才是决定寿命的关键
- CPU|要使用6年流畅不卡的手机,这三款手机不要错过
- CPU|真我Q5上手体验:越级效果拉满,最强千元机实至名归!
- ARM|取代x86/ARM!第三大CPU架构RISC-V有了小目标:要统治世界
- CPU|2022年4月Steam硬件调查报告4核CPU逆势反超,AMD三款显卡首次入榜
- CPU|价格相差700元,iQOONeo6和iQOONeo6SE选哪个比较好?
- CPU处理器|龙芯2K1000LA处理器流片成功!全面转向LoongArch自研指令架构
- CPU|英国欲摧毁俄罗斯处理器产业!Arm或将不再授权俄罗斯新架构
- 音箱|锐龙CPU降价 游戏平台性价比再提升
- CPU|批量提取字符,除了用Ctrl+E外,还有这2个方法可选