Filter löschen
Filter löschen

I'm not understanding why this error occurs: Error: Unexpected MATLAB expression

3 Ansichten (letzte 30 Tage)
What i entered in console and received
>> newton(x^3-x,3x^2-1,-1,1e-5,20)
??? newton(x^3-x,3x^2-1,-1,1e-5,20)
|
Error: Unexpected MATLAB expression.
function used is as follows
function [ x, ex ] = newton( f, df, x0, tol, nmax )
%
% NEWTON Newton's Method
% Newton's method for finding successively better approximations to the
% zeroes of a real-valued function.
%
% Input:
% f - input funtion
% df - derived input function
% x0 - inicial aproximation
% tol - tolerance
% nmax - maximum number of iterations
%
% Output:
% x - aproximation to root
% ex - error estimate
%
% Example:
% [ x, ex ] = newton( 'exp(x)+x', 'exp(x)+1', 0, 0.5*10^-5, 10 )
if nargin == 3
tol = 1e-4;
nmax = 1e1;
elseif nargin == 4
nmax = 1e1;
elseif nargin ~= 5
error('newton: invalid input parameters');
end
f = inline(f);
df = inline(df);
x(1) = x0 - (f(x0)/df(x0));
ex(1) = abs(x(1)-x0);
k = 2;
while (ex(k-1) >= tol) && (k <= nmax)
x(k) = x(k-1) - (f(x(k-1))/df(x(k-1)));
ex(k) = abs(x(k)-x(k-1));
k = k+1;
end
end

Akzeptierte Antwort

Jan
Jan am 17 Okt. 2013
Bearbeitet: Jan am 17 Okt. 2013
You are missing a multiplication operator:
Try
newton(x^3-x,3 * x^2-1,-1,1e-5,20)
^
inserted
Edit: I just noticed, that the function header of newton obviously expects strings ast input arguments. Like in the example given:
[ x, ex ] = newton( 'exp(x)+x', 'exp(x)+1', 0, 0.5*10^-5, 10 )
You will have to alter your function call accordingly. However, the Matlab error resulted from the missing multiplication operator.
  2 Kommentare
Matt
Matt am 17 Okt. 2013
Thank you very much, something so simple yet can be a pain. The life of syntax...
Jan
Jan am 17 Okt. 2013
And the error message has been very specific.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings 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