Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335

Один из графиков (ток от времени) не строится корректно! (метод Рунге-Кутты)

19.05.2013, 19:48. Показов 3456. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Парни всем привет, не могу понять почему график i(t) всегда идёт по нулям? Т.е. ток всегда нулевой с течением времени. У меня аж 6 вариантов (разные значения данных) и во всех такая проблема. Условие под спойлером.
Кликните здесь для просмотра всего текста

файл-функция системы:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function F = dsys(t,I)
% I(1) -> i(t)
% I(2) -> di/dt
% F(1) -> di/dt
% F(2) -> d2i/dt2
 
R0 = 2;
L = 1e-6;
C = 0.001e-6;
f = 1e6;
k = 8e10;
Um = 1;
 
w = 2*pi*f;
R = R0*(1-k*I(1)^2);
 
F = zeros(2,1);
F(1) = I(1);
F(2) = (Um*w*cos(w*t) - 1/C*I(1) - R*I(2) )/L;
программка расчетов:
Matlab M
1
2
3
4
5
6
7
clear, clc
T = [0 5e-6]; 
i0 = [0 0];
[t, I] = ode45('dsys',T,i0);
plot(t,I)
grid on
legend('i(t)','di/dt')
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2013, 19:48
Ответы с готовыми решениями:

Метод Рунге-Кутты
Люди разбирающиеся, помогите пожалуйста. Есть такое уравнение : y'=2xy^3/(1-x^2y^2). При таких то заданных НУ. Пытаюсь решить методом...

Метод Рунге-Кутты
Помогите верно написать код должна получиться табличка как с помощью ркадапт(сам не уверен) препод сказал что в функцию необходимо...

Метод Рунге-Кутты
Доброго времени суток. Сразу говорю,извините за мою наглость. Дело в том,что я очень,очччень далек от программирования. не мое видимо,а...

28
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335
23.05.2013, 17:00  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Зосима Посмотреть сообщение

Не по теме:

зря я так расположил переменные :D все дело в этом, инфа 146%

Не по теме:

да я то не юзаю))

0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
23.05.2013, 17:07
Еще интересный момент: если в функции вместо Um*w*cos(w*t) оставить просто Um, то ДУ решается даже при k=1e16 !
Может дело в этом косинусе (быстро осциллирующая ф-ция)?
0
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335
23.05.2013, 17:39  [ТС]
Цитата Сообщение от Зосима Посмотреть сообщение
Еще интересный момент: если в функции вместо Um*w*cos(w*t) оставить просто Um, то ДУ решается даже при k=1e16 !
Может дело в этом косинусе (быстро осциллирующая ф-ция)?
вполне возможно

Добавлено через 4 минуты
ты знаешь какие американские форумы на подобие киберфорума?
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
23.05.2013, 17:52
Таки не удержался и упоролся
Программа расчета зависимости tср от k
Matlab M
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
function testode
global k       
 
K  = 10.^[0:0.2:20];
T = [0 1e-5]; 
i0 = [0 0];
 
for i = 1:length(K)
    k = K(i);
    [tau, I] = ode45(@qwert,T,i0);
    % что-то там неведомое
    t(i) = tau(end,1);
end
loglog(K,t,'r','linew',2), hold on
plot([1 1e20],[1e-5 1e-5],':r')
ylim([1e-11 1e-4])
grid on
xlabel('k')
ylabel('t_{cp}')
end
 
function F = qwert(t,I)
% I(1) -> i(t)
% I(2) -> di/dt
% F(1) -> di/dt
% F(2) -> d2i/dt2
global k
 
R0 = 2;
L = 1e-6;
C = 0.001e-6;
f = 1e6;
Um = 1;
 
w = 2*pi*f;
R = R0*(1-k*I(1)^2);
 
F = zeros(2,1);
F(1) = I(2);
F(2) = ( Um*w*cos(w*t) - (1/C)*I(1) - R*I(2) )/L;
end

Получился такой график:



*может его в отчет лабы прикрепить и в выводах описать полученные результаты?

ты знаешь какие американские форумы на подобие киберфорума?
увы, кроме MathWork-a не знаю
0
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335
23.05.2013, 18:29  [ТС]
Цитата Сообщение от Зосима Посмотреть сообщение
Таки не удержался и упоролся
Программа расчета зависимости tср от k
Matlab M
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
function testode
global k       
 
K  = 10.^[0:0.2:20];
T = [0 1e-5]; 
i0 = [0 0];
 
for i = 1:length(K)
    k = K(i);
    [tau, I] = ode45(@qwert,T,i0);
    % что-то там неведомое
    t(i) = tau(end,1);
end
loglog(K,t,'r','linew',2), hold on
plot([1 1e20],[1e-5 1e-5],':r')
ylim([1e-11 1e-4])
grid on
xlabel('k')
ylabel('t_{cp}')
end
 
function F = qwert(t,I)
% I(1) -> i(t)
% I(2) -> di/dt
% F(1) -> di/dt
% F(2) -> d2i/dt2
global k
 
R0 = 2;
L = 1e-6;
C = 0.001e-6;
f = 1e6;
Um = 1;
 
w = 2*pi*f;
R = R0*(1-k*I(1)^2);
 
F = zeros(2,1);
F(1) = I(2);
F(2) = ( Um*w*cos(w*t) - (1/C)*I(1) - R*I(2) )/L;
end

Получился такой график:

Вложение 271869

*может его в отчет лабы прикрепить и в выводах описать полученные результаты?

увы, кроме MathWork-a не знаю

Не по теме:

maybe they can help... http://forum.allaboutcircuits.... hp?t=85336



Добавлено через 14 минут

Не по теме:

радует что я не один такой: http://www3.nd.edu/~nancy/Math... Mlb8a.html

0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
03.06.2013, 20:13
*пока не забыл мысль!
Смотри, судя по математической модели ток в определенный момент времени должен улетать в бесконечность, но если собрать колебательный контур, то он и не расплавится через 5мкс, да и молний пускать не будет!
В чем же дело?
На мой взгляд дело в этом злосчастном нелинейном сопротивлении R(i):
Итак, имеем:
R(i) = R0*(1 - k*i^2)
В тоже время i ~ U/R(i)
Рассмотрим несколько точек времени:
При t=0, i=0, R = R0 - все красиво, все счастливы.
В вследующий момент времени ток растет, R - уменьшается! А это уменьшение еще больше увеличивает ток, ток еще больше сопротивление еще меньше и система улетает!
(кроме того, чисто математически может получаться R<0 (при i>sqrt(k) ), что естесственно совершенно противоречит реальной системе.

Поидее, все-таки должно быть: R(i) = R0*(1+k*i^2);

Может конечно я ошибаюсь, но проверить не могу, - пишу с телефона - могу только строчить догадки
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
03.06.2013, 21:20
В этом случае все считается, а график получается такой:



своеобразный, но ближе к истине
1
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335
04.06.2013, 16:04  [ТС]
Цитата Сообщение от Зосима Посмотреть сообщение
В этом случае все считается, а график получается такой:

Вложение 277261

своеобразный, но ближе к истине
Знаешь что мне сказали когда я защищался? "А у вас тут в этом варианте в формуле ошибка, уже три года с ней все мучаются" .... жесть. короче на хор. закрыл...
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
04.06.2013, 16:24
Цитата Сообщение от Gudsaf Посмотреть сообщение
"А у вас тут в этом варианте в формуле ошибка, уже три года с ней все мучаются"
да, задачка на смекалку ну вы хоть будущим поколениям маякните)))

*кстать, на картинке из первого сообщения в формуле для R стоит плюс! ( ядибил! )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2013, 16:24

метод Рунге-Кутты
Методом Рунге-Кутты четвертого порядка на отрезке найти с точностью 10^-5 решение уравнения x'=e^-2*t*(x^2+1) при x(0)=0 . %Пример...

Метод Рунге-Кутты
Как решить данную задачу? Методом Рунге-Кутты 2 порядка точности найти решение системы дифференциальных уравнений \begin{cases}...

Метод Рунге-Кутты 4-го порядка
help

метод рунге-кутты-мерсона
нужно написать программу для решения систем из n дифф уравнений методом рунге-кутты-мерсона(он же пятиэтапный метод рунге кутта 4 порядка)....

Не работает метод Рунге-Кутты
Здравствуйте. Не могу найти ошибку. Уравнение: f(x,y) = (1+ sinx) / (y) y(0) = 1 Решить численно методом Эйлера и Рунге-Кутты....


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru