Я пытаюсь написать модифицированную формулу Ньютона в MATLAB, но MATLAB показывает результаты в символьной форме (x), а не в цифрах. Вот код:Matlab показывает результат формы x
clc
format long g
syms x;
fun = input ('Enter the function f(x)= : ','s');
f=inline(fun);
z=diff(f(x));
f1=inline(z);
z1=diff(f1(x));
f2=inline(z1);
u1=f(x)/f1(x);
u2=1-[(f(x)*f2(x))/(f1(x)^2)];
x0=input('enter the first guess x0=: ');
for i=0:6
xn=x
x=xn-[u1/u2];
if x==xn
break
end
end
И вот результаты:
Enter the function f(x)= : x^2-2
enter the first guess x0=: 1
xn =
x
xn =
x + (x^2 - 2)/(2*x*((2*x^2 - 4)/(4*x^2) - 1))
xn =
x + (x^2 - 2)/(x*((2*x^2 - 4)/(4*x^2) - 1))
xn =
x + (3*(x^2 - 2))/(2*x*((2*x^2 - 4)/(4*x^2) - 1))
xn =
x + (2*(x^2 - 2))/(x*((2*x^2 - 4)/(4*x^2) - 1))
xn =
x + (5*(x^2 - 2))/(2*x*((2*x^2 - 4)/(4*x^2) - 1))
xn =
x + (3*(x^2 - 2))/(x*((2*x^2 - 4)/(4*x^2) - 1))
как я могу это исправить? Спасибо.
Было бы лучше сделать правку в вашей прежней должности и быть активными отвечая на вопросы народов, публикуя новую копию в надежде на лучшее. Причина, по которой вы не получили ответа, заключалась в том, что встроенное решение устарело и сложно. Кроме того, встроенные функции должны оцениваться численно. Это означает, что для чистых символических функций возникают проблемы. Я хотел попытаться удалить встроенные строки и проверить, чтобы они стали символическими, но так как вы не спрашивали, как или как-то реагировать, вам это сложно научить. SO не является бесплатной домашней работой для вас. Однако я отвечу. – patrik
Дорогой patrik, я отредактировал мой бывший пост, но вчера не видел вашего комментария. я только что видел его. я стараюсь делать то, что вы говорите. но я не могу получить решение таким образом. Я подхожу к решению этого кода. но это либо не корреспондент. Я знаю это. но это лучше всего я могу сделать. –