cja 发表于 2007-7-2 17:15

解非线性方程组(初值不知道)

在随便取一个初值,用MATLAB中的FSOLVE解出来的结果,代入方程组中,有几个方程误差很大很大。
比如,f(x)=0;结果是f(x)=20,这也差的太多了,怎么办呢?

后来,我用1stopt也解了一下,因为它不用设置初值,结果也有几个方程相差很大!
在解方程的时候需要设置优化算法吗?我没有改,最后结果显示:麦夸特法(Levenberg-Marquardt) + 通用全局优化法,
再问一下,结果中显示:目标函数值: 79.6809323071889,这是什么意思呢?

谢谢各位!

dingd 发表于 2007-7-2 20:55

最好把方程数据等帖上来才好发现并回答你的问题啊!

cja 发表于 2007-7-3 08:54

方程比较长,我放在附件里了。
是压缩文件,把名字改成.rar后解压就可以看到。
谢谢

dingd 发表于 2007-7-3 10:01

两点建议:
1:定义参数时,可以更简练些,如:
Parameter a1,a2,a3...a24;
可写为:Paremeter a(1:24);
2:公式实在太长,最好将公式里的常数简化了,如将
867834410235371059242892720803777/649037107316853453566312041152512
改为:1.337110622
582290802758543/35184372088832
改为:16.5497
这样改,公式变短了,关键是计算时间也会缩短不少。


本来想替你做,太多了,自己改吧!改完了,如果还得不到好的结果,再放上来看看!

[ 本帖最后由 dingd 于 2007-7-3 10:27 编辑 ]

cja 发表于 2007-7-3 10:15

这个方程组是用MATLAB算出来了,不好改呢。
得手动改,这个对结果没什么影响吧?就是时间长些。太多了不好改。

无水1324 发表于 2007-7-3 11:55

原帖由 cja 于 2007-7-3 10:15 发表 http://www.chinavib.com/forum/images/common/back.gif
这个方程组是用MATLAB算出来了,不好改呢。
得手动改,这个对结果没什么影响吧?就是时间长些。太多了不好改。

matlab 里面直接用vpa(***,5)
***代表你要化简的式子,5就是小数点的位数。

cja 发表于 2007-7-5 09:55

终于化简完了,好费劲啊

但是,用1stopt还是解不出来!:'(

改后的程序压缩后,把后缀改成.txt,放在附件了

[ 本帖最后由 cja 于 2007-7-5 10:01 编辑 ]

hongniang 发表于 2007-7-7 11:02

下载后都是乱码

cja 发表于 2007-7-7 16:17

把后缀改成.rar,解压缩就可以了

cja 发表于 2007-7-9 16:39

有没有人帮帮忙吧:handshake
页: [1]
查看完整版本: 解非线性方程组(初值不知道)