【问题标题】:plotting data from other function绘制来自其他函数的数据
【发布时间】:2015-01-12 19:33:51
【问题描述】:

我正在尝试做某种二分法程序,通过绘制所有内容来展示我如何得到最终答案。 你知道为什么在我的文件中我不能在另一个 m 文件中绘制函数数据吗? 有那个错误:

mainhazia 27 end 找不到精确(区分大小写)的匹配项 “根”

最接近的匹配是:根在 C:\Program 文件\MATLAB\R2012b\toolbox\matlab\polyfun\roots.m

mainhazia 中的错误(第 23 行) plot(Roots,f(Roots),'.');

我的代码:

主要:

f=@(x)x.^2-1;
XR=2;
xL=-2;
XL=xL ;
eps=0.001;
ezplot(f);
hold on ;
plot(XR,f(XR),'r*'); 
plot(xL,f(xL),'r*');
for df=xL:0.15:XR
 if f(xL)*f(df)<= 0
     xR=df; 
     BisectionM(f,xR,xL,eps);
     plot(Roots,f(Roots),'.'); 
     xL=df; 
     xR=XR;
 end
end

二等分:

function Roots = BisectionM(f,xR,xL,eps)     
while abs(xR - xL) > eps
             xM = (xR + xL) / 2;
             if (f(xL))*(f(xM)) > 0
                 xL = xM;
                 plot(xL,f(xL),'*');
             else
                 xR = xM;
                 plot(xR,f(xR),'*');
             end
             Roots = xM;

        end
    end

对不起,我的英语不是我的母语。

【问题讨论】:

    标签: matlab bisection


    【解决方案1】:

    检查这是否是您要查找的内容(BisectionM 的结果未分配给任何变量):

    在主文件更改中:

    BisectionM(f,xR,xL,eps);
    

    到:

    Roots = BisectionM(f,xR,xL,eps);
    

    它产生以下情节:

    f=@(x)x.^2-1;
    XR=2;
    xL=-2;
    XL=xL ;
    eps=0.001;
    ezplot(f);
    hold on ;
    plot(XR,f(XR),'r*');
    plot(xL,f(xL),'r*');
    for df=xL:0.15:XR
        if f(xL)*f(df)<= 0
            xR=df;
            Roots = BisectionM(f,xR,xL,eps);
            plot(Roots,f(Roots),'.');
            xL=df;
            xR=XR;
        end
    end
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    相关资源
    最近更新 更多