Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Математические пакеты > Синтаксис mathcad


Автор: Xlady 20.1.2015, 18:02
Помогите решить экономическую задачу в mathcad!
Мне дана функция. Нужно найти неизвестные y, учитывая ограничения, чтобы функция приняла минимально возможное значение. Вот как я делаю:

f(x1,x2,x3,x4,x5,x6,y1,y2,y3)=a1x1+a2x2+a3x3+(a1+(k1-x1-y1)0,1)x4+(a2+(k2-x2-y2)0,1)x5+(a3+(k3-x3-y3)0,1)x6

x1:=1 x2:=1 x3:=1 x4:=1 x5:=1 x6:=1 y1:=1 y2:=1 y3:=1

Given
a11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a11x4+a12x5+a13x6=b1
a21x4+a22x5+a23x6=b2
a11y1+a12y2+a13y3=b1
a21y1+a22y2+a23y3=b2

x1>=0 x2>=0 x3>=0 x4>=0 x5>=0 x6>=0 y1>=0 y2>=0 y3>=0

Я должна задать определенные численные значения х и варьировать их, каждый раз увеличивая на 0,1 до тех пор, пока они не превосходят какого-то числа. Нужно находить при этом наборы у. Прорешав все такие уравнения, из наборов у нужно выбрать такой, при котором значение функции минимально. Эти у подставить в эти же уравнения и искать теперь набор х, при котором функция принимает максимальное значение.

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

Проще говоря, я просто не понимаю синтаксис mathcad. Я бы теоретически могла реализовать такую программу на Си, но здесь я не в курсе как описать алгоритм Лагранжа для решения этих уравнений.

Я искала уроки по программированию в mathcad, но нашла только объяснение простых программ. Я так и не поняла, как реализовать такую сложную функцию с ограничениями в цикле while.
Помогите! Очень надеюсь на вашу помощь!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)