Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Написать функцию, преобразующую строку символов так, что между словами всегда находится два пробела. http://www.cyberforum.ru/c-beginners/thread385389.html
Ребят, помогите с лр3 задача: Для всех заданий необходимо написать функцию и тестирующую программу, которая вводит исходные данные, вызывает функцию и выводит результат её работы. Написать...
Помогите доделать программу по массивам. C (СИ)
Суть задачи полагает в том, что дан двухмерный массив. Нужно вывести номера столбцов в котором более одного элемента равному нолю. Также переставить строки за зростанием значений минимальных элемнтов...
При вводе букв или спец. символов программа уходит в цикл. C (СИ)
Всем доброго времени суток. Проблема такая, при запуске программы и вводе значений отличных от циферных, программа зацикливаеться. Если не сложно подскажите где ошибка или что нужно добавить....
C (СИ) Подсчет табуляций, пробелов и новых строк Написать программудля подсчета пробелов, табуляций и новых строк на стандартном вводе. Нужно на C void main() { char a; int k,g,x; k=0; g=0; x=0; http://www.cyberforum.ru/c-beginners/thread385287.html
C (СИ) Найти квадраты двух введенных чисел http://www.cyberforum.ru/c-beginners/thread385245.html
помогите, пожалуйста! в общем тема с указателями. Я написал, но у меня вечную ошибку выдает, что будто бы n1 и n2 присваивается значение, которое никогда не используется в функции. Понять не могу,...
C (СИ) Присвоение переменной char значения из командной строки
Хочу поместить в переменную rest значеиние, вводимое в командной строке, но она все равно остается пуста! Подскажите, что делаю не так? int _reset(){ char rest; puts ("\nPoprobovat' snova? (Y/N)...
Разное про массивы C (СИ)
#include <stdio.h> #include<stdio.h> // Áèáëèîòåêà ââîäà-âûâîäà #include<conio.h> // Áèáëèîòåêà ðàáîòû ñ îêíàìè #define N 6 // Ìàêðîîïðåäåëåíèå (ðàçìåðíîñòü ìàññèâà int main(void) // Ãëàâíàÿ...
C (СИ) Найти максимальное значение массива Нужно найти максимальное значение массива arr почему ругается на переменуую m компилятор? #include <stdlib.h> #include <time.h> #include <stdio.h> int main() { int arr,i, m; http://www.cyberforum.ru/c-beginners/thread384915.html
C (СИ) Есть ли аналог realloc(), но расширяющийся в обратную сторону и возвращающий указатель на начало http://www.cyberforum.ru/c-beginners/thread384846.html
встречный вопрос форумчанам. Есть ли аналог realloc(), но расширяющийся в обратную сторону и возвращающий указатель на начало. т.е. так int *p = malloc(sizeof(int)); p = 2; p = somthing_realloc(p,...
C (СИ) Найти в двухмерном массиве номер первого отрицательного элемента Подскажите плз, мне нужно написать программу, которая будет находить в двухмерном массиве номер первого отрицательного элемента #include<stdio.h> #include<stdlib.h> #include<conio.h>... http://www.cyberforum.ru/c-beginners/thread384734.html
sdwvit
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 3
17.11.2011, 21:49 0

Решение системы нелинейных уравнений.

17.11.2011, 21:49. Просмотров 2231. Ответов 2
Метки (Все метки)

Ответ

Привет , нашел твой пост в гугле, понравилась блоксхема, мне помогла
выкладываю код что работает, производные и начальные данные подставь свои:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <cstdlib>
#include <iostream>
#include <math.h>
 
 
#if 0  // код в этом блоке компилятор не воспринимает, так как препроцессор его сьедает, можно здесь писать всякую чепуху не по делу и ничего не бояться
xy-tg(x-y)=0
0,5x^2+2y^2-1=0
 
x=0,975247
y=0,512078     
#endif
 
double fun1(double x,double y)
{
    double f;
    f=x*y-tan(x-y); //здесь твоя функция №1
    return f;
}
 
double fun2(double x,double y)
{
    double f;
    f=0.5*x*x+2*y*y-1; //здесь твоя функция №2
    return f;
}
 
double dfun1_dx(double x,double y)
{
    double f;
    f=(y-1)*x-(tan(x-y)*tan(x-y)+1); //здесь твоя производная от функции №1 по х
    return f;
}
 
double dfun1_dy(double x,double y)
{
    double f;
    f=(x-1)*y+(tan(x-y)*tan(x-y)+1);  //здесь твоя производная от функции №1 по y
    return f;
}
 
double dfun2_dx(double x, double y)
{
    double f;
    f=x;   //здесь твоя производная от функции №2 по х
    return f;
}
 
double dfun2_dy(double x,double y)
{
    double f;
    f=4*y;   //здесь твоя производная от функции №2 по y
    return f;
}
 
using namespace std;
 
int main()
{
    double x,y,e,x0,y0,a,b,c,d,lick,suck,dx,dy; // переменные, все те же что и у тебя только без массивов ( массивов в с++ нету как таковых, но можно сделать но это надо отдельно обьяснять)
    
    x=0.9; // (приближенное х)
    y=0.5; // (приближенное у)
    e=0.000001; //точность
 
    do
    {
        x0=x;
        y0=y;
        lick=-fun1(x0,y0);
        suck=-fun2(x0,y0);
        a=dfun1_dx(x0,y0);
        b=dfun1_dy(x0,y0);
        c=dfun2_dx(x0,y0);
        d=dfun2_dy(x0,y0);
        dx=(lick*d-b*suck)/(a*d-b*c);
        dy=(a*suck-lick*c)/(a*d-b*c);
        x=x0+dx;
        y=y0+dy;
    } while (((dx<e && dx>(-e)) || (dy<e && dy>(-e)))==false);  // в этом цикле все абсолютно в точности как у тебя, ничего менять не нужно (кстати в твоем коде ошибки, здесь исправлены)
 
    printf ("x = %f\n",x);
    printf ("y = %f\n",y);
    system("PAUSE");
    return 1;
}


Вернуться к обсуждению:
Решение системы нелинейных уравнений.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2011, 21:49

Решение системы линейных уравнений n порядка
Нужно составить решение системы линейных уравнений n-го порядка.

Решение системы из n линейных уравнений с n неизвестными
Имя входного файла: input.txt Имя выходного файла: output.txt Ограничение по времени: 2 секунды...

Найти решение системы линейных уравнений
РЕШИТЕ,ПОЖАЛУЙСТА 1. Найти решение системы линейных уравнений вида В системе(A1*x+B1*y=C1 и...

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