解非线性方程组(初值不知道)
在随便取一个初值,用MATLAB中的FSOLVE解出来的结果,代入方程组中,有几个方程误差很大很大。比如,f(x)=0;结果是f(x)=20,这也差的太多了,怎么办呢?
后来,我用1stopt也解了一下,因为它不用设置初值,结果也有几个方程相差很大!
在解方程的时候需要设置优化算法吗?我没有改,最后结果显示:麦夸特法(Levenberg-Marquardt) + 通用全局优化法,
再问一下,结果中显示:目标函数值: 79.6809323071889,这是什么意思呢?
谢谢各位! 最好把方程数据等帖上来才好发现并回答你的问题啊! 方程比较长,我放在附件里了。
是压缩文件,把名字改成.rar后解压就可以看到。
谢谢 两点建议:
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 编辑 ] 这个方程组是用MATLAB算出来了,不好改呢。
得手动改,这个对结果没什么影响吧?就是时间长些。太多了不好改。 原帖由 cja 于 2007-7-3 10:15 发表 http://www.chinavib.com/forum/images/common/back.gif
这个方程组是用MATLAB算出来了,不好改呢。
得手动改,这个对结果没什么影响吧?就是时间长些。太多了不好改。
matlab 里面直接用vpa(***,5)
***代表你要化简的式子,5就是小数点的位数。 终于化简完了,好费劲啊
但是,用1stopt还是解不出来!:'(
改后的程序压缩后,把后缀改成.txt,放在附件了
[ 本帖最后由 cja 于 2007-7-5 10:01 编辑 ] 下载后都是乱码 把后缀改成.rar,解压缩就可以了 有没有人帮帮忙吧:handshake
页:
[1]