Размер шрифта:
Тема: Построение графика функции
Play

Тема: Построение графика функции

Для моментов времени time = 11..20, аргумент определяется по условию: N20 = if ((N20_для_time=10) * exp (- ((time = 11)-(time=10))/chrome))<25;25; ((N20_для_time=10) * exp (- ((time = 11)-(time=10))/chrome))

(т.е если получается число меньше 25, то принимается число равным 25), если число больше 25, то N20 = ((N20_для_time=10) * exp (- ((time = 11)-(time=10))/chrome))

Помогите, пожалуйста, построить данную зависимость. Знаю, что для графика нужна функция TChart, поместил её на форму. А как дальше быть? Хотелось бы, чтобы после задания параметров в ComboBox1 и Edit 1-2, при нажатии на кнопку строился этот график. [Ссылки могут видеть только зарегистрированные пользователи. ]

  • >Quiet Snow<
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей
  • Daniel_Riccardo
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей

Через TImage, элементарно же.

[Ссылки могут видеть только зарегистрированные пользователи. ]

  • >Quiet Snow<
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей
  • nik_1
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей

всем, привет! сделал не знаю правильно или нет. пускай кто ни будь проверит.

[Ссылки могут видеть только зарегистрированные пользователи. ]

архив [Ссылки могут видеть только зарегистрированные пользователи. ]

3 пользователя(ей) сказали cпасибо:

  • >Quiet Snow<
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей
  • Daniel_Riccardo
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей

всем, привет! сделал не знаю правильно или нет. пускай кто ни будь проверит.

[Ссылки могут видеть только зарегистрированные пользователи. ]

архив [Ссылки могут видеть только зарегистрированные пользователи. ]

Как оказалось, ось абсцисс градуируется следующим образом: Изначально (в Edit3) задается некоторое число k. График по оси абсцисс имеет следующие координаты: x1 = 0.1*K, x2=0.2*k, x3=0.3*k, x4=0.4*k, x5=0.5*k, x6=0.6*k, x7=0.7*k, x8=0.8*k, x9=0.9*k, x10 = k, x11 = 1.1*k, x12=1.2*k, x13=1.3*k, x14=1.4*k, x15=1.5*k, x16=1.6*k, x17=1.7*k, x18=1.8*k, x19=1.9*k, x20=2*k

И можно ли сделать так, чтобы оси градуировались в зависимости от решения? Т.е чтобы шкала автоматически изменялась (по оси ординат). Например, график при значениях Chrome = 110,628, k = 5 и Xenon = 951,814 должен иметь следующий вид: [Ссылки могут видеть только зарегистрированные пользователи. ]

  • >Quiet Snow<
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей

Всё сделать можно, писал такую штуку на бейсиках давно ещё с автоподбором осей. Скопирую с другого форума т.к. код платформо независимый(не исп. функции логич. координат диалекта) и может быть полезен:

Перевести на лазарус(в паскаль синтаксис) - особых трудностей быть не должно. На лазарусе даже проще будет всё разметить, там хоть шрифты человеческие.

3 пользователя(ей) сказали cпасибо:

  • nik_1
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей

я так понял К - это маштабирующий коэффициент по оси у. если его ввести фигня полная выйдет. нам ни какого экрана не хватит чтобы график построить. с перемещением графика по оси у проблем нет.

вложение 1827 у меня не открывается.

я таки вас понял. заказчик хочет лицезреть весь график и по графику считывать промежуточные координаты. тогда есть такое решение график функции вписывается в экран. а на промежуточных участках применяется лупа. размер лупы и маштаб лупы задается пользователем.

это уже на курсовик тянет.

  • Daniel_Riccardo
  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Записи в блоге
  • Просмотр статей

. Нет, это коэффициент по оси Х. Не нужно никаких луп) Например, график должен выглядеть следующим образом при значениях: Chrome = 110,628, k = 5 и Xenon = 951,814. (т.е по осям ограничений быть не должно: максимальные значения могут достигать 40, 100, 200 и тд. ) [Ссылки могут видеть только зарегистрированные пользователи. ] ,

Вводим значения Xenon, Chrome, k. График должен строиться следующим образом: 1) по оси Х всего 20 точек: В зависимости от коэффициента k: x1 = 0.1*K; x2=0.2*k; x3=0.3*k; x4=0.4*k; x5=0.5*k; x6=0.6*k; x7=0.7*k; x8=0.8*k; x9=0.9*k; x10 = k; x11 = 1.1*k; x12=1.2*k; x13=1.3*k; x14=1.4*k; x15=1.5*k; x16=1.6*k; x17=1.7*k; x18=1.8*k; x19=1.9*k; x20=2*k

2) по оси Y всего 20 точек: по формуле: N20(1) = 25+Xenon*(1-EXP(-x1/Chrome)); N20(2) = 25+Xenon*(1-EXP(-x2/Chrome)); N20(3) = 25+Xenon*(1-EXP(-x3/Chrome)); N20(4) = 25+Xenon*(1-EXP(-x4/Chrome)); N20(5) = 25+Xenon*(1-EXP(-x5/Chrome)); N20(6) = 25+Xenon*(1-EXP(-x6/Chrome)); N20(7) = 25+Xenon*(1-EXP(-x7/Chrome)); N20(8) = 25+Xenon*(1-EXP(-x8/Chrome)); N20(9) = 25+Xenon*(1-EXP(-x9/Chrome)); N20(10) = 25+Xenon*(1-EXP(-x10/Chrome));

N20(11) = ЕСЛИ[N20(10)*EXP<25;25;N20(10)*EXP] т.е если значение выражения [N20(10)*EXP меньше числа 25, то принять N20(11) = 25. Если же значение этого выражения получилось больше числа 25, то N20(11) = значению этого выражения

📎📎📎📎📎📎📎📎📎📎