smartljs2005 发表于 2006-3-2 22:25:02

如何显示最大位移点的坐标????

用什么命令可以位移图中显示最大位移点的坐标呀????

elite1218 发表于 2006-11-19 14:56:26

根据chuohuo420大哥的fish,我做了一下改动,
def get_gp_maxdisp
gp0_disp = 0   
p_gp=gp_head
loop while p_gp # null
   gp_disp = gp_xdisp(p_gp)*gp_xdisp(p_gp)
   gp_disp = gp_disp + gp_ydisp(p_gp)*gp_ydisp(p_gp)
   gp_disp = gp_disp + gp_zdisp(p_gp)*gp_zdisp(p_gp)
   gp_disp = sqrt(gp_disp)
if gp0_disp<gp_disp   
   gp0_disp=gp_disp
   x=gp_xpos(p_gp)
   y=gp_ypos(p_gp)
   z=gp_zpos(p_gp)
   id=gp_id(p_gp)
endif
p_gp = gp_next(p_gp)
endloop
end
get_gp_maxdisp
pri fish
根据pri以后的fish变量,gp0_disp即为最大位移,x、y、z、id分别为最大位移节点坐标和节点编号
有不当的地方,还请指正

chunhuo420 发表于 2006-3-3 09:32:19

Re:如何显示最大位移点的坐标????

smartljs2005 wrote:
用什么命令可以位移图中显示最大位移点的坐标呀????

用fish编了一个,算法好像有点烦,不过目的可以实现
你可以参考一下。

def get_gp_maxdisp
    gp0_disp = gp_xdisp(gp_head)*gp_xdisp(gp_head)
    gp0_disp = gp0_disp + gp_ydisp(gp_head)*gp_ydisp(gp_head)
    gp0_disp = gp0_disp + gp_zdisp(gp_head)*gp_zdisp(gp_head)
    gp0_disp = sqrt(gp0_disp)   
    p_gp=gp_head
;找最大值
loop while p_gp # null
    gp_disp = gp_xdisp(p_gp)*gp_xdisp(p_gp)
    gp_disp = gp_disp + gp_ydisp(p_gp)*gp_ydisp(p_gp)
    gp_disp = gp_disp + gp_zdisp(p_gp)*gp_zdisp(p_gp)
    gp_disp = sqrt(gp_disp)
if gp_disp&gt;gp0_disp
    gp0_disp=gp_disp
endif
    p_gp = gp_next(p_gp)
endloop
;找最大值的坐标
    p_gp=gp_head
    ss=0
loop while p_gp # null
    gp_disp = gp_xdisp(p_gp)*gp_xdisp(p_gp)
    gp_disp = gp_disp + gp_ydisp(p_gp)*gp_ydisp(p_gp)
    gp_disp = gp_disp + gp_zdisp(p_gp)*gp_zdisp(p_gp)
    gp_disp = sqrt(gp_disp)
if gp_disp=gp0_disp
    ss=ss+1
    xtable(1,ss)=gp_xpos(p_gp)
    ytable(1,ss)=gp_ypos(p_gp)
endif
    p_gp = gp_next(p_gp)
endloop
end
get_gp_maxdisp

benjackxu 发表于 2006-11-19 15:24:40

支持一下elite1218兄弟,看着你的FISH没有问题,思路很清晰。继续努力,呵呵。

elite1218 发表于 2006-11-19 20:46:44

哈哈,谢谢benjackxu 兄
改动之后还是有点问题,如果最大位移处有几个或一系列节点的话,就只能得到一个gp的坐标值,推荐还是用chuohuo420版友的fish,用table来处理较好

wzw1019 发表于 2007-8-30 20:45:54

在2D中该函数中变量该怎么表示?

linjf0215 发表于 2007-9-12 09:33:03

我看过chunhuo420版主 和elite1218 写的都不错。我有两个问题想问版主chunhuo420:
1、xtable(1,ss)和ytable(1,ss)中的数据怎么显示出来呀,有那个命令呀?
2、你的程序能得出z坐标吗?

望不吝赐教,在此先行谢过!

linjf0215 发表于 2007-9-14 16:34:38

怎么没有人回答我的问题呀,心急的等待中.......:'( :'(

topccl 发表于 2008-2-12 22:49:32

我也想知道怎么显示table中的内容?另外我在做动力计算中引入此函数,得出来的值怎么是0啊?

xyryc 发表于 2008-6-24 21:54:08

if gp_disp&gt;gp0_disp
请问楼主,这是啥意思呀?

whlxpp521 发表于 2009-4-1 15:58:15

怎么都没有人回答问题了,我也遇到同样的问题。
if gp_disp&gt;gp0_disp是不是chunhuo420大哥疏忽写错了,应该是if gp_disp<gp0_disp么?
显示所定义表格中的内容的命令是plot table?
请大牛指导,谢谢。

cumtsafe303 发表于 2009-4-4 15:17:16

学习了,谢谢。

xinyuancai 发表于 2009-4-5 00:25:23

看了一下,还是有些不懂。谢谢

a270134858 发表于 2009-5-23 11:01:20

张见识了,谢谢各位

fby_engineer 发表于 2009-5-23 14:49:43

怎么都没有人回答问题了,我也遇到同样的问题。
if gp_disp>gp0_disp是不是chunhuo420大哥疏忽写错了,应该是if gp_disp
whlxpp521 发表于 2009-4-1 15:58 http://forum.simwe.com/images/common/back.gif

应该是 if gp_disp>gp0_disp
2#是对的,可能是没显示出来,回复的时候能看到

副热带 发表于 2009-6-10 16:22:18

顶一个啊

顶一个啊

fanyanqi_2008 发表于 2009-9-15 15:46:51

非常感激!谢谢!:)

zhangweijie_131 发表于 2009-9-23 15:44:10

学习了,谢谢

wangjiefeng3344 发表于 2009-9-28 18:40:48

呵呵,谢谢各位!!

zexib 发表于 2009-10-12 21:14:55

fish操作起来比较麻烦.
页: [1] 2
查看完整版本: 如何显示最大位移点的坐标????