lang473036 发表于 2006-5-7 09:33

请大虾门帮忙:关于eval的问题

<P><STRONG><FONT color=#ff0000>原代码:</FONT><BR>f=input('请输入函数:f(x)=');<BR>n=input('请输入迭代次数:n=');<BR>x0=input('请输入迭代的初始值:x0=');<BR>f1=diff(f);<BR>for i=1:n<BR>    x=x0;<BR>    fx0=eval(f);<BR>    f1x0=eval(f1);<BR>    x0=x0-fx0/f1x0;<BR>    r=vpa(x0,15)<BR>end<BR>保存的文件名:<FONT color=#00ff33>qiexianfa.m</FONT><BR><FONT color=#ff0000>运行事例:<BR></FONT>   <FONT color=#33ff00>qiexianfa</FONT><BR>请输入函数:f(x)='x^3+1.1*x^2+0.9*x-1.4'<BR>请输入迭代次数:n=6<BR>请输入迭代的初始值:x0=1<BR><FONT color=#ff0000>结果出现了以下的错误提示:(<FONT color=#00ff00>这些错误都是关于<FONT color=#808080>eval</FONT>的</FONT>)</FONT><BR><FONT color=#0000ff>??? Function '<FONT color=#808080>eval</FONT>' is not defined for values of class 'double'.</FONT></STRONG></P>
<P><STRONG><FONT color=#0000ff>Error in ==&gt; <FONT color=#88777e>eval</FONT> at 44<BR> = builtin(<FONT color=#808080>'eval</FONT>', varargin{:});</FONT></STRONG></P>
<P><STRONG><FONT color=#0000ff>Error in ==&gt; qiexianfa at 8<BR>    f1x0=<FONT color=#808080>eval(</FONT>f1);</FONT></STRONG></P>

lang473036 发表于 2006-5-7 09:56

我是初学者啊<BR>请大虾们帮帮忙啊

flowers 发表于 2006-5-7 11:04

可以运行呀 <BR>结果是:r =<BR> <BR>.737704918032787<BR> <BR> <BR>r =<BR> <BR>.674168811673928<BR> <BR> <BR>r =<BR> <BR>.670667575594511<BR> <BR> <BR>r =<BR> <BR>.670657310813841<BR> <BR> <BR>r =<BR> <BR>.670657310725810<BR> <BR> <BR>r =<BR> <BR>.670657310725810

flowers 发表于 2006-5-7 11:06

请输入函数:f(x)='x^3+1.1*x^2+0.9*x-1.4'<BR>没有漏掉 ''吧 ?<BR>程序可以运行的

lang473036 发表于 2006-5-7 11:43

<P>哦 <BR>我再看看啊</P>

lang473036 发表于 2006-5-7 11:48

我这还是不可以啊<BR>不知道那里出问题了啊 <BR>我用的是matlab7.0啊

happy 发表于 2006-5-7 20:29

回复:(lang473036)请大虾门帮忙:关于eval的问题

在7.1运行了一下没有问题,看了一下程序也没有什么问题

lang473036 发表于 2006-5-7 20:37

<P>谢谢happy教授啊<BR>看来我的matlab要升级了啊 </P>
页: [1]
查看完整版本: 请大虾门帮忙:关于eval的问题