计算中的函数误差

3个观点(过去30天)
yogeshwari帕特尔
yogeshwari帕特尔 2022年4月16日
评论道: Torsten 2022年4月17日
%起始值
以上公式编码如下:
信谊x一个
Y =符号(0 (1));
Y (1) = 0;
一个= 1/2
i = 1:4
如果我= = 5
一个= 1
其他的
一个= 0
结束
如果我= = 4
B = 1
其他的
B = 0
结束
Y (i + 1) =简化(γ(*(张)+ 1)/γ((*(张)+ 3/2))* (Y(我)+((2 * 2)/伽马(5/2)))));
结束
disp (Y)
但是它显示的是计算误差Y(5)=1,但在MATLAB中显示的值如下:('2535301200456458897054207582575/2535301200456458802993406410752')。除Y(5)外,所有值都是零

答案(1)

VBBV
VBBV 2022年4月16日
信谊x一个
Y =符号(0 (1));
Y (1) = 0;
一个= 1/2
A = 0.5000
i = 1:4
如果我= = 5
= 1;
B = 0;
Y (i + 1) =简化(γ(*(张)+ 1)/γ((*(张)+ 3/2))* (Y(我)+((2 * 2)/伽马(5/2)))));
其他的
= 0;
B =1;
Y (i + 1) =简化(γ(*(张)+ 1)/γ((*(张)+ 3/2))* (Y(我)+((2 * 2)/伽马(5/2)))));
结束
如果我= = 4
B = 1;
A = 0;
Y (i + 1) =简化(γ(*(张)+ 1)/γ((*(张)+ 3/2))* (Y(我)+((2 * 2)/伽马(5/2)))));
其他的
B = 0;
A = 1;
Y (i + 1) =简化(γ(*(张)+ 1)/γ((*(张)+ 3/2))* (Y(我)+((2 * 2)/伽马(5/2)))));
结束
结束
A = 0
B = 0
A = 1
A = 0
B = 0
A = 1
A = 0
B = 0
A = 1
A = 0
B = 1
disp (vpa (Y, 4))
3评论
Torsten
Torsten 2022年4月17日
在计算Y(5)时混合使用符号参数和浮点参数。这将导致精确度降低。

登录发表评论。

标签

社区寻宝

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

开始狩猎!