Печать в Matlab при изменении значения параметра - PullRequest
0 голосов
/ 25 июня 2018

Я хочу построить простую функцию в зависимости от времени. Код ниже. Проблема в том, что когда я изменяю параметр c на 1,3, график не обращается ко всему указанному мною промежутку времени, а если я использую c как 3,4, он рисует за весь промежуток времени.

Что я делаю неправильно, когда c=1.3 сюжет останавливается на x = 1298 (я хочу, чтобы он рисовался вплоть до 2000 года)? Это проблема с функцией, которую я использую для генерации значений?

time=0:2000;
a=10^7;
b=1000;
c=log(2)/(3.4-2.1);
d=log(2)/((6.92)*24);
values=(a*b*exp((c-d).*time))./((a-b)+b*exp(c.*time));

figure
plot(time,values)

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Я запускаю ваш код для 1.3

Когда вы ставите 1.3, тогда c становится отрицательным.

c = 
   -0.8664

Тогда все значения в окончательной формуле получают оченьблизкое число к нулю.

0 голосов
/ 25 июня 2018

Проверьте вашу переменную values в рабочей области.Вы увидите, что из индекса 1300 он получает значение Inf или NaN.Эти значения не могут быть нанесены на график.Я думаю, знаменатель получает 0 в какой-то момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...