国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MATLAB 符號(hào)表達(dá)式與運(yùn)算全面詳細(xì)講解

這篇具有很好參考價(jià)值的文章主要介紹了MATLAB 符號(hào)表達(dá)式與運(yùn)算全面詳細(xì)講解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 符號(hào)定義

1.1 sym函數(shù)介紹

1.1.1 定義單個(gè)符號(hào)

sym 函數(shù)能夠定義單個(gè)的符號(hào)變量,如下所示:

a = sym('a')

運(yùn)行后的顯示為:

a =

a

1.1.2 定義多個(gè)符號(hào)

當(dāng)需要定義多個(gè)變量時(shí),則可以在后面寫上需要變量的行數(shù)與列數(shù),其可以生成多行多列的變量矩陣。

A = sym('a',[2 4])

打印出的結(jié)果如下

A =

[ a1_1, a1_2, a1_3, a1_4]
[ a2_1, a2_2, a2_3, a2_4]

當(dāng)想調(diào)用對(duì)應(yīng)的符號(hào)時(shí)用矩陣元素的索引即可

f = A(1,3) * 8

f =

8*a1_3

sym 還支持自定義生成的變量的形式,

A = sym('a_%d_%d',[2 4])

生成的符號(hào)就是a_1_1 的形式。

1.1.3 保留真實(shí)數(shù)據(jù)

使用sym 函數(shù)能夠?qū)?shù)據(jù)的值進(jìn)行精確的保留,不必要擔(dān)心計(jì)算機(jī)計(jì)算的誤差等問題。
例如,當(dāng)計(jì)算 1 123467 ? 3 4 \frac{1}{123467} * \frac{3}{4} 1234671??43? 時(shí),我們想要的是準(zhǔn)確的分?jǐn)?shù)形式,但是直接輸入的話會(huì)導(dǎo)致答案成為浮點(diǎn)形式,這時(shí)使用 sym函數(shù)就能避免這種情況。
直接輸入如下:

answer = 1 / 1234567 * (3 / 4)

輸出為

answer =

6.0750e-07

使用sym函數(shù)轉(zhuǎn)換后:

answer2 = 1 / sym(1234567) * (3 / 4)

輸出為

answer2 =

3/4938268

該答案為分式形式的準(zhǔn)確解。
注意:在使用sym函數(shù)進(jìn)行精度保留時(shí),不能將其寫為sym(1/1234567) ,寫成這種形式時(shí)會(huì)優(yōu)先計(jì)算1/1234567再將其轉(zhuǎn)為分式,精度已經(jīng)得到了損失。

1.2 syms函數(shù)介紹

1.2.1 定義不同變量

syms函數(shù)能夠很快的定義多個(gè)不同的變量,變量之間只需要使用空格隔開就行,形式如下:

syms a b c d

使用whos命令查看所有變量為


Name?????Size?????Bytes Class?????Attributes

a?????????????1x1????????????8??sym
b?????????????1x1????????????8??sym
c?????????????1x1????????????8??sym
d?????????????1x1????????????8??sym

1.2.2 定義多行符號(hào)

syms 同樣可以定義多行多列的數(shù)據(jù)類型,形式如下

syms a [4 3]

以上代碼定義了一個(gè)4*3的符號(hào),等價(jià)于a=sym('a', [4 3]),符號(hào)全部存儲(chǔ)在a當(dāng)中,需要使用時(shí)只需要使用諸如a(1,3)的索引即可。

2. 代換符號(hào)

使用符號(hào)定義了一個(gè)符號(hào)函數(shù)后,往往需要將符號(hào)函數(shù)中的一些符號(hào)代換成其他符號(hào)或者數(shù)值類型,這種情況下一般使用 subs 函數(shù)。

2.1 代換表達(dá)式中的符號(hào)

subs 函數(shù)的一般形式如下

subs(S, old, new)

其參數(shù)的含義是在符號(hào)表達(dá)式 S 中,利用 new 中的符號(hào)或數(shù)值替換 old 中的符號(hào)。
其示例如下

syms a b c x y
f = a * x^2 + b * y + c;%原表達(dá)式
syms m
f1 = subs(f, [x y], [sin(x) log(y)]) %符號(hào)替換符號(hào)
f2 = subs(f, [a b], [2 3]) %數(shù)值替換符號(hào)
f3 = subs(f, a, 1: 4) %多數(shù)值替換符號(hào)

輸出如下:

f1 =

a*sin(x)^2 + c + b*log(y)


f2 =

2*x^2 + c + 3*y


f3 =

[ x^2 + c + b*y, 2*x^2 + c + b*y, 3*x^2 + c + b*y, 4*x^2 + c + b*y]

2.2 控制替換后的精度

使用數(shù)值對(duì)表達(dá)式進(jìn)行了替換后,往往需要對(duì)精度做一定的控制與保證,這個(gè)時(shí)候就需要使用vpa 函數(shù)了。
控制精度的方法有兩種,一是用 digits 函數(shù)+ vpa 函數(shù),一種是直接用 vpa 函數(shù)。

方式一digits+vpa
digits函數(shù)規(guī)定了精度的保留位數(shù) ,默認(rèn)是32位,vpa函數(shù)對(duì)數(shù)值進(jìn)行計(jì)算。如digits(10)代表精度保留為有效數(shù)字10位,digits函數(shù)使用后必須要配合vpa函數(shù)使用。


計(jì)算 π ? e 2 \pi * e^2 π?e2 的值,保留50位有效數(shù)字。

digits(50); %保留50位精度
y = str2sym('pi * exp(2)'); %將字符串轉(zhuǎn)為sym形式
vpa(y)

輸出如下:

ans =

23.213404357363387236150345896006882480062932649056

有效數(shù)字位數(shù)為50位。

方式二vpa
vpa 函數(shù)有還有一種格式如下

vpa(E, D)

其中 E 為傳入的要計(jì)算的值, D 為要保留的精度。


計(jì)算 f ( x ) = c o s 1 + s i n 1 f(x) = cos1+sin1 f(x)=cos1+sin1 的值,保留50位有效數(shù)字。

syms x
f(x) = cos(x) + sin(x);
y = vpa(f(1), 50)

上述代碼計(jì)算 f ( 1 ) f(1) f(1) 的值,設(shè)定精度為50,結(jié)果為

y =

1.3817732906760362240534389290732756033548734814163

3. 其他函數(shù)

3.1 因式分解

符號(hào)表達(dá)式中使用 factor函數(shù)對(duì)符號(hào)表達(dá)式進(jìn)行因式分解,調(diào)用格式如下

factor(E)

其中 E 為符號(hào)表達(dá)式.


化簡(jiǎn) f = x 3 + x 2 ? x ? 1 f=x^3+x^2 - x - 1 f=x3+x2?x?1

syms x
f = x^3 + x^2 - x - 1;
f1 = factor(f)

輸出為

f1 =

[ x - 1, x + 1, x + 1]

3.2 展開表達(dá)式

使用 expand函數(shù)對(duì)符號(hào)表達(dá)式進(jìn)行展開,調(diào)用格式如下

expand(E)

其中 E 為符號(hào)表達(dá)式.


展開函數(shù) f = ( x + y ) 4 f=(x + y)^4 f=(x+y)4

syms x y
f= (x + y)^4;
f1 = expand(f)

輸出為

f1 =

x^4 + 4*x^3*y + 6*x^2*y^2 + 4*x*y^3 + y^4

3.3 合并同類項(xiàng)

使用 collect函數(shù)對(duì)符號(hào)表達(dá)式進(jìn)行展開,其調(diào)用格式有兩種

collect(E)

將符號(hào)表達(dá)式 E 中各sym變量前的系數(shù)進(jìn)行合并。

collect(E, v)

將符號(hào)表達(dá)式 E 中的 v 的同冪項(xiàng)系數(shù)進(jìn)行合并。


將函數(shù) f = ? a x e ? c x + b e ? c x f=-axe^{-cx} + be^{-cx} f=?axe?cx+be?cx的同類項(xiàng)進(jìn)行合并。
注意,該題下如果不指定合并的項(xiàng)數(shù),那么其將不會(huì)進(jìn)行合并,因?yàn)闆]有除了數(shù)值外相同的sym 項(xiàng),比如下面的代碼

syms a b c x
f = -a * x * exp(-c * x) + b * exp(-c * x)
f1 = collect(f)

輸出為

f1 =

(-a*exp(-c*x))*x + b*exp(-c*x)

不能說沒有變化,只能說變了不如沒變。

該題要想合并必須指定合并的項(xiàng),

syms a b c x
f = -a * x * exp(-c * x) + b * exp(-c * x)
f1 = collect(f,exp(-c*x))

輸出為

f1 =

(b - a*x)*exp(-c*x)

3.4 化簡(jiǎn)

使用 simplify函數(shù)對(duì)符號(hào)表達(dá)式進(jìn)行化簡(jiǎn),調(diào)用格式如下

simplify(E)

其中 E 為符號(hào)表達(dá)式.


化簡(jiǎn)函數(shù) e 1 = c o s 2 x + s i n 2 x e_1= cos^2x + sin^2x e1?=cos2x+sin2x e 2 = e c ? l n ( a + b ) e_2= e^{c * ln(a + b)} e2?=ec?ln(a+b)

syms x a b c;
e10 = sin(x)^2 + cos(x) ^2;
e1 = simplify(e10);
e20 = exp(c * log(a+ b));
e2 = simplify(e20);

輸出為

e1 =

1
e2 =

(a + b)^c

除此之外,也可用simple 函數(shù)進(jìn)行化簡(jiǎn),simple會(huì)對(duì)符號(hào)表達(dá)式進(jìn)行不同的嘗試,并返回長度最短的形式。其調(diào)用格式如下:

[R,HOW] = simple(E)

其中 E 為符號(hào)表達(dá)式, R為化簡(jiǎn)結(jié)果,HOW為化簡(jiǎn)方法。

3.5 通分

使用 numden函數(shù)對(duì)符號(hào)表達(dá)式進(jìn)行通分,調(diào)用格式如下

[N,D] = numden(E)

其中 E 為符號(hào)表達(dá)式, N為通分后的分子,D為通分后的分母。


對(duì)函數(shù) f = x k y + y p x f = \frac{x}{ky} + \frac{y}{px} f=kyx?+pxy? 進(jìn)行通分。

syms k p x y
f = x / ( k * y) + y / ( p * x);
[n, d] = numden(f);
f1 = n / d;

輸出為

f1 =

(p*x^2 + k*y^2)/(k*p*x*y)

3.6 嵌套分解

使用 horner函數(shù)對(duì)符號(hào)表達(dá)式進(jìn)行嵌套類型的分解,調(diào)用格式如下

horner(E)

其中 E 為符號(hào)表達(dá)式。


f = ? a x 4 + b x 3 ? c x 2 + x + d f = -ax^4+bx^3-cx^2+x+d f=?ax4+bx3?cx2+x+d 轉(zhuǎn)為嵌套形式的表達(dá)式。

syms a b c d x
f = -a * x^4 + b * x^3 - c * x^2 + x + d;
f1 = horner(f)

輸出為

f1 =

d - x*(x*(c - x*(b - a*x)) - 1)

3.7 求反函數(shù)

使用 finverse函數(shù)對(duì)符號(hào)表達(dá)式進(jìn)行嵌套類型的分解,調(diào)用格式如下

g = finverse(E, v)

其中 E 為符號(hào)表達(dá)式, v 為指定的自變量,單變量為 x 時(shí) v 可以省略。


求函數(shù) f = a x + b f = ax+b f=ax+b 的反函數(shù)。

syms x y a b
y = a * x + b;
g = finverse(y)

輸出為

g =

-(b - x)/a

3.8 復(fù)合函數(shù)

使用 compose函數(shù)對(duì)兩個(gè)符號(hào)表達(dá)式進(jìn)行復(fù)合求解,調(diào)用格式如下

compose(f, g)

當(dāng) f = f ( x ) f = f(x) f=f(x)以及 g = g ( y ) g = g(y) g=g(y)時(shí),返回復(fù)合函數(shù) f ( g ( y ) ) f(g(y)) f(g(y)) 。

compose(f, g, z)

當(dāng) f = f ( x ) f = f(x) f=f(x)以及 g = g ( y ) g = g(y) g=g(y)時(shí),返回復(fù)合函數(shù) f ( g ( z ) ) f(g(z)) f(g(z)) 。

compose(f, g, t, u ,z)

當(dāng) f = f ( t ) f = f(t) f=f(t)以及 g = g ( u ) g = g(u) g=g(u)時(shí),返回復(fù)合函數(shù) f ( g ( z ) ) f(g(z)) f(g(z)) 。文章來源地址http://www.zghlxwxcb.cn/news/detail-491734.html

到了這里,關(guān)于MATLAB 符號(hào)表達(dá)式與運(yùn)算全面詳細(xì)講解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 正則表達(dá)式之ip地址匹配(詳細(xì)講解)

    正則表達(dá)式之ip地址匹配(詳細(xì)講解)

    在練習(xí)之前,需要大家知道一些基本知識(shí),如果有一定基礎(chǔ)的可以跳過該步驟,直接往下看。 正則表達(dá)式-字符類 正則表達(dá)式-邏輯運(yùn)算符 正則表達(dá)式-預(yù)定義字符 正則表達(dá)式-數(shù)量詞 題目要求:使用正則表達(dá)式匹配192.11.23.69 須知:ip地址的范圍為0.0.0.0-255.255.255.255 接下來我們直

    2024年01月17日
    瀏覽(24)
  • 初始C語言(6)——詳細(xì)講解表達(dá)式求值以及其易錯(cuò)點(diǎn)

    初始C語言(6)——詳細(xì)講解表達(dá)式求值以及其易錯(cuò)點(diǎn)

    ?第一章?“C“滸傳——初識(shí)C語言(1)(更適合初學(xué)者體質(zhì)哦?。??第二章?初始C語言(2)——詳細(xì)認(rèn)識(shí)分支語句和循環(huán)語句以及他們的易錯(cuò)點(diǎn)? ?第三章?初階C語言(3)——特別詳細(xì)地介紹函數(shù) ?第四章?初始C語言(4)——詳細(xì)地講解數(shù)組的內(nèi)容以及易錯(cuò)點(diǎn) ?第五章?初

    2024年02月12日
    瀏覽(17)
  • Golang通過棧實(shí)現(xiàn)表達(dá)式運(yùn)算(中綴表達(dá)式轉(zhuǎn)后綴表達(dá)式解析語法)

    需求背景:將string表達(dá)式數(shù)組 [title == AUSU ( header == Wecome || brand != AC68U )] 解析并使用ES查詢得到運(yùn)算結(jié)果。 分析:帶有括號(hào)的表達(dá)式,需要根據(jù)優(yōu)先級(jí)解析,可將中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式,去除括號(hào)

    2024年02月14日
    瀏覽(25)
  • qt lamda表達(dá)式及捕獲變量列表符號(hào)說明及示例

    最近發(fā)現(xiàn)很多人都喜歡用Lamda表達(dá)式了,至于他們到底知不知道自己用的是什么意思,那就另說了。 雖然我個(gè)人并不太喜歡,因?yàn)楹芏嗟胤經(jīng)]法像以前信號(hào)和槽那樣清晰了,而且很多生成UML的軟件估計(jì)也不支持解析轉(zhuǎn)成對(duì)應(yīng)的序列圖啥的。 但是這個(gè)lamda寫法確實(shí)挺方便的。用

    2024年02月12日
    瀏覽(11)
  • JS正則驗(yàn)證密碼 英文大小寫+數(shù)字+特殊符號(hào) 的表達(dá)式。

    我處理的密碼策略如下: 包括大寫字母、小寫字母、數(shù)字和符號(hào),這 4 種字符中的 3 種 可以使用四種類型的字符:大寫字母、小寫字母、數(shù)字和密碼。 字符數(shù)至少為 8位 使用的符號(hào)是“!@;:”(實(shí)際上,可以根據(jù)自己的情況來指定,我省略了它,因?yàn)樗勺儯?生成的正則

    2024年02月07日
    瀏覽(27)
  • Matlab錯(cuò)誤:表達(dá)式無效。請(qǐng)檢查缺失的乘法運(yùn)算符、缺失或不對(duì)稱的分隔符或者其他語法錯(cuò)誤。要構(gòu)造矩陣,請(qǐng)使用方括號(hào)而不是圓括號(hào)。

    Matlab錯(cuò)誤:表達(dá)式無效。請(qǐng)檢查缺失的乘法運(yùn)算符、缺失或不對(duì)稱的分隔符或者其他語法錯(cuò)誤。要構(gòu)造矩陣,請(qǐng)使用方括號(hào)而不是圓括號(hào)。

    錯(cuò)誤:表達(dá)式無效。請(qǐng)檢查缺失的乘法運(yùn)算符、缺失或不對(duì)稱的分隔符或者其他語法錯(cuò)誤。要構(gòu)造矩陣,請(qǐng)使用方括號(hào)而不是圓括號(hào)。 原因:選中了matlab右側(cè)工作區(qū)的變量空間,叉掉去即可。 ?

    2024年02月16日
    瀏覽(81)
  • c語言運(yùn)算符表達(dá)式

    c語言運(yùn)算符表達(dá)式

    算數(shù)運(yùn)算符: 用于各類數(shù)值運(yùn)算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運(yùn)算,%)、自增(++)、自減(–)共七種。 加加在后,先計(jì)算表達(dá)式的結(jié)果在計(jì)算變量的值 a++; 加加在前,先計(jì)算變量的值在進(jìn)行表達(dá)式的計(jì)算 ++a; int a=10; 將10賦值給整型變量a //a+=3;等同于 a=a+3;

    2024年02月08日
    瀏覽(28)
  • 運(yùn)算符、表達(dá)式和內(nèi)置對(duì)象

    運(yùn)算符、表達(dá)式和內(nèi)置對(duì)象

    一、實(shí)驗(yàn)?zāi)康?1.會(huì)使用IDLE編輯器編寫簡(jiǎn)單數(shù)據(jù)類型; 2.掌握常量、變量的表示方式和簡(jiǎn)單操作; 3.掌握Python語言中基本的輸入和輸出方法; 4.掌握Python語言的各種運(yùn)算符以及這些運(yùn)算符的表達(dá)式; 5.掌握字符串類型的格式化方法; 6.能綜合應(yīng)用所學(xué)基礎(chǔ)知識(shí)編寫一些基本的程

    2024年02月07日
    瀏覽(32)
  • 3.3 運(yùn)算符和表達(dá)式

    3.3 運(yùn)算符和表達(dá)式

    幾乎每一個(gè)程序都需要進(jìn)行運(yùn)算,對(duì)數(shù)據(jù)進(jìn)行加工處理,否則程序就沒有意義了。要進(jìn)行運(yùn)算,就需規(guī)定可以使用的運(yùn)算符。C語言的運(yùn)算符范圍很寬,把除了控制語句和輸入輸出以外幾乎所有的基本操作都作為運(yùn)算符處理,例如將賦值符“=”作為賦值運(yùn)算符、方括號(hào)作為下

    2024年02月11日
    瀏覽(28)
  • 1.4. 運(yùn)算符與表達(dá)式

    1.4. 運(yùn)算符與表達(dá)式

    在 Java 中,運(yùn)算符是用于執(zhí)行特定操作的符號(hào),而表達(dá)式是由變量、常量和運(yùn)算符組成的一段代碼,用于計(jì)算值。本節(jié)將介紹 Java 中的常用運(yùn)算符和表達(dá)式的使用。 1.4.1. 算術(shù)運(yùn)算符 Java 支持以下算術(shù)運(yùn)算符: 加法( + ) 減法( - ) 乘法( * ) 除法( / ) 取模(求余數(shù))(

    2024年02月06日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包