penghust 发表于 2008-6-7 21:07

求 一个非线性方程的解法 fzero?

问题描述:
在一个循环中,
先求得一个矩阵A,

A=;   

要求方程 A(1) + A(2)*COS(x) + A(3)*COS(2*x) + A(4)*cos(3*x) =0 在某点(k)附件的根;

我用下面的程序:
for i = 1 : 30

……
fun='A(1) + A(2)*COS(x) + A(3)*COS(2*x) + A(4)*cos(3*x)';
z(i)=fzero(fun,k);         ----% 这里我要把每次求得的根赋给矩阵 z ;
end

运行后,提示:
Error in inline expression ==> A(1) + A(2)*COS(x) + A(3)*COS(2*x) + A(4)*cos(3*x)
??? Error using ==> eval
Undefined function or variable 'A'.   

请各位帮我看看是什么原因?
该如何改进?

sigma665 发表于 2008-6-7 22:19

先去掉循环,看能不能运行

penghust 发表于 2008-6-7 22:23

回复 2楼 的帖子

我刚才运行了一下,即使去掉循环,单独运行
也不行。
这是一个含参数的非线性方程
fzero 不能解含参数的方程

penghust 发表于 2008-6-8 10:17

已经找到解决办法了,
本论坛有一个‘变参数非线性方程组的求解’的帖子,
我用该方法解决了上述问题,
:victory:

该帖的键链:
http://forum.vibunion.com/forum/viewthread.php?tid=18886&extra=page%3D32%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D167
页: [1]
查看完整版本: 求 一个非线性方程的解法 fzero?