Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
#1

Решение неявно заданной функции. - C++

01.11.2009, 22:21. Просмотров 2234. Ответов 14
Метки нет (Все метки)

составить таблицу значений функции y, заданной неявно x в степени (три) плюс y равно e в степени (минус х минус у в квадрате) плюс 1, для х[0;1] с шагом h=0,1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2009, 22:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Решение неявно заданной функции. (C++):

Решение заданной функции - C++
Объясните как решить систему уравнений используя ветвления "if - els", switch число х вводится с клавиатуры ...

Найти решение заданной функции. Что делаю не так? - C++
Что делаю не так? Найти решение заданной функции, используя циклы "for", "while", "do-while". число n вводится с клавиатуры. ...

Неявно встроенные функции - C++
Что не могут делать неявно встроенные функции?

Вычислить с заданной точностью значение заданной комплексной функции - C++
Не могу составить алгоритм. Уже 2 дня мучаюсь и ищу материал. Вот, собственно, задачка: Даны комплексное число z (пара вещественных...

Табулирование заданной функции и определение максимального и минимального значения функции в таблице - C++
Разработать консольное приложение, производящее табулирование заданной функции и определение максимального и минимального значения функции...

Вычислить значение функции аргумент которой вычисляется из другой кусочно заданной функции - C++
Решите программу то я не знаю как:hysteric: Вычислить значение y в зависимости от выбранной функции \varphi (x), аргумент которой...

14
M128K145
Эксперт JavaЭксперт С++
8316 / 3536 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
02.11.2009, 10:54 #2
КуДрЯшЕчКа, перепиши задание внятно и по человечески
0
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
02.11.2009, 13:34  [ТС] #3
составить таблицу значений функции y, заданной неявно:
X(в кубе)+Y=e(в степени : -х-у*у)+1
для 0<=x<=1 с шагом h=0.1
0
M128K145
Эксперт JavaЭксперт С++
8316 / 3536 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
02.11.2009, 20:57 #4
КуДрЯшЕчКа, а как изменяется y? Иначе я не вижу смысла в задании - просто посчитать Х куб и в соответствующем месте его вывети
0
odip
Эксперт С++
7161 / 3223 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.11.2009, 21:23 #5
Например x==0.1, какое будет значение y ?
В том и прикол, что нужно посчитать этот y
0
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
03.11.2009, 11:53  [ТС] #6
ну на сколько я поняла. то да...есть предложения как это решить?

Добавлено через 2 минуты
M128K145, именно изменеи я у и нужно показать в таблице значений..., а меняется он потому , что меняется х от 0 до 1

Добавлено через 1 минуту
и кстати х, есть не только в кубе. но и в степени числа e
0
odip
Эксперт С++
7161 / 3223 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
03.11.2009, 22:19 #7
Наверняка есть какие-нибудь методы для этого - вы должны проходить.
Но если по-тупому.
Берем фиксированный x.
Считаем значение функции f(y)= x*x*x+y-(exp(-x-y*y)+1)
Наша задача - найти с точностью eplison такое значение y, чтобы fabs(f(y))<epsilon.
А это можно найти с помощью обычного метода деления отрезка на две части.

Добавлено через 7 минут
Код
x=0 y=-2 f=-3.01831563888873
x=0 y=2 f=0.981684361111266

x=1 y=-2 f=-2.00673794699909
x=1 y=2 f=1.99326205300091
Вот интервал для поиска y: [-2,+2].
Значения f() принимают разные знаки на концах интервала ( при любом x ).
Значит корень есть.

Ну еще нужно убедиться что там корень только один.
1
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
04.11.2009, 17:58  [ТС] #8
мне не нужен корень уравнения, мне нужна таблица значений функциии у.
0
odip
Эксперт С++
7161 / 3223 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
04.11.2009, 23:13 #9
Угу, а что такое при фиксированном x есть корень уравнения f(y)=0 ?
Это и есть требуемое значение неявной функции от данного фиксированного x.

Делаешь эти вычисления в цикле при x=0, 0.1, ...., 1.0 и получишь свои значения y.
0
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
06.11.2009, 22:26  [ТС] #10
А КАК ПРАВИЛЬНО ЗАДАТЬ ЭТУ ФУНКЦИЮ В СИ?
0
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
07.11.2009, 19:47  [ТС] #11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<math.h>
#define EPS 1e-10
double f(double x){
    return exp(-x*x)+1-x;
    }
    int main(){
        double l=-2,r=2,c;
        while(r-l>EPS){
        c=(l+r)/2;
        if(f(c)*f(r)<0)
            l=c;
        else
            r=c;
        }
        printf("%.10lf\n",(l+r)/2);
    }
Добавлено через 2 минуты
точнее вмечто х нужно поставить у...но это не так важно...
получается это программа считает значение у, при х=0, а что нужно изменить чтобы считались значения уБ при х изменяющемся?
0
odip
Эксперт С++
7161 / 3223 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
07.11.2009, 23:07 #12
А КАК ПРАВИЛЬНО ЗАДАТЬ ЭТУ ФУНКЦИЮ В СИ?
Так вроде уже написал все давно:
Берем фиксированный x.
Считаем значение функции f(y)= x*x*x+y-(exp(-x-y*y)+1)
а что нужно изменить чтобы считались значения уБ при х изменяющемся?
Взять функцию f(x,y) от двух аргументов.
При этом сначала фиксировать x, а потом искать f(fixed_x,y).

Добавлено через 57 секунд
Ну или напиши функцию f_y(x), которая ищет значение y при заданном x.
А потом просто в цикле ее прогнать
0
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
08.11.2009, 14:00  [ТС] #13
C
1
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
#include<stdio.h>
#include<math.h>
 
main()
{
 float a,b,eps,v(float),s,dix(float a,float b,float(*v)(float),float eps);
  printf("\zadat' predel i tochnost':");
      scanf("%f%f%f",&a,&b,&eps);
 
            s=dix(a,b,eps,v);
      printf("\n %f",s);
 }
  float v(float x,float y)     /*funcia*/
  { return x*x*x+y-exp(-x-y*y)-1;}
 
        /*metod delenia popalam*/
 float dix(float a,float b,float(*v)(float),float eps)
  {
   float x,z;
   z=v(a);
   do{
      x=(a+b)/2;
      if(v(x)==0) return x;
      if(z*v(x)>0) a=x;
      else b=x;
    } while((b-a)>eps);
    return .5*(a=b);
  }
Добавлено через 16 секунд
не работает(((

Добавлено через 1 минуту
C
1
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
#include<stdio.h>
#include<math.h>
 
main()
{
 float a,b,eps,v(float),s,dix(float a,float b,float(*v)(float),float eps),x,h=0.1;
 
  printf("\zadat' predel i tochnost':");
  scanf("%f%f%f",&a,&b,&eps);
   for (x=0,x<=1;x+h)
   s=dix(a,b,eps,v);
   printf("\n %f",s);
 }
  float v(float x,float y)
  { return x*x*x+y-exp(-x-y*y)-1;}
 
 
 float dix(float a,float b,float(*v)(float),float eps)
  {
   float x,z;
   z=v(a);
   do{
      x=(a+b)/2;
      if(v(x)==0) return x;
      if(z*v(x)>0) a=x;
      else b=x;
    } while((b-a)>eps);
    return .5*(a=b);
  }
0
KoRtNi
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 3
19.11.2009, 14:29 #14
составить таблицу значений функции y=интеграл от v до w sinxdx/x для 1<=v<=1,5 и 2<=w<=3 с шагом h(v)=h(w)=0,1

нужно вычислять интеграл для каждого v и w,которые увеличиваются каждый раз на 0,1?
0
КуДрЯшЕчКа
2 / 2 / 1
Регистрация: 01.11.2009
Сообщений: 60
19.11.2009, 20:48  [ТС] #15
да)))именно так)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2009, 20:48
Привет! Вот еще темы с ответами:

Найти среднее арифметическое значений заданной функции в указанных точках, используя обращение к функции - C++
Ребят, помогите пожалуйста! Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции. ...

шаблон функции. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью - C++
Написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны...

Решение задачи с функцией заданной через ряд Тейлора - C++
Помогите пожалуйста с решением задачи из курса программирования. Перевелся из другого ВУЗа на ИВТ, в программировании пока что дуб-дубом. ...

Конструкторы классов в неявно подключенных DLL - C++
Добрый день, господа программисты! Столкнулся с парой проблем при работе с DLL При написании классов внутри DLL, компилятор не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru