24小时热门版块排行榜    

查看: 1063  |  回复: 13

a_tree

新虫 (初入文坛)

[求助] 求1stOpt高手解决 “函数表达式有误” 已有1人参与

我想求解一个大型非线性方程组,第一次接触1stOpt,所以求解了一个2元方程组练手,但是一直出现错误,请大家帮帮我!只有6个币了。代码如下:
Constant n=2;
Constant M(1:n,1:n)=[1,2,
                      3,4 ];
Constant K(1:n,1:n)=[2,4,
                    0,3];
Constant NGB(1:n)=[0.2,0.5];
parameter x(1:n);
Function For (i = 1 : n)  ((Sum(j=1:n)(M[i,j]*x[j]*x[j]+K[i,j]*x[j] ))-NGB=0);

求1stOpt高手解决 “函数表达式有误”
1@C9)E46{@V6N3[3Z`JXX$C.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
下面写法,6.9里没问题,其它版本就不知道了:
CODE:
Constant n=2;
Constant M(1:n,1:n)=[1,2,
                      3,4 ];
Constant K(1:n,1:n)=[2,4,
                    0,3];
Constant NGB(1:n)=[0.2,0.5];
ConstStr For(i=1:n)(f[i]=(Sum(j=1:n)(M[i,j]*x[j]*x[j]+K[i,j]*x[j] ))-NGB[i]);
parameter x(1:n);
Function For(i=1:n)(f[i]);

x1: -0.167448164499229
x2: 0.119566309158215
2楼2015-05-13 17:46:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★
a_tree: 金币+6, ★★★很有帮助 2015-05-13 20:05:52
抱歉,笔误,应该是6.0里而非6.9
3楼2015-05-13 17:47:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

a_tree

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by dingd at 2015-05-13 17:47:05
抱歉,笔误,应该是6.0里而非6.9

非常感谢!您的代码我在1.5免安装版上试了一下,提示错误。我把M,K,NGB的数据贴上来,您能帮我跑一下吗?
4楼2015-05-13 18:03:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

a_tree

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by dingd at 2015-05-13 17:47:05
抱歉,笔误,应该是6.0里而非6.9

你好 M K NGB 在附件里。n=81。想求解这个非线性方程组很久了,一直很难得到全局收敛的解。这对我非常非常重要。非常期待您的帮助!

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : K.txt
  • 2015-05-13 20:07:34, 23.9 K
  • 附件 2 : M.txt
  • 2015-05-13 20:07:35, 23.3 K
  • 附件 3 : NGB.txt
  • 2015-05-13 20:07:35, 522 bytes
5楼2015-05-13 20:09:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

a_tree

新虫 (初入文坛)

经过反复检查和修改,终于找到为什么会出错了,把For(i=1:n)与((Sum(j=1:n)(M[i,j]*x[j]*x[j]+K[i,j]*x[j] ))-NGB=0);之间的空格去掉就OK了,希望能帮到和我遇到同样问题的人。
Constant n=2;
Constant M(1:n,1:n)=[1,2,
                      3,4 ];
Constant K(1:n,1:n)=[2,4,
                    0,3];
Constant NGB(1:n)=[0.2,0.5];
parameter x(1:n);
Function For (i = 1 : n)((Sum(j=1:n)(M[i,j]*x[j]*x[j]+K[i,j]*x[j] ))-NGB=0);
6楼2015-05-13 21:28:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

云过半山

金虫 (小有名气)

引用回帖:
3楼: Originally posted by dingd at 2015-05-13 17:47:05
抱歉,笔误,应该是6.0里而非6.9

请问  在网上只能下到1stopts1.5的版本  这个6版本怎么弄到?购买么?
也无风雨也无晴
7楼2015-05-15 11:15:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
7楼: Originally posted by 云过半山 at 2015-05-15 11:15:40
请问  在网上只能下到1stopts1.5的版本  这个6版本怎么弄到?购买么?...

是的。
8楼2015-05-15 13:21:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

a_tree

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by dingd at 2015-05-15 13:21:52
是的。...

你好,请问在1stOpt里怎么设置最大迭代数?每次计算的“计算终止原因”都是“达到最大迭代数”,迭代次数都显示为5001.
9楼2015-05-16 11:36:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

a_tree

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by dingd at 2015-05-15 13:21:52
是的。...

6.0版多少元可以买到?
10楼2015-05-16 11:38:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 a_tree 的主题更新
信息提示
请填处理意见