声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3361|回复: 3

[1stopt] 请dingd主任帮我运行一个1stOpt程序

[复制链接]
发表于 2011-5-2 17:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
主任您好,看介绍找到您的,呵呵。我的软件运行不了编程,想请你帮我运行编程模式,对比非编程模式运行的结果是否相同可用。
Parameters a,b,c,d;
Variable x1,x2,y1,y2;
Function y1=a+b*(x1+x2)^c+d*ln(x1+x2);
         y2=a+b*(x1*x2)^c;
Data;
1 1 8.3863 5
1 2 11.1792 7
2 2 13.7726 11
3 1 13.7726 9
4 1 16.2189 11
2 3 16.2189 15
0 5 16.2189 3
0 1 5 3
0 2 8.3863 3
0 3 11.1792 3
0 4 13.7726 3;
共享参数的是这样:
Parameters a,b,c,d;
Variable x1,x2,y1,y2;
SharedModel;
Function y1=a+b*(x1+x2)^c+d*ln(x1+x2);
         y2=a+b*(x1*x2)^c;
Data;
编程模式是这样:
Parameters a,b,c,d;                                                     
Variable x1,x2,y1[Output],y2[Output];
StartProgram;
var i:integer;
benin
     for i:=0 to DataLength -1 do benin
        y1[i]:=a+b*(x1[i]+x2[i])^c+d*ln(x1[i]+x2[i]);
        y2[i]=a+b*(x1[i]*x2[i])^c;
     end;
end;
EndProgram;
Data;

我的版本只能计算第一个模式的,但是第一个的结果我有些怀疑,不知道这个所谓的共享模式是不是这两个方程的各个二次最小平方的和的加和。如果不同的话,我可能就需要其他方式计算或者。听说你的版本可以运行编程模式,麻烦帮我运行看看结果,是否编程模式和第一种模式的结果相同,如果不同的话希望得到数据和截图,分析差别,非常非常感谢!
回复
分享到:

使用道具 举报

发表于 2011-5-2 21:00 | 显示全部楼层
第一种模式是分别对两个公式进行单独拟合,而共享模式与编程模式一样,目标函数是两个方程的各个二次最小平方和相加,与第一种模式是不一样的。
 楼主| 发表于 2011-5-3 09:43 | 显示全部楼层
哦,我说呢,我尝试貌似是这样的,看来需要换模式了,非常感谢主任
发表于 2015-11-4 14:52 | 显示全部楼层
Parameters a,b,c,d;                                                     
Variable x1,x2,y1[Output],y2[Output];
StartProgram;
var i:integer;
begin
     for i:=0 to DataLength -1 do begin
        y1[i]:=a+b*(x1[i]+x2[i])^c+d*ln(x1[i]+x2[i]);
        y2[i]=a+b*(x1[i]*x2[i])^c;
     end;
end;
EndProgram;
Data;
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-24 20:31 , Processed in 0.056429 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表