Составить таблицу значений функции y, заданной неявно - C (СИ)

  1. Составить таблицу значений функции y, заданной неявно: x+y*y*y=e^(-x*x-y)+1, для 0<=x<=1 с шагом h=0,1 (написать на С, а не С++)


textual

Код к задаче: «Составить таблицу значений функции y, заданной неявно - C (СИ)»

/*Составить таблицу значений функции y, заданной неявно:
x+y*y*y=e^(-x*x-y)+1, для 0<=x<=1 с шагом h=0,1
 
Преобразуем в
y = (exp(-y-x^2) + 1 - x)^(1/3)
х - параметр (константа на каждом отдельном шагу)
 
Решаем нелинейное ур-е относительно у методом итераций
Локализация корня: у Є [0;2]
dy = - exp(-y-x^2) / [3*(exp(-y-x^2) + 1 - x)^(2/3)]
При любом Х Є [0;1] и у Є [0;2] |dy| < 1
Более того, dy<0, т.е. процесс сходится с двух сторон, т.е. 
критерий сходимости: |Yk+1 - Yk| < e
*/
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
#define SEPARATOR "=================================================\n\n"
 
double func (double x, double y)
{   return pow((exp(-y-x*x) + 1 - x), 1/3.);
}
 
int main() 
{   double x = 0., dx = 0.1, e = 1.E-6;
    double ycur, ynext;
 
    printf("%10c%20c\n", 'X', 'Y');
    printf(SEPARATOR);
    while (x < 1.05)
    {   ycur = 0.;
        ynext = func (x, ycur);
        while (fabs (ynext - ycur) > e)
        {   ycur = ynext;
            ynext = func (x, ycur);
        }
        printf("%10.1lf%20.6lf\n", x, ynext);
        x += dx;
    }
    printf(SEPARATOR);
    getchar();
    return 0;
}

СДЕЛАЙТЕ РЕПОСТ

9   голосов, оценка 4.444 из 5



Похожие ответы
  1. Составить функцию нахождения объема параллелепипеда по значениям длин трех ребер, выходящих из одной вершины. С помощью данной функции вычислить объем для N параллелепипедов.

  1. Нужно составить программу, которая вычисляет интеграл.. помогите пожалуйста ее составить, я не могу понять как с экспонентой составляется интеграл.

  1. Составить программу для вычисления значений функции y для различных значений аргумента x, используя три оператора цикла. значение аргумента x рассмотреть в N точках. вывести на печать значения аргумента и функции в столбик, используя возможности оператора printf. xЄ[1.0, 2.0] N=21

  1. Получить таблицу пересчета миль в километры и обратно (1 миля = 1,609344 км) для расстояний, не превышающих k км, в следующем виде: мили км 0,6214 1,0000 1,0000 1,6093 1,2428 2,0000 1,8641 3,0000 2,0000 3,2187 Помогите пожалуйста,дело в том что в моей программе выводит немного не те значения: 0,6214 1,0000 1,0000 1,6093 1,2428 2,0001 1,8642 3,0001 2,0000 3,2187C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include #include #include   int k;   float koeff;   float i;   int main() {     koeff = 1.609344;         i = 0.6214;             printf("Enter k: ");         scanf("%i", &k);         printf("Here is your table:\n");         while (i <= k)     {         printf("%.4f", i);                 printf(" %.4f", i * koeff);                 printf("\n");                 i += 0.6214;                 if (i > floor(i) && floor(i - 0.6214) < floor(i))         {             printf("%.4f", floor(i));                     printf(" %.4f", floor(i) * koeff);                     printf("\n");         }     }         getch(); }Переделайте пожалуйста так,что бы выводило именно те значения которые нужны по условию без лишних десятых.

  1. Составить алгоритм и программу сортировки элементов двумерного квадратного массива размером N (N> 5) по указанным правилам. (Стрелка указывает направление от меньшего к большему элемента). Сначала , думаю, стоит диагональ перевести в одномерный массив и отсортировать его. Потом занести обратно в массив 2-мерный. 2) Начать сортировать в таком порядке : (см. рисунок) Вот так думал решать, и вродь правильно, а отразить в коде не получается.

  1. Построить таблицу значений для функции. Очень интересует, как правильно ввести F(x)=... Спасибо!

  1. Необходимо реализовать хеш-таблицу для DNS сервера

  1. Дана матрица составить Функцию нахождения минимального элемента

  1. Составить структуру данных "Касс авиабилетов" состоящих из пунктов : 1. Номер кассы 2. ФИО кассира 3. Количество проданных билетов 4. Сумарное кол-во 5. Дата продажи Данные можно любые. Надеюсь на Вашу помощь.