📄 main.cpp
字号:
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define MaxD 21
using namespace std;
int N;
float X[MaxD];
float Y[MaxD];
float F(float x)
{
return 1/(1+25*pow(x,2));
}
float Lagrange(float x)
{
float retVal = 0;
float t = 0;
int k=0,j=0;
for(k=0; k<=N; k++)
{
t = 1.0;
for(j=0; j<=N; j++)
{
if(j!=k)
{
t = t*(x-X[j])/(X[k]-X[j]);
}
}
retVal = retVal + t*Y[k];
}
return retVal;
}
int main(int argc, char *argv[])
{
int i=0;
float length = 0;
float tempX = 0;
float tempY = 0;
printf("请输入等分数(不大于20):");
scanf("%d",&N);
length = 2.0/N;
printf("计算节点处的函数值... ...\n");
for(i=0; i<=N; i++)
{
X[i] = length*i - 1;
Y[i] = F(X[i]);
printf("X[%d]=%5f ",i,X[i]);
printf("Y[%d]=%5f\n",i,Y[i]);
}
system("PAUSE");
for(i=0; i<10; i++)
{
tempX = (rand()%10)/9.5;
tempY = Lagrange(tempX);
printf("X = %5f Y = %5f\n",tempX,tempY);
tempY = Lagrange((-1)*tempX);
printf("X = %5f Y = %5f\n",(-1)*tempX,tempY);
}
system("PAUSE");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -