Getting Error: Unexpected MATLAB expression.

Question: Use Newton's method to nd three roots of x^3 - 5x + 1 = 0 accurate to within 10^-14.
My Matlab Code:
format long
x=0.5
for I = 1:10
x=x-((x.^3)-5.x+1)/(3.(x.^2)-5),
end
x=x-((x.^3)-5.x+1)/(3.(x.^2)-5),
|
Error: Unexpected MATLAB expression.
Problem: I am getting the aforementioned error and therefore, cannot find roots of the given equation in the question. Please can you find the problem and help me out? I am new to Matlab and I am learning this software. Thanks a lot! Appreciate it. :)
MATLAB Version: MATLAB R2013a

 Akzeptierte Antwort

Star Strider
Star Strider am 18 Apr. 2014
Bearbeitet: Star Strider am 18 Apr. 2014

2 Stimmen

Change it to:
x=x-((x.^3)-5.*x+1)./(3.*(x.^2)-5);
It’s missing two multiplication asterisks and a dot before the division sign.

4 Kommentare

Image Analyst
Image Analyst am 19 Apr. 2014
The dot before the / is actually not needed since the denominator is a scalar, not an array, though it does not hurt to have it.
Star Strider
Star Strider am 19 Apr. 2014
Bearbeitet: Star Strider am 19 Apr. 2014
I agree. In all functions and most of my Answers, I vectorise everything, unless I know the intent are matrix operations.
John
John am 20 Apr. 2014
Thanks Star Strider and Image Analyst! It worked. :)
Star Strider
Star Strider am 20 Apr. 2014
My (our) pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

M SEETHA
M SEETHA am 14 Sep. 2022

0 Stimmen

IE11=(P*Ie)*((alpha*P^(-neta))*(M^2/2)+(beta*P^(-neta))*(Pr+(xi-1)*alpha*P^(-neta)/B)*(M^2/2)-(t^2/2B^2)*(B^2*e^(-B*tp)+(1-e^(-B*M))));
THIS SHOWS UNEXPECTED MATLAB EXPRESSION KINDLY HELP ME

1 Kommentar

Walter Roberson
Walter Roberson am 14 Sep. 2022
(t^2/2B^2) is missing an operation between the 2 and the B
I would suggest to you that the e^ parts are confusing. People are going to wonder why you named a variable e that is not the base of natural logarithms and raise it to a power. We know that it is not the base of the natural logarithms because if it were you would have coded exp() instead. Use a different variable name for whatever your e is, such as "emissivity" so readers do not get confused thinking it is an exp() operation when it is not.

Melden Sie sich an, um zu kommentieren.

Produkte

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by