官术网_书友最值得收藏!

1.1 符號數值

符號數值,是用符號表達數值。符號數值常用sym() 函數來定義。比如下例中1.5為一個雙精度數。

class(1.5)
ans =
    'double'

1.5本身為雙精度浮點數(double-precision)。所謂雙精度浮點數指的是用8個字節(64位)來存儲的一個數據,它表達十進制15或16位有效數字,表達正數范圍大概是[2.23 × 10-308, 1.79 × 10308]。class()函數用于判定1.5的數據類型。

用sym() 函數將1.5轉化成符號數值,如下。同樣用class() 函數判斷sym(1.5)的類型。符號數值精度要高于雙精度數值。

sym(1.5)
% 3/2
class(sym(1.5))
ans =
    'sym'

更多有關MATLAB單精度和雙精度浮點數的信息,請參考鏈接:

https://www.mathworks.com/help/matlab/matlab_prog/floating-point-numbers.html

一個符號數值與雙精度值計算結果仍是符號數值,如下。

1/2 + 1/3
% 0.8333
% 0.833333333333333
sym(1/2) + 1/3
% 5/6
sym(1/2)-(1/3)
% 1/6
sym(1/2)*(1/3)
% 1/6

符號數值定義有四種格式,如表1.1所示。

表1.1 sym() 定義符號數值四種格式

下面用四個值舉例說明如何使用sym() 定義符號數值。第一個例子是:

代碼如下:

x1 = sqrt(2)
% 1.4142
x1 = sym(sqrt(2),'r')
% sqr_2 = 2^(1/2)
x1 = sym(sqrt(2),'d')
% 1.4142135623730951454746218587388
x1 = sym(sqrt(2),'e')
% (64*eps)/147 + 2^(1/2)
x1 = sym(sqrt(2),'f')
% 6369051672525773/4503599627370496

第二個例子是:

代碼如下:

x2 = pi
% 3.1416
x2 = sym(pi)
% pi
x2 = sym(pi,'r')
% pi
x2 = sym(pi,'d')
% 3.1415926535897931159979634685442
x2 = sym(pi,'e')
% pi - (198*eps)/359
x2 = sym(pi,'f')
% 884279719003555/281474976710656

第三個例子是:

代碼如下:

x3 = 1/7
% 0.1429
x3 = sym(1/7)
% 1/7
x3 = sym(1/7,'r')
% 1/7
x3 = sym(1/7,'d')
% 0.14285714285714284921269 268124888
x3 = sym(1/7,'e')
% 1/7 - eps/28
x3 = sym(1/7,'f')
% 2573485501354569/18014398509481984

第四個例子是:

代碼如下:

x4 = log(2)
% 0.6931
x4 = sym(log(2))
% 6243314768165359/9007199254740992
x4 = sym(log(2),'r')
% 6243314768165359/9007199254740992
x4 = sym(log(2),'d')
% 0.69314718055994528622676398299518
x4 = sym(log(2),'e')
% 6243314768165359/9007199254740992
x4 = sym(log(2),'f')
% 6243314768165359/9007199254740992

double() 和eval() 把符號數值變成浮點數數值,例如:

eval(sym(1/7))
double(sym(1/7))

表1.2總結了更多數據轉換函數。

表1.2 數據類型轉換函數

format long設置命令行窗口輸出顯示格式,而并不影響MATLAB計算或者保存具體數值。long為眾多數據顯示樣式中的一種。表1.3列出了幾種常見數據顯示格式。

表1.3 數據顯示格式

主站蜘蛛池模板: 安化县| 军事| 磴口县| 新乐市| 蒙自县| 大埔区| 仪征市| 惠东县| 增城市| 海丰县| 连城县| 临安市| 双鸭山市| 池州市| 龙游县| 林西县| 外汇| 自贡市| 寻乌县| 即墨市| 博爱县| 湖口县| 富蕴县| 长宁县| 高尔夫| 新蔡县| 漳州市| 淳化县| 旺苍县| 睢宁县| 白玉县| 永定县| 永顺县| 泰宁县| 林州市| 静乐县| 大厂| 策勒县| 青河县| 株洲县| 图木舒克市|