Форум программистов, компьютерный форум, киберфорум
Наши страницы
Математика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/35: Рейтинг темы: голосов - 35, средняя оценка - 4.89
Chip115
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 26
1

как решить уравнение когда ln(-x) ?

27.11.2009, 20:03. Просмотров 6322. Ответов 7
Метки нет (Все метки)

Всем привет. Проблема с решением уравнения. Не могу понять что не так...
Постановка задачи:
Разработать программу для расчета резестивной электрической цепи с нелинейным элементом.
Дано :
R1=100 Ом
a= 32 В ^-1 (это альфа)))
I обр. =5 * 10^-6 A
U=Um*sin(wt)
где Um напряжение на входе в цепи соответствующее току Iд=6А
Получить график зависимости Iд=f(wt) при изменении Wt от 0 до 2пи.

при заданых параметрах диода и резистора ток диода Iд для каждого значения приложенного напряжения U определяется путем решения уравнения относительно iд. При этом поиск производится в интервале
0<Iд<U/R1 при U>0 и -I обр < Iд < 0 при U<0

Уравнение следующего вида:

U-Iд*R1-ln((Iд / I обр)+1) / а =0

собственнно вопрос.. Как решить это уравнение када -I обр < Iд < 0 при U<0 логарифм получается отрицательный. Мож я что с пределами на путал? не туда поставил?
Вот чась кода.
Решаю методом дихотомии... .

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
/*-----------основное уравнение------------*/
double pUm (double Umf,double i_d)
{
    return (Umf-i_d*R1-log((i_d/i_back)+1)/alpha);
}
 
 
/*------------------вычисляем максимальное напряжение при заданном токе--------------*/
double calc_of_mvolt(double (*pUm)(double,double))
{
 
    do
    {
        x=(a+b)/2;
        if((*pUm)(a,6)*(*pUm)(x,6)>0)
            a=x;
        else
            b=x;
    }
    while((b-a)>eps);
    return (x);
}
/*-----------------------------------------------------------------*/
 
 
/*-------вычисление тока диода при изменении входного напряжения по синусоидальному заону-----*/
double calc_of_curent(double (*pUm)(double,double))
{
    if(U>0)
    {
        a=0;
        b=U/R1;
        do
        {
            x=(a+b)/2;
            if((*pUm)(U,a)*(*pUm)(U,x)>0)
                a=x;
            else
                b=x;
        }
        while((b-a)>eps);
        return (x);
    }
    else if(U<0)
    {
        a=-i_back;
        b=0;
        do
        {
            x=(a+b)/2;
            if((*pUm)(U,a)*(*pUm)(U,x)>0)
                a=x;
            else
                b=x;
        }
        while((b-a)>eps);
        return (x);
    }
 return (0);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2009, 20:03
Ответы с готовыми решениями:

Решить уравнение
Вообще не могу понять как его сделать

Решить уравнение
извините не знаю к какой категории оно относится заранее спасибо

Решить уравнение
(x+4\left)( x+1\right)-3\sqrt{{x}^{2}+5x+2}=6

Решить уравнение
ctgt=-1/√3 Людишки добрые, прошу помощи, очень нужно)

Решить уравнение
6 sin^2x+sinxcosx-cos^2x=2

7
Monte-Cristo
2797 / 1386 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
27.11.2009, 21:19 2
Мм... влом разбираться.. могу только сказать, что ln(-x) - не имеет корней. Это ошибка.

Так как:

y = ln(-x);
e^y = -x;

в какой бы степени e (а это положительное число) не было, отрицательное число мы не получим.
0
manfeese
131 / 130 / 29
Регистрация: 04.01.2009
Сообщений: 415
27.11.2009, 22:30 3
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Мм... влом разбираться.. могу только сказать, что ln(-x) - не имеет корней
Согласен, это математическая ошибка!

Добавлено через 8 минут
Chip115, Я не пойму! У тебя в условии вроде как две переменных Iд что ли???

Цитата Сообщение от Chip115 Посмотреть сообщение
где Um напряжение на входе в цепи соответствующее току Iд=6А
Здесь вроде Iд задано


Цитата Сообщение от Chip115 Посмотреть сообщение
0<Iд<U/R1 при U>0 и -I обр < Iд < 0 при U<0
А здесь ты его ищешь?
Что к чему???
0
Chip115
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 26
28.11.2009, 13:53  [ТС] 4
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Мм... влом разбираться.. могу только сказать, что ln(-x) - не имеет корней. Это ошибка.
Да. Вы правы. Корней нет. Собственно по этому у меня и возник вопрос.
Цитата Сообщение от manfeese Посмотреть сообщение
А здесь ты его ищешь?
Что к чему???
Ток синусоидальный. Изменяется по соответствующему закону. Iд это ток диода при максимальном напряжении...
Ищу максимальное напряжение Um, затем значение U=Um*sin (wt) (wt изменяю от 0 до 2пи). При каждом инкриминировании wt я передаю U в то уравнение (U-Iд*R1-ln((Iд / I обр)+1) / а =0) и из него вычисляю ток при этом U. и так далее до wt=360.
0
28.11.2009, 13:53
Том Ардер
Модератор
Эксперт по математике/физике
3849 / 2460 / 329
Регистрация: 15.06.2009
Сообщений: 4,527
28.11.2009, 14:54 5
Цитата Сообщение от Chip115 Посмотреть сообщение
ln((Iд / I обр)+1)
А каким образом под логарифмом может получиться отрицательное число, если по условию

Цитата Сообщение от Chip115 Посмотреть сообщение
-I обр < Iд < 0
?
0
lifestyle
Mobile Developer
236 / 232 / 18
Регистрация: 10.05.2009
Сообщений: 917
28.11.2009, 20:35 6
Цитата Сообщение от Chip115 Посмотреть сообщение
Цитата:Сообщение от Monte-Cristo
Мм... влом разбираться.. могу только сказать, что ln(-x) - не имеет корней. Это ошибка.
Да. Вы правы. Корней нет. Собственно по этому у меня и возник вопрос.
Извините но почему не имеет решения??как раз таки есть решение, только в комплексных числах ,а раскладывается следующим образом:
ln(-x)=ln|z|+i(arg(z)+2*Pi*k) где в нашем случае:
|z|=|-x+iy|=>sqrt((-x)^2+(y)^2)=>"y=0"=>x, arg(z)=arg(-x+iy)"y=0"=>arg(-x)=Pi(угол до отрицательная части оси Х будет равен Pi(т.е. 3.14...) )отсюда следует что ln(-x)=ln(x)+i(Pi+2*Pi*k) вот и все
0
manfeese
131 / 130 / 29
Регистрация: 04.01.2009
Сообщений: 415
28.11.2009, 20:45 7
Согласен с Том Ардер.
Отрицательного значения получится не может!
Даже если условие -I обр < Iд < 0, то выражение Iд / I обр лежит в пределах -1<= Iд / I <=0, а под логарифмом в таком случае соответственно получается значение 0 < x < 1;
0
taras atavin
4207 / 1774 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
05.04.2010, 06:54 8
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
ln(-x) - не имеет корней.
Уравнение ln(-x)=a имеет корень:
x=-e^a (-*-=+).
0
05.04.2010, 06:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2010, 06:54

Как решить нелинейное уравнение первого порядка
2(\acute{y}+y)=x{y}^{2} как Решать?

Как решить дифференциальное уравнение второго порядка
Помогите решить ДУ, пожалуйста! Вот оригинальное уравнение: y''-2 y' = x^2 -1, y(1) = -1/6,...

Как решить это уравнение (подробно пожалуйста!)
Как сделать это дифференциальное уравнение. Буду очень благодарен.


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

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

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