24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1500  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

黑色天然呆

新虫 (小有名气)

[求助] 1stopt自变量超多时是否有简单语法?AND 自变量多 数据量大的话1stopt都会算的特慢么已有1人参与

在1stopt软件里,
    我们使用的模型,自变量特别多,比如共有50个自变量,即:Variables x(1:50)。因为自变量实在太多,不想写成x1、x2、x3...的形式,有没有什么办法可以用类似“x [ j ]”的方式表达呢?~~
    能不能麻烦高手们帮我写一下这种表达方式的代码,假如自变量是x(1:50),函数是∑ x_i ,这样的语法在1stopt中怎么写呢~
    还想请教各位一个问题,我的1stopt代码里面,大约有50多个自变量,每个自变量有2500项数据,用1stopt做参数拟合,运行的特别慢,麦夸特法3个小时才迭代了27次,准牛顿法速度也差不多。。。我想问一下运行这么慢是因为我的软件盗版的原因,还是程序有错,还是1stopt不适合做这么多变量的拟合呢?~ 电脑本身还可以,我看1stopt软件运行起来只占了30%的CPU,还有50%的CPU空闲着。。。
    新人不懂~盼望高手解答!~
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

黑色天然呆

新虫 (小有名气)

求大神帮忙解决第一个问题啊~~~
4楼2014-07-28 08:15:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

shikang999

新虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
黑色天然呆: 金币+5, ★★★很有帮助 2014-07-26 22:01:48
1、如果我没有记错1stopt是支持你说那种类似的表达方式(以前看过百度文库基本教程),自己上网查一下,这个自己动手比较好!

2、当拟合的变量越多的时候,找解的困难越难,这个是必须的。对于这类很难求解的问题,建议使用多线程进行操作,不知道1stopt内部是否采用多线程,当然,我们自己可以进行简单的多线程计算【在一个电脑上多运行几个1stopt,这个也许有点用处】

3、针对你说的“3个小时才迭代了27次”这个问题,我谈一下自己的看法,先不说你是否使用盗版所致,就我个人感觉而言,1stopt这个所谓的迭代次数和我们通常意义下的迭代次数可能有出入,比如一个算法 外部有一个循环,循环内部还嵌套一个循环(特别是多种算法混合求解时,可能就会出现这种情况),这个时候,1Stopt给出的只是外面那个循环次数,其实外部每循环一次,内部很可能会循环多次,而这个循环多次就是造成时间开销的主要原因!

PS:仅个人观点,理解也许有误,欢迎指正!
我还是那个我,过去如此,未来亦如此!
2楼2014-07-26 20:35:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

黑色天然呆

新虫 (小有名气)

引用回帖:
2楼: Originally posted by shikang999 at 2014-07-26 20:35:59
1、如果我没有记错1stopt是支持你说那种类似的表达方式(以前看过百度文库基本教程),自己上网查一下,这个自己动手比较好!

2、当拟合的变量越多的时候,找解的困难越难,这个是必须的。对于这类很难求解的问题 ...

非常感谢您认真的帮我分析问题!
    关于那种表达方式,嘿嘿我还是没在网上找到~找到的代码、以及使用手册中自变量都不太多,于是大家也不怕多写几遍~我这个也许下一次实验自变量数量就变了,模型拿给人家用则会每次需要改的太多。。。还是谢谢您!
    您说的那个多线程的问题我觉得是很有道理的,可能版本太低,软件也没有办法充分利用上电脑的资源~
    最后这个迭代次数的定义不同,我还真的没有想到。否则怎会1stopt迭代几十次就能比别的软件迭代上千次的结果好~终究是1stopt的算法精密!
    新人确实是刚刚开始接触这个神一般的软件~非常谢谢您帮我解决第二个问题~
3楼2014-07-26 21:58:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
黑色天然呆: 金币+15, ★★★很有帮助 2014-07-28 11:12:38
给你个例子如图示,相应求解代码见下:
CODE:
Constant n=60;                     
Parameters x(1:n)=[-10,10];
MinFunction Sum(i=1:n)(i*(x[i]-sin(i))^2);

1stopt自变量超多时是否有简单语法?AND 自变量多 数据量大的话1stopt都会算的特慢么
c4.jpg

5楼2014-07-28 09:35:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见