sdjnxxr 发表于 2008-12-8 15:59

fzero()问题

本人由于课题需要,你求解一超越方程,如下:
2*(1-x^2)*K-*L=0;
其中K和L分别是第一类和第二类完全椭圆积分。F已知。其中x的取值范围在之间。
编写程序如下:
function y=f1(x)
syms x;
syms F;
double z;
F=0.855;
=ellipke(x);
y=2*(1-x^2)*K-*L;
另在命令窗口输入以下指令:
z=fzero(@f1,)
总是出错,不知为何原因,得不到x的值。请各位大侠帮忙指导一下。急呀!

sigma665 发表于 2008-12-8 16:30

贴出错提示

sdjnxxr 发表于 2008-12-8 21:39

fzero()问题

出错提示为
Error using ==> ellipke
Input arguments must be real.
如果给出一个x的初值,就没问题。但是现在x是未知量,需要求解。
在给出x的初值为0.1后,执行指令z=fzero(@f1,),就会出现下列错误提示:
Error using ==> fzero
The function values at the interval endpoints must differ in sign.

sdjnxxr 发表于 2008-12-8 21:43

fzero()问题

我看说fzero的x0如果是个区间,则要求使得f(a)与f(b)符号相反。可是我如何知道f(a)与f(b)符号相反呢。本人属于初学者,请大侠给与指导,多谢!

ch_j1985 发表于 2008-12-8 21:47

回复 楼主 sdjnxxr 的帖子

LZ在版面搜索:超越方程
页: [1]
查看完整版本: fzero()问题