MATLAB只显示小数点后4位数字值。(MATLAB r2020a)

48视图(30天)
我创建了两个函数称为“牛顿”和“fjacob”使用牛顿法解非线性方程。
当我类型(颗xsolution, Xk, Jk, IFLAG IterationUsed] =牛顿(@fjacob (8; 5), 1 e-8, 15)在命令窗口中,
结果只显示小数点后4位(见附件图片),即使我将格式“长”。
%——牛顿——%
函数[xsolution, Xk,颗、Jk IFLAG, IterationUsed] =牛顿(x0, FunctionNameε,IterationMax)
x =符号(“x”[1,2])”;
IFLAG =“收敛失败”;
f [J] = FunctionName (x);
Xk = x0。';
Jk = [];
IterationUsed = 0;
xsol = x0;
iter = [0];
我= 1:IterationMax
fsub =潜艇(f, x, xsol);
Jsub =潜艇(J, x, xsol);
颗(我)= fsub。';
Jk = (Jk; Jsub);
s =发票(Jsub) * fsub;
x_new = xsol + s;
Xk = [Xk; x_new '];
IterationUsed = IterationUsed + 1;
iter (i + 1) =我;
如果规范(年代,正)<ε
xsolution = x_new;
IFLAG =“xsolution收敛”;
打破
结束
如果我= = IterationMax;打破,结束
xsol = vpa (x_new);
结束
结束
%——fjacob %
函数f [J] = fjacob (x)
f = [x (1) ^ 2 + (2) ^ 2 - 1;5 * x (1) ^ 2 - x (2) - 2);
雅可比矩阵J = (f (x);
结束

接受的答案

明星黾
明星黾 2021年8月29日
我不能确实运行。
看来你使用符号数学工具箱和 vpa 函数。使用 数字 函数的数字(显示精度)设置,改变它,如果必要的。
13个评论
明星黾
明星黾 2021年8月30日
我的荣幸!
如果我的回答帮助你解决你的问题,请 接受 它!

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的