ЖЖ Потенциал от Scilab - PullRequest
0 голосов
/ 02 мая 2020

Я на самом деле строю кривую потенциала lj для сигмы = 2,74 и эпсилона = 0,0031. Ниже мой код.

function [V,r]=lj(si,e)
     for i=1:3
            si=si*(1+(i-1)*0.1)
        r=linspace(0.75,8,1000)*si;
        V=4*e*((si./r).^12-(si./r).^6);
            subplot(2,2,1)
        plot((r/si),(V/e),'o')
            h = gca(); // get current axes
    h.data_bounds = [0.75, -2 ; 2.5, 2]
    end
    for i=1:3
            e=e*(1+(i-1)*0.3)
        r=linspace(0.75,8,1000)*si;
        V=4*e*((si./r).^12-(si./r).^6);
        subplot(2,2,2)
        plot((r/si),(V/e),'r')
        h = gca(); // get current axes
    h.data_bounds = [0.75, -2 ; 2.5, 2]
    end 
    endfunction

На самом деле в вышеупомянутом случае я сделал это для разных значений сигмы и эпсилона но я получаю только одну кривую, где, как в приведенном ниже коде это работает хорошо (то есть, где только есть изменения в графике осей только по осям X и Y). Если бы кто-то с некоторыми изменениями в моем первом коде запустил бы различное значение, было бы хорошо Мой рабочий код ниже.

function [V,r]=lj(si,e)
    for i=1:3
        si=si*(1+(i-1)*0.1)
    r=linspace(0.75,8,1000);
    V=4*e*((si./r).^12-(si./r).^6);
        subplot(2,2,1)
    plot(r,V,'o')
        h = gca(); // get current axes
h.data_bounds = [2, -0.01 ; 6, 0.01]
end
    for i=1:3
        e=e*(1+(i-1)*0.3)
    r=linspace(0.75,8,1000);
    V=4*e*((si./r).^12-(si./r).^6);
    subplot(2,2,2)
    plot(r,V,'r')
    h = gca(); // get current axes
h.data_bounds = [2, -0.01 ; 6, 0.01]
end 
endfunction

1 Ответ

1 голос
/ 03 мая 2020

фактически в вашем первом коде si./r равно 1./linspace(0.75,8,1000) и не зависит от i и одинаково для V и r / si! Вы только 3 раза строите одни и те же данные

...