creating a function to solve non linear equations using simple iteration method

10 Ansichten (letzte 30 Tage)
mark
mark am 13 Mär. 2012
Beantwortet: Hafsa am 18 Aug. 2024
Create a Matlab function named (solveIteration) for solving a non-linear equation using (Simple iteration method) and takes the following inputs: g: function, x0 initial guess TolX as Termination tolerance on the function value, a positive scalar (when to stop iteration) and Maxiter as the max number of iterations if reached means the function has no solution The function returns the following outputs : x as a root(s) of the equation ,error as error message if the equation has no solutions Function seems like below one: function [x,error] = solveIteration(g,x0,TolX,MaxIter) ...
any hints ??
  3 Kommentare
mark
mark am 13 Mär. 2012
trying .. i just need the first steps as in the direction i need to get starting .. im new to matlap
mark
mark am 19 Mär. 2012
function [x,err] = solveit(g,x0,to,max)
syms x
x1=x0(1);
while subs(diff(g),x,x0)<=1
n=n+1;
if x1-subs(g,x,x1)<= to && n<= max
x1=subs(g,x,x1);
x=x1;
break
else
x=err;
end
end
end

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Sean de Wolski
Sean de Wolski am 13 Mär. 2012
doc fsolve
If you have the Optimization Toolbox.

Hafsa
Hafsa am 18 Aug. 2024
n = 3;
a = rand(n, n);
b = rand(n, 1);
% solve a * x + exp(x) = b for x
x = zeros(n, 1);
for itr = 1: 10
x = x - (a + diag(exp(x))) \ (a * x + exp(x) - b);
end

Kategorien

Mehr zu Systems of Nonlinear Equations finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by