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(以‘m’为单位),从20米到60米,对于所有的温度,从摄氏-30度上升到80度,每跨度增加10度。
如果我删除了内部循环,一切都能工作(假设我为upsilonx设置了一个值)。如果你也能告诉我如何把结果放在一个表格里,如附件的话,我将非常高兴。

发布于 2018-09-15 07:19:51
您可以编程地将这样的表嵌入到Maple 2016.2标准GUI中,如下所示。
(我指的是图形用户界面,而不仅仅是tty终端和命令行接口,而不是旧的经典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 °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):如果您在文档中,那么最后一组命令应该放在它自己的段落(Document )中,如果您在工作表中,则属于它自己的执行部分--Group。
如果您已经在使用设置interface(typesetting=extended),这意味着“扩展”2D数学排版级别,那么您可以忽略所有这些interface调用。它们存在的唯一原因是"Temp“中的”度“符号在没有额外引号的情况下被呈现出来。
如果您真的非常希望表的顶部行是一个横贯整个表的单元格,那么必须使用DocumentTools:-Layout:-Table命令更多地手动创建该表。告诉我..。虽然我会缺席几天。
https://stackoverflow.com/questions/52334713
复制相似问题