Модель конкуренции двух биологических видов
independent: { t: 0 }, dependent: { x: [1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5, 1.25,1,0.75,0.5,0.4,0.3,0.2,0.1,0.03,0.01, 0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005, 0.005,0.01,0.02,0.03,0.1,0.2,0.3,0.4,0.5,0.75,1,1.25,1.5,0.005], y: [0.01,0.02,0.03,0.1,0.2,0.3,0.4,0.5,0.75,1,1.25,1.5,2,2.5,3, 3,3,3,3,3,3,3,3,3,3, 3,2.5,2,1.5,1,0.75,0.5,0.4,0.3,0.2,0.1,0.05,0.04,0.03,0.02,0.01, 0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005], }, parameters: { a: { min: 0, max: 3, value: 1 }, b: { min: 0, max: 3, value: 2 }, }, derivatives: { dx_dt: 'x-b*x*y-x*x', dy_dt: 'a*y-b*x*y-y*y' }, param_charts: [ [ { func: 'x(a)', equation: '0', bounds: { min: 0, max: 'Math.min(b,1/b)' }, options: {lines: { lineWidth: 1}, color: 'green' } }, { func: 'x(a)', equation: '0', bounds: { min: 'b', max: '1/b' }, options: {lines: { lineWidth: 1}, color: 'green' } }, { func: 'x(a)', equation: '0', bounds: { min: '1/b', max: 'b' }, options: {lines: { lineWidth: 5}, color: 'green' } }, { func: 'x(a)', equation: '0', bounds: { min: 'Math.max(b,1/b)', max: 3 }, options: {lines: { lineWidth: 5}, color: 'green' } }, { func: 'x(a)', equation: '1', bounds: { min: 0, max: 'Math.min(b,1/b)' }, options: {lines: { lineWidth: 5}, color: 'blue' } }, { func: 'x(a)', equation: '1', bounds: { min: 'b', max: '1/b' }, options: {lines: { lineWidth: 1}, color: 'blue' } }, { func: 'x(a)', equation: '1', bounds: { min: '1/b', max: 'b' }, options: {lines: { lineWidth: 5}, color: 'blue' } }, { func: 'x(a)', equation: '1', bounds: { min: 'Math.max(b,1/b)', max: 3 }, options: {lines: { lineWidth: 1}, color: 'blue' } }, { func: 'x(a)', equation: '(1-a*b)/(1-b*b)', bounds: { min: 'b', max: '1/b' }, options: {lines: { lineWidth: 5}, color: 'black' } }, { func: 'x(a)', equation: '(1-a*b)/(1-b*b)', bounds: { min: '1/b', max: 'b' }, options: {lines: { lineWidth: 1}, color: 'black' } }, ], [ { func: 'y(a)', equation: 'a', bounds: { min: 0, max: 'Math.min(b,1/b)' }, options: {lines: { lineWidth: 1}, color: 'green' } }, { func: 'y(a)', equation: 'a', bounds: { min: 'b', max: '1/b' }, options: {lines: { lineWidth: 1}, color: 'green' } }, { func: 'y(a)', equation: 'a', bounds: { min: '1/b', max: 'b' }, options: {lines: { lineWidth: 5}, color: 'green' } }, { func: 'y(a)', equation: 'a', bounds: { min: 'Math.max(b,1/b)', max: 3 }, options: {lines: { lineWidth: 5}, color: 'green' } }, { func: 'y(a)', equation: '0', bounds: { min: 0, max: 'Math.min(b,1/b)' }, options: {lines: { lineWidth: 5}, color: 'blue' } }, { func: 'y(a)', equation: '0', bounds: { min: 'b', max: '1/b' }, options: {lines: { lineWidth: 1}, color: 'blue' } }, { func: 'y(a)', equation: '0', bounds: { min: '1/b', max: 'b' }, options: {lines: { lineWidth: 5}, color: 'blue' } }, { func: 'y(a)', equation: '0', bounds: { min: 'Math.max(b,1/b)', max: 3 }, options: {lines: { lineWidth: 1}, color: 'blue' } }, { func: 'y(a)', equation: '(a-b)/(1-b*b)', bounds: { min: 'b', max: '1/b' }, options: {lines: { lineWidth: 5}, color: 'black' } }, { func: 'y(a)', equation: '(a-b)/(1-b*b)', bounds: { min: '1/b', max: 'b' }, options: {lines: { lineWidth: 1}, color: 'black' } }, ], ], limit_points: { x: '[0,0,(((a-1)*(a-1)+(b-1)*(b-1)))/((a-1)*(a-1)+(b-1)*(b-1)),(1-a*b)/(1-b*b)]', y: '[0,a*(((a-1)*(a-1)+(b-1)*(b-1)))/((a-1)*(a-1)+(b-1)*(b-1)),0,(a-b)/(1-b*b)]', }, solver: { step: 0.1, accuracy: 0.01, autostop: 25, }
Счёт:
Запускать по щелчку
Редактировать модель