Тема: Построение графика функции
Для моментов времени 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) = значению этого выражения