график из данных не функция - PullRequest
0 голосов
/ 19 февраля 2011

Если вы строите график

sin(x*y)  

Вы видите несколько строк.
Теперь, если у вас есть все координаты всех точек этих линий и вы хотите построить тему
(соединение точек без использования функции sin (x * y)), как это возможно?
по этим кодам я пытаюсь получить координаты каждого «x» (бета-бара) для каждого «lam» и
сохранить корни в матрице.

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)
у = Sin (4 * х * у);
конец

что с ним не так?
как отдельно построить каждую линию?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2011

используйте команду plot ().Из документа Matlab («справочный график» в командной строке):

'PLOT (X, Y) отображает вектор Y в сравнении с вектором X. Если X или Y является матрицей, то вектор строится в зависимости отстроки или столбцы матрицы, в зависимости от того, что выстроено.Если X является скаляром, а Y является вектором, объекты с отсоединенными линиями создаются и отображаются в виде дискретных точек по вертикали в X. '

Так что, хотя plot (sin (X, Y)) использовал перегрузку plot (X)функции, вы будете использовать перегрузку plot (X, Y).

0 голосов
/ 19 февраля 2011

Использование plot(X1,Y1,...,Xn,Yn) См. Ссылку для более подробной информации http://www.mathworks.com/help/techdoc/ref/plot.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...