PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 5
BiDiFo Отправлено: 16 Августа, 2011 - 18:08:53 • Тема: Построение графика по функции заданной пользователем • Форум: Вопросы новичков

Ответов: 11
Просмотров: 632
угу, спасибо(пишет пока сообщений мало что бы спасибо добавить...), теперь как я пониамю функция grafiki вообще не нужна ?
BiDiFo Отправлено: 16 Августа, 2011 - 16:11:32 • Тема: Построение графика по функции заданной пользователем • Форум: Вопросы новичков

Ответов: 11
Просмотров: 632
Спойлер (Отобразить)

4.php
Спойлер (Отобразить)
BiDiFo Отправлено: 16 Августа, 2011 - 15:40:59 • Тема: Построение графика по функции заданной пользователем • Форум: Вопросы новичков

Ответов: 11
Просмотров: 632
пытаюсь воткнуть eval(); как то не получается ...
PHP:
скопировать код в буфер обмена
  1.         eval("\$funk = \"$funk\";");
  2.         return $funk;

Действия - все поддерживаемые пхп (например такое - exp(-pow(($x-12),2)/(2*16)) )
Параметр да, только один.
Используемые средства не ограничен.

Так, а не может ли быть где - то сдесь ошибки ?
PHP:
скопировать код в буфер обмена
  1. //вот тут мы вводим формулу
  2. <form action="4.php" method="post">
  3. Введите формулу для построения графика: <input type=text name="funk" size="40" value="($x/10)*($x/10)"><br>
  4. //вот тут ее получаем в фале 4.php
  5. $funk = $_POST["funk"];
  6. //тут пытаемся использовать
  7. function grafiki ($x) {
  8.         eval("\$funk = \"$funk\";");
  9.         return $funk;
  10. }


Так, на сколько я понял eval() возвращает строку с подстановкой, а мне нужно выражение ...
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $x = '11';
  3. $str = 'sin(-pow(($x-12),2)/(2*16))<br>';
  4. echo $str;
  5. eval ("\$str = \"$str\";");
  6. echo $str;
  7. $s = $str+1;
  8. echo $s;
  9. ?>
  10.  

имеет вывод
sin(-pow(($x-12),2)/(2*16))
sin(-pow((11-12),2)/(2*16))
1

$str+1 !=1; похоже eval() не подойдет (
BiDiFo Отправлено: 16 Августа, 2011 - 15:24:57 • Тема: Построение графика по функции заданной пользователем • Форум: Вопросы новичков

Ответов: 11
Просмотров: 632
fredrsf
извиняюсь, наверно, не понятно объяснил, что мне нужно...
function grafiki ($x) {

return ($x/10)*($x/10); //мне нужно что бы эта функция была задана формой
}

Т.е сейчас если я в файле ***.php изменю ($x/10)*($x/10) на ,скажем, pow($x,3), то получу кубическую параболу, а как сделать, что бы формула задавалась бы с формы, а не редактированием файла ***.php ?
BiDiFo Отправлено: 16 Августа, 2011 - 14:30:52 • Тема: Построение графика по функции заданной пользователем • Форум: Вопросы новичков

Ответов: 11
Просмотров: 632
Задача - Построить график некой функции, которую пользователь задает в форме.
Есть форма, в которой пользователь задает длину оси Х и формулу графика (например ($x/10)*($x/10) ). Есть фунция для построения графика
CODE (php):
скопировать код в буфер обмена
  1. ...
  2. function grafiki ($x) { // функция, график которой рисуем
  3.         // $x - значение аргумента функции
  4.         // возвращаемое значение - значение функции от данного аргумента
  5.        
  6.         return ($x/10)*($x/10);
  7. }
  8. ...
  9. for ($x = 0.001; $x < $x0; $x += $ks) {
  10.         if (
  11.                 /* функция, начало */
  12.                         $y = grafiki($x)
  13.                 /* функция, конец */
  14.         ) {
  15.                 if ($x >= 0) $d = 1;
  16.                 else $d = 0;
  17.                 $qx = $x * $m;
  18.                 $y = $y * $m;
  19.                 imageline($img, 50 + $d + $qx, 550 - $y*10, 50 + $d + $qx, 550 - $y*10, $grcolor);
  20.         }
  21. ...
  22. }

Вопрос - как сделать так, что бы grafiki($x) возвращала значение заданное в форме пользователем?
При этом форма передает методом post данные, заданные пользователем, в файл ***.php - отвечающий за построение графика.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB