% 許容容量cを決めよう
c(1) = 10;

% 最初は適当に(0.1, 0.1) からスタート
x(1) = 0.1;
x(2) = 0.1;

% 1000 回計算をくり返す (くり返しの回数を変えてみよう)
for n = 1:1000
    % x(1) について微分を求める
    dx(1) = 1 / x(1);
    % x(2) について微分を求める
    dx(2) = 1 / x(2);
    % 微分の方向に少し答えを動かす
    x = x + (1 / n) * dx;
    % 答えが条件よりはみ出ていたら、
    % 条件を満たす一番近い答えに戻す。
    x = max(x, 0);
    if (x(1) + x(2) > c(1))
        x = x - (x(1) + x(2) - c(1)) / 2;
    end
end

% 計算結果を見てみる (手計算と一致するかな？)
disp(x);
