9. ( ) x[n] y[n].
:
3x12 + 1,5x22 - x32 - 5 = 0;
6x1x2x3 - x1 + 5x2 + 3x3 = 0;
5x1x3 - x2x3 - 1 = 0;
n=3, eps=1.0e-6, count=20.
:
x1=0.1, x2=0.2, x3=0.3
:
void pr_chasti(int n, float x[n], float b[n])
//
// b[i]=b(x[j]); i,j=0n-1,
{
b[0]=3.0*x[0]*x[0]+1.5*x[1]*x[1]+x[2]*x[2]-5.0;
b[1]=6.0*x[0]*x[1]*x[2]-x[0]+5.0*x[1]+3.0*x[2];
b[2]=5.0*x[0]*x[2]-x[1]*x[2]-1.0;
}
:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int Steffensen(int n, float eps, int count, float x[n], float y[n]);
int main(int argc, char **argv)
{
int n; //
int count; //
float eps; //
int i,j; //
printf("\n kolichestvo neizvestnyh n=");
scanf("%d", &n);
float x[n]; //
float y[n]; //
printf("\n vektor nachalnyh priblisheniy:\n");
for (i=0; i<n; i++)
scanf("%f", &x[i]);
printf("\n pogreshn. vychisl. eps=");
scanf("%g", &eps);
printf("\n max kolich. iteraciy count=");
scanf("%d", &count);
Steffensen(n, eps, count, x, y);
printf("\n Reshenie sistemy uravn.:\n");
for (i=0; i<n; i++)
printf("%12.6f", x[i]);
printf("\n");
printf("\n Vektor nevjazok:\n");
for (i=0; i<n; i++)
printf("%e ", y[i]);
printf("\n");
Return 0;
}
:
,
x1=1.2845 x2=0.1298 x3=0.1589
:
1. :
int Newton(int n, int m, int *iter, float eps, float x[n], float y[m], float *s0);
2. n ,
3. m (m>=n) ,
4. eps ,
5. count ,
6. :
float x[n]; //
float y[n]; //
7. :
void pr_chasti(int n, float x[n], float b[n])
b[i]=b(x[j]); i,j=0n-1,
8. x[n] ,
9. :
Newton(n, m, &iter, eps, x, y, &s0);
10. ( ) x[n], y[n], iter s0.
:
|
|
x12 + x22 - x3 - 0,5 = 0;
0,75x13 - x2 + x32 + 0,65 = 0;
x1x33 + 0,25 = 0;
n=3, eps=1.0e-6, count=20.
:
x1=0.1, x2=0.1, x3=0.1
:
void pr_chasti(int n, float x[n], float b[n])
//
// b[i]=b(x[j]); i,j=0n-1,
{
b[0]=x[0]*x[0]+x[1]*x[1]-x[2]-0.5;
b[1]=0.75*x[0]*x[0]*x[0]-x[1]+x[2]*x[2]+0.65;
b[2]=x[0]*x[2]*x[2]*x[2]+0.25;
}
:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int Newton(int n, int m, int *iter, float eps, float x[n], float y[m], float *s0);
int main(int argc, char **argv)
{
int n; //
int m; // (m>=n)
int iter; //
float eps; //
float s0; //
int i; //
printf("\n Kol-vo neizvestn. n=");
scanf("%d", &n);
printf("\n Kol-vo uravnen. (m>=n) m=");
scanf("%d", &m);
float x[n]; //
float y[m]; //
printf("\n Kol-vo iteracij iter=");
scanf("%d", &iter);
printf("\n Pogreshn. vychislenij eps=");
scanf("%e", &eps);
printf("\n vvedite vektor nachaln. priblishenij (%d znachenij):\n", n);
for (i=0; i<n; i++)
scanf("%f", &x[i]);
printf("\n");
Newton(n, m, &iter, eps, x, y, &s0);
printf("\nKol-vo iteracij: %d\n", iter);
printf("\n Ocenki neizvestnyh:\n");
for (i=0; i<n; i++)
printf("%10.5f", x[i]);
printf("\n");
printf("\n Vector nevjazok:\n");
for (i=0; i<m; i++)
printf("%e ", y[i]);
printf("\n");
printf("\nSrednekv. nevjazka: %e\n", s0);
return 0; }
:
,
x1=-1.042 x2=0.1867 x3=0.6213
-
:
1. :
int Newton_Rafson(int n, float q[n+1], float p[2][n]);
2. n ,
3. :
float q[n+1]; //
//
float p[2][n]; // :
// ,
// ,
4. q[n+1] ,
5. :
Newton_Rafson(n, q, p);
6. ( )
:
x3 3x2 + 4x 12 = 0
n=3, :
q[4]=(-12, 4, -3, 1).
:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int Newton_Rafson(int n, float q[n+1], float p[2][n]);
int main(int argc, char **argv)
{
int n; //
int i; //
char c; //
printf("\n stepeny uravnenia n=");
scanf("%d", &n);
float q[n+1]; // //
|
|
float p[2][n]; //
printf("\n vektor koefficientov:\n");
for (i=0; i<n+1; i++)
scanf("%f", &q[i]);
Newton_Rafson(n, q, p);
printf("\n Korni uravnenija");
printf("\n Dejstvit. chasti Mnimye chasti \n");
for (i=0; i<n; i++)
printf(" %12.6f %12.6f\n", p[0][i], p[1][i]);
printf("\n");
c=getch();
Return 0;
}
:
,
x1=3.0 x2,3=0.0 j 2.0
:
1. :
int Bairstow(int n, float q[n+1], float p[2][n]);
2. n ,
3. :
float q[n+1]; //
//
float p[2][n]; // :
// ,
// ,
4. q[n+1] ,
5. :
Bairstow(n, q, p);
6. ( )
:
2x3 + 3x2 + 3x + 1 = 0
n=3, :
q[4]=(1, 3, 3, 2).
:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int Bairstow(int n, float q[n+1], float p[2][n]);
int main(int argc, char **argv)
{
int n; //
int i; //
char c; //
printf("\n stepeny uravnenia n=");
scanf("%d", &n);
float q[n+1]; //
//
float p[2][n]; // :
// - . ,
//
printf("\n vektor koefficientov:\n");
for (i=0; i<n+1; i++)
scanf("%f", &q[i]);
Bairstow(n, q, p);
printf("\n Korni uravnenija");
printf("\n Dejstvit. chasti Mnimye chasti \n");
for (i=0; i<n; i++)
printf(" %12.6f %12.6f\n", p[0][i], p[1][i]);
printf("\n");
c=getch();
return 0; }
:
,
x1=-2.0 x2,3=-0.5 j 0.866
:
1. :
void interpol_Lagrang(int n, float x[n], float y[n], float q[n]);
2. n ,
3. :
float x[n], y[n]; //
//
float q[n]; //
//
//
4. x [n], y[n],
5. :