Вложенная петля Maple 2016 - PullRequest
       6

Вложенная петля Maple 2016

0 голосов
/ 14 сентября 2018
restart;
l:
A:=242.5:
E:=55000:
alpha:=2.3*10^(-5):
G:=6.57:
upsilon[0]:=25:
H[0]:=5000:
upsilon[x]:
equ := H[x]^2*(H[x]-H[0]+E*A*G^2*l^2/(24*H[0]^2)+E*A*alpha*(upsilon[x]-upsilon[0])) = (1/24)*G^2*l^2*E*A;
for l from 20 by 5 to 60 do
  for upsilon[x] from -30 by 10 to 80 do solve(equ)
  end do;
end do;

Это простой расчет для натяжения проволоки, который должен быть сделан для l (размах проволоки в «м») от 20 метров до 60 метров и для каждого размаха для всех температур, повышенных [x] от -30 градусовЦельсия до 80 градусов, с шагом 10 градусов.

Если я удаляю внутренний цикл, все работает (учитывая, что я установил значение для upsilon [x]).Я был бы очень рад, если бы вы могли также сказать мне, как поместить результаты в таблицу, такую ​​как прикрепленная.

Table with results

1 Ответ

0 голосов
/ 15 сентября 2018

Вы можете программно встроить такую ​​таблицу в стандартный графический интерфейс Maple 2016.2, как показано ниже.

(я имею в виду графический интерфейс пользователя, а не просто терминал tty и интерфейс командной строки, а неold Classic GUI.)

restart;
l:
A:=242.5:
E:=55000:
alpha:=2.3*10^(-5):
G:=6.57:
upsilon[0]:=25:
H[0]:=5000:
upsilon[x]:

equ := H[x]^2*(H[x]-H[0]+E*A*G^2*l^2/(24*H[0]^2)
       +E*A*alpha*(upsilon[x]-upsilon[0])) = (1/24)*G^2*l^2*E*A:

Mres:=Matrix(12,9):
for l from 20 by 5 to 60 do
  for upsilon[x] from -30 by 10 to 80 do
    Mres[trunc(upsilon[x]/10+4),l/5-3]:=[fsolve(equ,H[x])][1];
  end do;
end do;

Mall:=<Vector[column](13,[`Temp &#176;C\\Span m`,
                          seq(-30.0+(i-1)*10,i=1..12)]) |
         <Vector[row](9,[seq(evalf[3](20.0+(j-1)*5),j=1..9)]),
          evalf[5](Mres)>>:

Выше создается матрица, Mall.Один из вариантов - просто напечатать эту Матрицу.

interface(rtablesize=50):
Mall;

Другой вариант - программно встроить таблицу GUI, которая отображает Mall в своих ячейках.

oldts:=interface(typesetting):
interface(typesetting=extended):
DocumentTools:-Tabulate(Mall, weights=[20,seq(11,j=1..9)],
                        widthmode=pixels, width=700):
interface(typesetting=oldts):

Это последнеегруппа команд должна идти в своем собственном абзаце (блок документа), если вы находитесь в документе, или в своей собственной группе выполнения, если вы находитесь в рабочем листе.

, если вы уже работаете с настройкойinterface(typesetting=extended), что означает «расширенный» уровень набора математики 2D Math, тогда вы можете игнорировать все эти interface вызовы.Единственная причина, по которой они там есть, заключается в том, что символ «градус» в «Temp deg C» отображается без лишних кавычек.

Если вы действительно хотите, чтобы верхний ряд таблицы представлял собой одну ячейку, котораяохватывает всю Таблицу по горизонтали, тогда Таблицу нужно будет сделать более вручную, используя команду DocumentTools: -Layout: -Table.Дайте мне знать ... хотя я буду отсутствовать несколько дней.

...