From c132ec552f354fabc75bb07dc3c52efe25874083 Mon Sep 17 00:00:00 2001 From: LinlyBoi Date: Sun, 7 May 2023 21:09:12 +0300 Subject: [PATCH] whatchu mean I didn't save my comments :( --- My balls/gauss_seidel.m | 7 ++++--- My balls/open_poopers.m | 18 +++++++----------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/My balls/gauss_seidel.m b/My balls/gauss_seidel.m index ef69b9f..74e6977 100644 --- a/My balls/gauss_seidel.m +++ b/My balls/gauss_seidel.m @@ -2,20 +2,21 @@ A = [3, -0.1, -0.2; 0.1, 7, -0.3; 0.3, -0.2, 10] B = [7.85; -19.3; 71.4] init = [0, 0, 0] - +# gotta have an initial assumption (usually 0s) function solution = gauss_seidel(A,b,initial) for i = [1:length(A)] sigma = 0; for j = [1:length(A)] if(j != i) + # ze part where we have a32 - a31 etc sigma = sigma + A(i,j) * initial(j) endif - endfor +endfor +# divide by elements coefff and the free term minus the summation above (rest of row) initial(i) = (b(i) - sigma) / A(i,i) endfor solution = initial endfunction balls = gauss_seidel(A,B,init) -balls = gauss_seidel(A,B,balls) diff --git a/My balls/open_poopers.m b/My balls/open_poopers.m index 90ae91e..cb8e700 100644 --- a/My balls/open_poopers.m +++ b/My balls/open_poopers.m @@ -3,20 +3,16 @@ clear clc pkg load symbolic; -f = @(x) 3*x.^2 - e.^x +f = @(x) 3*x.^2 - e.^x #example function we use for every single thing a = 0 b = 1 syms x; -ff = f(x) function root = newton(f, x0) - if abs(f(x0)) < eps - root = x0; + if abs(f(x0)) < eps #Breaking condition + root = x0 return endif - syms x; - df = diff(f(x)); - ff = function_handle (df); - x0 = x0 -( f(x0) / deriv(f,x0) ) + x0 = x0 -( f(x0) / deriv(f,x0) ); # dividing by the derivative newton(f, x0) endfunction @@ -24,14 +20,14 @@ newton(f, 0.5) function root = secant(f, x0, x1) if abs(f(x0)) < eps - root = x0; + root = x0 # breaking condition return endif syms x; df = diff(f(x)); ff = function_handle (df); - temp = x1; - x1 = x1 -( ( f(x1) * (x1 - x0) ) / ( f(x1) - f(x0) ) ) + temp = x1; # Temp variable for reassigning x0 + x1 = x1 -( ( f(x1) * (x1 - x0) ) / ( f(x1) - f(x0) ) ); #Formula that replaced y' in newton x0 = temp; secant(f, x0,x1) endfunction