从数据绘制而不是函数

时间:2011-02-19 07:53:49

标签: matlab

如果你的情节

sin(x*y)  
你看到了一些线条 现在,如果你拥有这些线的所有点的所有坐标,并想要绘制主题
(不使用sin(x * y)函数连接点),怎么可能?
通过这些代码,我试图获得每个'la'和每个'x'(β-bar)的坐标 将根保存在矩阵中。

clc; clear;    
lmin=0.8;       lmax=2.5;  
bmin=1;            bmax=1.5;  
lam=linspace(lmin,lmax,100);  
for n=length(lam):-1:1  
    increment=0.001;  tolerence=1e-14; xstart=bmax-increment;  
    x=xstart;  
    dx=increment;  
    m=0;  
    while x > bmin  
        while dx/x >= tolerence  
            if sign(f(lam(n),x))*sign(f(lam(n),x-dx))<0  
                dx=dx/2;  
            else  
                x=x-dx;  
            end  
        end  
        m=m+1;  
        r(m,n)=x;  
        dx=increment;  
        x=0.999*x;  
    end  
end  

    figure  
hold on,plot(lam,r(1,:),'b')  
plot(lam,r(2,:),'c')  
plot(lam,r(3,:),'r')  
xlim([lmin,lmax]);ylim([bmin,bmax]),  
xlabel('\lambda(\mum)'),ylabel('\beta-bar')  


    函数y = f(x,y)
    Y = SIN(4 * X * Y);
    结束

它有什么问题?
如何分别绘制每一条线?

2 个答案:

答案 0 :(得分:0)

使用plot(X1,Y1,...,Xn,Yn) 请参阅链接了解更多详情 http://www.mathworks.com/help/techdoc/ref/plot.html

答案 1 :(得分:0)

使用plot()命令。从Matlab文档(命令行上的'help plot'):

'PLOT(X,Y)绘制矢量Y与矢量X的关系。如果X或Y是矩阵,     然后将矢量绘制成矩阵的行或列,     无论哪个排队。如果X是标量而Y是矢量,则断开连接     创建线对象并将其垂直绘制为离散点     X'。

因此,当plot(sin(X,Y))使用函数的图(X)重载时,您将使用图(X,Y)重载。