UG爱好者

标题: NX方程组求解、变量取值限制探讨 [打印本页]

作者: 奎子*    时间: 2022-6-12 14:18
标题: NX方程组求解、变量取值限制探讨
问题来源,点击了解

总结来源于网上问题,我觉得可以归纳为两点,
1.方程式求解
2.变量取值范围


简化总结,提出以下问题,以一个简单的三元一次方程为例,
设X,Y,Z,分别对应立方体的长,宽,高,它们存在如下关联关系
X,Y,Z为整数,且>0
  X+Y+Z=75,
  X=2.5Y
  X*Y*Z=5000

想和大家探讨在NX中,怎么去求解方程组。
PS(加上限值变量取值范围的情况,问题要复杂一些,可能会存在多解,此题先不考虑,)
我目前知道在Catia中,怎么解决此类问题(Catia中有求解方程组的功能),但在NX中苦苦寻求,不得其解,期待能者来解惑!!
PS:此例中问题比较简单,可能有人说有工解算一下,求出X,Y,Z值在到NX中做一个就好了,
我想的不是为了做题还做题,假若此方程3个以上变量,或方程很复杂,手算是笨拙的方法,想探讨怎么解决高效的解决此类问题。






作者: 奎子*    时间: 2022-6-12 14:36
本帖最后由 奎子* 于 2022-6-12 17:42 编辑

先占一层,为后续方程组、限制变量取值结合加深问题难度,探讨预留
2022/06/12 16时40分更新增加

思考了一阵,结合方程组求解,限制变量取值的问题来了,欢迎大家来挑战。


已知此零件体积满足5000~10000,已每次递增100,
X,Y,Z为正整数 , X-Y>0 , Z=5±2
要求做出参数模型,使用X,Y,Z值能跟随体积变化而变化。
如当体积为5000时,X,Y,Z值为多少?
    当体积为6700时,X,Y,Z值为多少?

     当体积为....... 时,X,Y,Z值为多少?

在自己在出好题后在Catia验证解题时,也在想用NX中如何来解释,
来了一点灵感,等下去NX中验证一下,要能解决再来分享
2022/06/12  17时40分

去NX尝试了一下,还是没能解决。。。
上传一个Catia中解决的图片,看能给大家一点灵感提示不
方程组解释说明
X>0 and Y>0;                说明让X,Y的取代大于0,整数限制在创建参数时选择的就是整数。
X-Y>0 ;                          让X-Y值大于0
X**2*Z-Y**2*Z==5000;  零件体积表达式 X**2 为Catia中X平方,NX中为X^2
Z>=3 and Z<=7            让Z的取值 3≤Z≤7,Z值限制,也可以在参数创建时设置它的范围,则此行不需要
                                       整数限制在创建参数时选择的就是整数。

Catia中 要体积变化只要改变5000的值,然后让方程重新求解一下就好了







作者: wish2086    时间: 2022-6-12 16:23
  真心不会    大佬你玩的多样化
作者: okok2002    时间: 2022-6-12 17:42
本帖最后由 okok2002 于 2022-6-12 17:49 编辑

[attach]362630[/attach] [attach]362630[/attach]
NX用优化做的结果
A=20
B=50
C=5

作者: 奎子*    时间: 2022-6-12 18:50
本帖最后由 奎子* 于 2022-6-12 18:58 编辑
okok2002 发表于 2022-6-12 17:42
NX用优化做的结果
A=20
B=50


用优化有点小问题,会出现小数,在创建参数时,如果设定为整数的话,参数就不会出现在优化的列表里,也就是这个参数不能选择,不知道是不是软件Bug
作者: 奎子*    时间: 2022-6-13 11:51
奎子* 发表于 2022-6-12 14:36
先占一层,为后续方程组、限制变量取值结合加深问题难度,探讨预留
2022/06/12 16时40分更新增加


NX中目前我所知最好的方式是用优化和灵敏度研究来做
但这种方式还是存在一些问题,不能限制变更X,Y,Z值为整数
在创建参数时如果选择为整数,则不会X,Y,Z表达式就不会显示在优化可选择参数列表内
(目前NX中我无法让变量限制为整数)
还有是优化和灵敏度研究都是穷举法,就是不断去逼进目标植,
比如我设计的体积目标值,5003在XYZ在整数范围内是无解的,
用在Catia中方程式求解直接会报“无解”,
而NX穷举逼进算法,会按先调X值,再调Y值来逼进算法,如果X,Y都不能逼进值才会去调Z这个变更
此题中调X,Y值就能逼进目标值,所以它根本不会动Z值,只认你的初始Z值,然后不断去调节X,Y值来逼进目标体积值。



作者: 铁臂阿童木*    时间: 2022-6-13 13:40
对于学历高的人来说 很简单 就是变量
作者: neopan    时间: 2022-6-13 18:46
奎子* 发表于 2022-6-13 11:51
NX中目前我所知最好的方式是用优化和灵敏度研究来做
但这种方式还是存在一些问题,不能限制变更X,Y,Z ...

5000有两组解 X55 Y45 Z5 ;X35 Y15 Z5
6000的解更多,请问在CATIA里面如何解?
NX可以让它按照你给定的范围去计算。
作者: 奎子*    时间: 2022-6-14 09:15
本帖最后由 奎子* 于 2022-6-14 09:30 编辑
neopan 发表于 2022-6-13 18:46
5000有两组解 X55 Y45 Z5 ;X35 Y15 Z5
6000的解更多,请问在CATIA里面如何解?
NX可以让它按照你给定 ...

是的 我在出题的时候也说明了会存在多解的
因为有三个变量,
X,Y只限制是大于零的正整数,且X-Y>0
Z=5±2,
限制范围很小,肯定会存会多值,且体积越大,解可能更多
Catia中对存在多解的方程组求解,不会弹出多解提示,只会给多一组满足要求的解
Catia中可指定变更变动范围,可以成整数变化,也可是小数变化。
NX优化中也可指定变更上下限范围,但不能限制它成整数变化,
就拿我举例的 当体积为5003或43时,X,Y,Z值不存在整数解,
当NX中优化不能限制成整数,它会穷举逼进,找到X,Y,Z逼进体积的目标值,
当NX中变量成小数,理论上会有无数解的当你应用优化求解时,你会发现Z变量,在优化中都不会变化,不管你的体积目标是5003,或43或更小,
它都是你输入的理论值,虽然你设置它在3~7变化,X,Y值不能限制成整数变化,它只变化X,Y值就能逼进目标值了
当在Catia中能限制变更范围且让它成整数变化,你调节体积,Z的取值会变化的




作者: qq526060*    时间: 2022-6-14 10:04
感觉回到中学时代,不爱读书看到这些都不想动脑袋。
作者: 小黄小黄    时间: 2022-6-14 15:57
厉害了
作者: 奎子*    时间: 2022-6-16 10:05
感谢要沉了呀
论坛里面好像分享NX Catia功能对比的比较少




欢迎光临 UG爱好者 (https://www.ugsnx.com/) Powered by Discuz! X3.2