数学建模社区-数学中国
标题:
可变精度算法简介
[打印本页]
作者:
森之张卫东
时间:
2015-7-26 19:25
标题:
可变精度算法简介
命令1 可变精度算法
函数 vpa
格式 R = vpa(A) %用可变精度算法来计算A中的每一元素,使其成为有d位精确度的十进制数。其中d为命令digits设置的当前位数。R中的每一元素为一符号表达式。
R = vpa(A,d)或R = vpa A d %用参量d指定的位数(而非命令digits设置的位数)来表示A中的每一元素。R中的每一元素为一符号表达式。
例3-58
>>digits(25)
>>q = vpa(sym(sin(pi/6)))
>>p = vpa(pi)
>>gold_ratioi = vpa('(sqrt(5)-1)/2')
>>vpa pi 75
>>A = vpa(gallery(5),8)
>>B = vpa(hilb(3),5)
计算结果为:
q =
.5000000000000000000000000
p =
3.141592653589793238462643
gold_ratioi =
.6180339887498948482045870
ans =
3.14159265358979323846264338327950288419716939937510582097… 494459230781640629
A =
[ -9., 11., -21., 63., -252.]
[ 70., -69., 141., -421., 1684.]
[ -575., 575., -1149., 3451., -13801.]
[ 3891., -3891., 7782., -23345., 93365.]
[ 1024., -1024., 2048., -6144., 24572.]
B =
[ 1., .50000, .33333]
[ .50000, .33333, .25000]
[ .33333, .25000, .20000]
命令2 符号表达式的C语言代码
函数 ccode
格式 ccode(s) %返回C语言的、用于计算符号表达式s的语句段落
例3-59
>>syms x
>>s = taylor(exp(x));
>>ccode(s)
计算结果为:
ans =
t0 = 1.0+x+x*x/2.0+x*x*x/6.0+x*x*x*x/24.0+x*x*x*x*x/120.0;
注:t0为 在x=0附近的计算公式(Taylor展式)。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5