my_fun = z^3 - 1;
my_deriv = 3*(z^2);
这些是我使用的功能。我可以找到我的解决方案的实部,但是当我使用一个对根具有虚部的函数(例如上面的函数)时,我不知道如何找到它。我的代码为我的初始值遍历不同的值,如果我找到一个根,我将它存储在我的数组中,如果它在数组中找到一个根,它会忽略它。所以我基本上想知道我是否可以更改我的代码以找到具有虚部的根。谢谢
clc;
close all;
clear all;
Roots = [];
Array_slot = 1;
threshold = 0.00000001;
% X_initial = 1;
for (j = -10:10)
X_initial = j;
if (my_deriv(X_initial) ~= 0)
counter = 0;
while (abs(my_fun(X_initial)) > threshold && counter < 100)
X_initial;
% imag(X_initial)
X_one = X_initial - (my_fun(X_initial)/my_deriv(X_initial));
X_initial = X_one;
% imag(X_one)
counter = counter + 1;
end
if counter < 1000
root = (round(X_initial*1000))/1000;
if ~ismember(root,Roots)
Roots(Array_slot) = root;
Array_slot = Array_slot + 1;
end
end
end
end
Roots