Акаша
Дата: 02.11.2017 00:34:56
Доброго времени суток!
Помогите решить задачку. Есть формула (см. вложение), необходимо запрограммировать ее в Maple. Однако, результат Maple выводит кривой. Не могу понять, что не так... по отдельности вроде бы считает составляющие формулы, все вместе не хочет...
Подскажите, что не так?
exp98
Дата: 02.11.2017 12:32:09
Не знаю мапл, но мне кажется.
Вы уверены, что нужно в точном соответствии с рисунком? Сомненя в последней сумме: в ней 3 сомножителя, а суммирование по 2-м. Т.е. имеем сумму квадратов, а сумму парных произведений не имеем?
И хитрый алгоритм скрывается в последующем многоточии на рисунке, разгадать не смог.
input-equation="y = b[0]+Sum(b[i]*x[i], i = 1 .. k)+Sum(b[ii]*x[i]^2, i = 1 .. k)+Sum(b[iu]*x[i]*x[j]*x[u], i = 1 .. k);"
(это выдрано из вложенного файла)
Согласно формуле имеем
y= y(xj) - зависимомсть от параметра xj.
Мож поэтому ...
Акаша
Дата: 03.11.2017 07:51:39
exp98,
автор |
---|
И хитрый алгоритм скрывается в последующем многоточии на рисунке, разгадать не смог. |
Многоточие я тоже не поняла, так представленная формула в методичке, видимо, имеется ввиду, что элементов должно быть больше.
По поводу формулы, не понятно мне, что с ней не так, вроде бы записала ее так, как в оригинальной формуле. Может быть я эту формулу не понимаю, и смысл тут другой, чем просто подстановка значений...
exp98
Дата: 03.11.2017 10:12:06
Помочь ни чем не могу, оригинала не видел.
Могу повторить, что j, и следов-но xj, в данной формуле не определены.
С формальной т.зр. практически на любом языке программирования в этом случае можно получить непредсказуемый результат (если дело дойдёт до выполнения, а не остановится на стадии трансляции исходника).
Если задание заведомо учебное, можно реализовать свою формулу, приведя аргументы, изложенные выше. Напрашивается суммирование xi*xj при j != i, а о многоточии забыть и избавиться от поганого u. Если же продолжать дальше, т.е. тройные произведения, 4-ные и т.д, то придётся и массив b[] задавать заранее большой размерности.
И повторю, Мапл не знаю и проги не имею.
archangel_cpp
Дата: 03.11.2017 18:28:12
exp98 |
---|
Помочь ни чем не могу, оригинала не видел. Могу повторить, что j, и следов-но xj, в данной формуле не определены. С формальной т.зр. практически на любом языке программирования в этом случае можно получить непредсказуемый результат (если дело дойдёт до выполнения, а не остановится на стадии трансляции исходника).
Если задание заведомо учебное, можно реализовать свою формулу, приведя аргументы, изложенные выше. Напрашивается суммирование xi*xj при j != i, а о многоточии забыть и избавиться от поганого u. Если же продолжать дальше, т.е. тройные произведения, 4-ные и т.д, то придётся и массив b[] задавать заранее большой размерности.
И повторю, Мапл не знаю и проги не имею. |
Maple он для символьных вычислений, вроде. Пусть j останется инкогнито. Maple выведет какую-то формулу, зависящую от j. Может это и требуется
archangel_cpp
Дата: 03.11.2017 18:31:18
Акаша
Дата: 03.11.2017 18:44:21
exp98, еще раз обдумала эту формулу, действительно, наверное моя ошибка в том, что не заданы значения всем параметрам.
Покручу еще раз, подумаю....
archangel_cpp
Дата: 03.11.2017 18:54:58
Акаша |
---|
exp98, еще раз обдумала эту формулу, действительно, наверное моя ошибка в том, что не заданы значения всем параметрам. Покручу еще раз, подумаю.... |
По Вашим входным не ясно, что надо получить на выходе. Если число, то j не даст это сделать
archangel_cpp
Дата: 03.11.2017 18:57:12
А вобще, по опыту, тут надо в функциональном стиле это все реализовать. не прибегая к for i ...
archangel_cpp
Дата: 03.11.2017 18:59:08
archangel_cpp |
---|
А вобще, по опыту, тут надо в функциональном стиле это все реализовать. не прибегая к for i ... |
Сам Maple - это функциональное программирование. есть возможность сделать все в императивном стиле. но это в нем не приветствуется