【发布时间】:2015-08-14 21:37:43
【问题描述】:
我正在使用一种算法,该算法使用双曲线函数,为了从中获得更准确的结果,我需要提高精度,所以我想通过 vpa 函数手段来做到这一点,但我并不完全确定如何实现它。这里有一些代码可以进一步澄清情况:
x=18; %the hyperbolic relation is valid until x=18
cosh(x)^2-sinh(x)^2
ans = 1
x=19; %the hyperbolic relation is no longer valid
cosh(x)^2-sinh(x)^2
ans = 0
使用 VPA 功能:
a=vpa('cosh(40)',30); %the hyperbolic relation is valid beyond x=19
b=vpa('sinh(40)',30);
a^2-b^2
ans = 1.00008392333984375
现在的问题是我不知道如何使用控制变量“x”从 VPA 获取值
我试过了,但没用:
x=40;
a=vpa('cosh(x)',x,30);
b=vpa('sinh(x)',30);
a^2-b^2
【问题讨论】:
-
x=40;a=vpa(cosh(x), 30);不工作?根据 matlab 文档,这应该可以工作。
-
@RobertStettler,我认为这就是答案,OP 只是没有使用正确的语法。想从您的评论中得到答案吗?
-
@A.Donda:不完全是。更重要的是,它是关于在正确的点从浮点转换为
vpa。 -
@horchler,看来你是对的。
-
对不起@RobertStettler