在使用strsplit函数时,输入的参数y应该是一个字符行矢量或者字符行矢量元胞数组,但是在代码中y是一个双精度矩阵,所以需要将其转换为字符行矢量或字符行矢量元胞数组后再使用strsplit函数。可以使用mat2str函数将矩阵转换为字符行矢量,然后再去除其中的空格和方括号。修改后的代码如下:

clc; clear; format short;

x = [101:1:111]; n = length(x); y = zeros(n, 2);

for i = 1:n % 牛顿迭代法 r = x(i)^(1/3); for j = 1:20 r = r - (r^3 - x(i))/(3*r^2); end y(i, 1) = r;

% 简化牛顿迭代法
r = x(i)^(1/3);
for j = 1:20
    r = (2*r + x(i)/(r^2))/3;
end
y(i, 2) = r;

end

% 输出结果 disp('牛顿迭代法 简化牛顿迭代法'); disp([x' y]);

% 输出矩阵 y_str = strrep(mat2str(y,6),';',' '); y_str = strrep(y_str,'[',''); y_str = strrep(y_str,']',''); disp(y_str);

牛顿迭代法求立方根clc; clear; format short;x = 1011111;n = lengthx;y = zerosn 2;for i = 1n 牛顿迭代法 r = xi^13; for j = 120 r = r - r^3 - xi3r^2; end yi 1 = r; 简化牛顿迭代法 r = xi^13;

原文地址: https://www.cveoy.top/t/topic/b1wW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录