matlab中sym的用法Matlab中sym的用法

2021-03-08 02:18:04 字數 3639 閱讀 6479

1樓:幻翼高達

matlab中sym有6種用法,「sym x;」是不正確的用法。

1、s = sym(a)

將非符號物件(如,數字,表示式,變數等)a轉換為符號物件,並儲存在符號變數s中。

2、x = sym('x')

建立符號變數x,其名字是'x'。示例:alpha = sym('alpha')。

3、x = sym('x', 'real')

這裡假設x是實數,因此有x的共軛conj(x)等於x。示例:r = sym('rho','real')。

4、k = sym('k', 'positive')

這裡建立一個正的(實數)符號變數。

5、x = sym('x', 'clear')

建立一個沒有額外屬性的純形式上的符號變數x(例如,建立符號變數x,但是並沒指定它是正的或它是一個實數)。

6、s = sym(a, flag)

把一個數值標量或矩陣轉換為符號型的物件。這裡flag引數的值可以是:'r', 'd', 'e', or 'f',它指定了對浮點數進行轉換時的規則。

擴充套件資料:

matlab常用函式:

1、zeros

(1)zeros(n):n*n 全零矩陣。

(2)zeros(m,n):m*n全零矩陣。

(3)zeros(d1,d2,d3……dn):生成 d1*d2*d3*……*dn 全零矩陣或陣列。

(4)zeros(size(a)):生成與矩陣a大小相同的全零矩陣。

2、ones

(1)ones(n):n*n 全1矩陣。

(2)ones(m,n):m*n全1矩陣。

(3)ones(d1,d2,d3……dn):生成d1*d2*d3*……*dn的全1矩陣或陣列。

(4)ones(size(a)):生成與矩陣a大小相同的全1矩陣。

3、size

(1)size(a):對於矩陣a,函式size(a)返回一行向量。

該行向量的第一個元素表示矩陣的行,第二個元素表示矩陣的列。

(2)size(a, 1):表示獲取矩陣a的行數。

(3)size(a, 2):表示獲取矩陣a的列數。

2樓:柒月黑瞳

1、在matlab中,sym用於建立符號數字、符號變數、符號物件。

2、符號物件的型別是sym,可以通過class(s)來驗證,這裡s是一個符號物件。

3、符號變數的優點是,使用符號變數運算得到的只是一個解析解,例如,在符號變數運算過程中pi就用pi表示,而不是具體的近似數值3.14或3.14159。

4、使用符號變數進行運算能最大限度減少運算過程中因舍入造成的誤差。符號變數也便於進行運算過程的演示。

5、語法格式:

s = sym(a)將非符號物件(如,數字,表示式,變數等)a轉換為符號物件,並儲存在符號變數s中。

x = sym('x')

建立符號變數x,其名字是'x'。示例:alpha = sym('alpha')

x = sym('x', 'real')

這裡假設x是實數,因此有x的共軛conj(x)等於x。示例:r = sym('rho','real')

k = sym('k', 'positive')

這裡建立一個正的(實數)符號變數。

x = sym('x', 'clear')

建立一個沒有額外屬性的純形式上的符號變數x(例如,建立符號變數x,但是並沒指定它是正的或它是一個實數)。為了相容舊的matlab版本,x = sym('x','unreal')的功能和x = sym('x', 'clear')一樣。

s = sym(a, flag)

把一個數值標量或矩陣轉換為符號型的物件。這裡flag引數的值可以是:'r', 'd', 'e', or 'f',它指定了對浮點數進行轉換時的規則:

'f':表示「floating-point」。這樣,所有的數值都用n*2^e或-n*2^e這種形式表示。

n和e都為整數,且n不小於0。例如,sym(1/10, 'f')被轉換為3602879701896397/36028797018963968。

'r':表示「rational」(有理數形式)。這裡,所有的浮點數都被表示成形如p/q(分數形式)、p*pi/q、2^q、10^q、sqrt(p)等形式(p、q都是符號型的有理數)。

這種表示方法減少了表示式中因舍入造成的誤差。但有時候這種方法並不能準確表示一個值。如果找不到最逼近的有理數來表示一個浮點數,這個數就會被表示成p*2^q(其中p、q都是較大的整數)這種形式,以期來準確的表示它的值。

例如,sym(4/3,'r')將產生符號量'4/3',但sym(1+sqrt(5),'r')將被表示成7286977268806824*2^(-51)。

'e':表示「estimate error」。這種形式會在'r'的基礎上新增一個由包含eps的符號表示式表示的誤差值。

這個誤差值表示一個有理數的理論值和用浮點數形式表示的實際值之間的誤差。例如,sym(3*pi/4,'e')將被表示成3*pi/4*(1+3143276*eps/65)。

'd':表示「decimal」(十進位制)。我們知道,在實際生活中我們習慣用十進位制,但計算機中則用二進位制,一個簡單的十進位制浮點數3.

14用二進位制表示便不能準確的表示。因此,更好的減少誤差的方法便是在計算機中引入十進位制來表示一個數。這種情況下,數字都取自呼叫vpa函式後產生的數字集合。

雖然用16位有時候並不能準確表示一個浮點數,但大多數情況下,我們也許並不希望用超過16位數字來表示一個浮點數。例如,通過呼叫digits(10),我們得到的浮點數都由10位數字構成,sym(4/3,'d')將產生1.333333333這個符號數字。

雖然呼叫digits(20)後我們可以使用20位數字來表示一個浮點數, 這樣sym(4/3,'d')就是 1.3333333333333332593,但是我們看到只有前16位數值是準確的,後面的幾位數值已經產生了誤差,因此大多數情況下用超過16位的數字來表示一個浮點數是不必要的。

3樓:匿名使用者

>> sym('x')

ans =

x>> sym x

ans =

xsym('x')與sym x等同

4樓:沉淪街角的寂寞

sym 定義符號量的

sym 定義一個符號變數

syms 定義多個符號變數

matlab 中poly2sym意思

5樓:多瑙的萊茵

這個函bai數有兩種用法:du

1、它的返回值是符號多

zhi項式的係數,dao依次輸出由高階到0階的版係數,如下例權所示:syms x;

sym2poly(x^3 +2*x^2- 4*x -9)結果為:

1 2 -4 -5 -9

2、把係陣列轉換成符號多項式,如下例所示:

poly2sym([3 5 4],'x');

ans =

3*x^2+5*x+4

在使用matlab時,遇到不懂的函式可以使用help命令,如help sym2poly。就會出現該函式的意義和用法。

6樓:匿名使用者

poly2sym([2 3 4],'t')ans =

2*t^2+3*t+4

明白了吧,就是把係數陣列轉換為符號多項式。

matlab中sym3與sym3有什麼區別

就sym 3 與sym 3 而言,二者沒有區別 sym 3 sym 3 ans 1但如果不是整數,結果可能不一樣 sym sqrt 2 1 ans sqrt 2 1 sym sqrt 2 1 ans 7461808180621108 2 54 前者以字串的形式傳給符號運算核心,可以保留完整的精度 而...

matlab中冒號的用法matlab中的冒號是什麼意思?怎麼用法?

具體用法如下 1 a b 表示 a,a 1,b a 1 6 a 1 2 3 4 5 6 2 當然如果 b和a不是整數的話,則向量的最後一位數是n a,且n fix b a a 1.2 5.2 a 1.2000 2.2000 3.2000 4.2000 5.2000 3 上面的前提是ab則會出現空值 ...

在matlab中命令error的用法

作用 沿著curve繪製error bars。error bars顯示沿著曲線資料的置信區間或偏差。1.errorbar y,e 繪出y並描出y的每個元素處的error bar。error bar是在curve之上和之下的一個距離e i 因此每個bar都對稱且長度為2e i 2.errorbar x...