Zadanie 1.
może się pomyliłem, z tym że zadanie jest banalne.
Zadanie 2.
Nie, bo punkt (2;3) i (2;5) mają tą samą dla tego samego x=2 dwa różne wielomiany, a przez takie punkty nie można przeprowadzić żadnej funkcji, a w szczególności funkcji wielomianowej.
Zadanie 5.
Wzór (jak się wykres narysuje to widać):
Ta, ale jak się wykres narysuje to widać, tylko że to trzeba udowodnić że wzór ten się zgadza z definicją całki oznaczonej w sensie Darboux'a.
Zadanie 6.
Rysujesz wykresy i masz z nich mniej więcej pary punktów startowych:
Dla punktu I: (0,5;1)
Dla punktu II: (2,5;3,2)
Dla punktu III: (6,25; 6,5)
Dla punktu IV: (9,25; 9,5)
Nie zrobiłem tu tego tylko metodą stycznych w treści zadania jest błąd jest statycznych, a powinno być stycznych.
Zadanie 7.
Problem z (*) jest bo nie wiesz jakie są punkty startowe dla metody bisekcji (ja taką robiłem). Wystarczy narysować wykresy dla alfa_max i alfa_min. Zauważyć że funkcja po prawej stronie się tylko podnosi i opada w zależności od alfa, a punkt przecięcia zawiera się pomiędzy punktami przecięcia funkcji dla skrajnych wartości alfa.
Alfa_max=3.00:
Alfa_min=-3.00:
#include <stdio.h>
#include <math.h>
double bisec( double xa, double xb, double (*pf)(double), double eps, int *i_iter );
double fun(double x);
double sieczne( double xa, double xb, double (*pf)(double), double eps, int *i_iter );
double alfa;
void main() {
int i=0,it;
double eps=0.001;
double x[601], y[601];
double h=0.01, calka=0;
for(alfa=-3.;alfa<=3.; alfa=alfa+0.01)
{
printf("Rozwiazanie rownania dla alfa=%.2lf x=%lf\n",alfa, bisec(-1.,1.5,fun,eps,&it));
x[i]=bisec(-1.,1.5,fun,eps,&it);
y[i]=alfa;
i++;
}
for(i=0; i<600; i++)
calka=calka+(x[i]+x[i+1])/2*h;
printf("Wartosc calki wynosi: %lf\n",calka);
}
double bisec( double xa, double xb, double (*pf)(double), double eps, int *i_iter )
{
int i;
double fa, fb, xc, fc;
fa = pf(xa);
fb = pf(xb);
if ( fa * fb > 0.0)
{
*i_iter = -1;
return 0;
}
for ( i = 1; i <= 1000; i++ )
{
xc = ( xa + xb ) / 2.;
fc = pf( xc );
if( fa * fc < 0. )
{
xb = xc;
fb = fc;
}
else
{
xa = xc;
fa = fc;
}
if ( fabs(fc) < eps && fabs(xb-xa) < eps)
break;
}
*i_iter = i;
return xc;
}
double fun(double x)
{
return (exp(-x)-x*x*x-alfa);
}
Zadanie 8.
f(x)=x*x*x*x*x-a
…itd.
W programie by to wyglądało jakoś tak:
double x0=a;
for(i=1;i<=n;i++)
x0=x0-(x0*x0*x0*x0*x0-a)/(5*x0*x0*x0*x0);
Wypisz->xo