⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fastdown.c

📁 数值分析中最速下降法插值算法
💻 C
字号:
//用最速下降法求解方程组x*x+y*y-x=0 x*x-y*y-y=0在0.8 0.4附近的解
//
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
void main()
{
	float x1=0.8;
	float y1=0.4;
	float f1,f2,f1x,f2x,f1y,f2y;
	float g10,g20;
	float r;
	float defuc;//判断函数
	float xr,yr;
	float jd=0.0000001;//精度
    do
 	{
	//f1=pow(x1,2)+pow(y1,2)-x1;
	f1=x1*x1+y1*y1-x1;
	//f2=pow(x1,2)-pow(y1,2)-y1;
	f2=x1*x1-y1*y1-y1;
	f1x=2*x1-1;
	f2x=2*x1;
	f1y=2*y1;
	f2y=-2*y1-1;
	g10=2*(f1x*f1+f2x*f2);
	g20=2*(f1y*f1+f2y*f2);
	r=((g10*f1x+g20*f1y)*f1+(g10*f2x+g20*f2y)*f2)/(pow((g10*f1x+g20*f1y),2)+pow((g10*f2x+g20*f2y),2));
        x1=x1-r*g10;
 	y1=y1-r*g20;
	f1=pow(x1,2)+pow(y1,2)-x1;//用新的X1Y1重新计算f1 f2
	f2=pow(x1,2)-pow(y1,2)-y1;
    defuc=pow(f1,2)+pow(f2,2);
    }
	while(defuc>=jd);
	printf("方程组的解为x1=%f,y1=%f",x1,y1);

} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -