日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab绘制sign函数,MATLAB的Symbolic Math Toolbox详解

發布時間:2024/4/13 循环神经网络 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab绘制sign函数,MATLAB的Symbolic Math Toolbox详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MATLAB 符號數學工具箱

入門

創建符號數字,變量和表達式

創建符號數字

創建符號變量

創建符號表達式

重復使用符號對象名

創建符號函數

創建符號矩陣

使用存在的符號變量

創建矩陣的同時生成元素

創建元素為符號數字的矩陣

符號計算

符號表達式的微分

符號表達式的積分

解方程

化簡符號表達式

符號表達式中的替換

繪制符號函數

入門

創建符號數字,變量和表達式

下面將展示如何創建符號數字,變量和表達式。

創建符號數字

你可以使用sym創建符號數字。符號數字用精確的有理數表示。

通過sym創建符號數字并與相同的浮點數對比

sym(1/3)

1/3

ans =

1/3

ans =

0.333

符號結果不縮進,數值結果縮進。

符號計算的結果是精確的,而數值計算的結果是近似的。

sin(sym(pi))

sin(pi)

ans =

0

ans =

1.2246e-16

創建符號變量

你有兩種方法創建符號變量,分別是syms和sym。syms是sym的簡寫。

分別使用syms和sym創建符號變量x和y

syms x

y = sym('y')

第一條命令創建了一個值為x的符號變量x。第二條命令創建了一個值為y的符號變量y。

你可以使用syms在一條命令中創建多個變量

syms a b c

你也可以使用sym在一條命令中創建多個變量

A = sym('a', [1 20])

A =

[a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,...

a11, a12, a13, a14, a15, a16, a17, a18, a19, a20]

當你所創建的符號變量的變量名和變量值不相同時,或者要創建符號數字時,則要使用sym。

創建符號表達式

黃金比例

1 + 5 2 \frac{1+\sqrt{5}}{2}21+5??

使用下面這條命令即可用符號變量表示黃金比例

phi = (1 + sqrt(sym(5)))/2;

你可以對phi執行各種數學運算。例如

f = phi^2 - phi - 1

f =

(5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2

要創建符號表達式f = phi^2 - phi - 1,首先要創建符號變量a, b, c, 和 x:

syms a b c x

然后把表達式賦給f:

f = a*x^2 + b*x + c;

重復使用符號對象名

如果你設置了一個變量等于一個符號表達式,例如

syms a b

f = a + b

f =

a + b

接著輸入

syms f

f =

f

MATLAB則會清除符號表達式f的值a + b。

所以你可以使用syms命令清除原先賦給變量的值。

創建符號函數

使用syms創建自變量為x和y的函數f。創建符號函數f的同時會自動創建符號變量x和y

syms f(x,y)

把一個數學表達式賦給f

f(x,y) = x^2*y

f(x, y) =

x^2*y

找到函數f在點(3,2)的值

f(3,2)

ans =

18

符號函數同時也接受數組作為輸入

xVal = 1:5;

yVal = 3:7;

f(xVal,yVal)

ans =

[ 3, 16, 45, 96, 175]

你可以對符號函數進行微分,積分,化簡,用自變量本身作為輸入值,和其他數學運算。例如函數f對x求導

dfx = diff(f, x)

dfx(x,y) =

2*x*y

dfx也是一個符號函數

計算df(x,y)在點x = y + 1處的值

df(y+1,y)

ans =

2*y*(y + 1)

如果你想創建常函數,比如f(x,y) = 1,你可以首先創建f(x,y),然后再進行賦值

syms f(x,y)

f(x,y) = 1

f(x, y) =

1

如果不先創建符號函數f(x,y) 就直接進行賦值 f(x,y) = 1,則會拋出錯誤。

創建符號矩陣

使用存在的符號變量

創建一個其元素為a, b, c的循環矩陣

syms a b c

A = [a b c; c a b; b c a]

A =

[ a, b, c]

[ c, a, b]

[ b, c, a]

計算矩陣第一行元素的和

sum(A(1, : ))

ans =

a + b + c

使用isAlways函數,驗證第一行元素之和等于第二列元素之和

isAlways(sum(A(1, : )) == sum(A( : , 2)))

ans =

logical

1

創建矩陣的同時生成元素

sym函數使你在創建符號矩陣或向量時無需提前定義元素。sym函數在創建符號矩陣的元素的同時創建矩陣。創建一個元

素為A1_1, …, A2_4的2×4符號矩陣:

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

A =

[ A1_1, A1_2, A1_3, A1_4]

[ A2_1, A2_2, A2_3, A2_4]

可以在第一個參數中使用%d來控制矩陣元素的名字格式:

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

A =

[ A11, A12, A13, A14]

[ A21, A22, A23, A24]

創建元素為符號數字的矩陣

sym函數的一個特別有用的功能是把數值矩陣轉換為符號矩陣。

產生一個3×3希爾伯特矩陣

A = hilb(3)

A =

1.0000 0.5000 0.3333

0.5000 0.3333 0.2500

0.3333 0.2500 0.2000

函數sym作用于A后,可得到一個精確的3×3希爾伯特符號矩陣

A = sym(A)

A =

[ 1, 1/2, 1/3]

[ 1/2, 1/3, 1/4]

[ 1/3, 1/4, 1/5]

符號計算

符號表達式的微分

1. 單變量表達式求導

使用函數diff對符號表達式求導:

syms x

f = sin(x)^2;

diff(f)

ans =

2*cos(x)*sin(x)

2. 偏導數

對于多變量符號表達式,你可以指定對哪個變量進行求導。如果你沒有指定任何變量,MATLAB將選

擇距離字母x最近的變量進行求導:

syms x y

f = sin(x)^2 + cos(y)^2;

ans =

2*cos(x)*sin(x)

符號表達式f對變量y的偏導數:

syms x y

f = sin(x)^2 + cos(y)^2;

diff(f, y)

ans =

-2*cos(y)*sin(y)

3. 二階偏導數和混合求導

符號表達式f對變量y的二階偏導數:

syms x y

f = sin(x)^2 + cos(y)^2

diff(f, y, 2)

ans =

2*sin(y)^2 - 2*cos(y)^2

執行 diff(diff(f, y)) 可以得到相同的結果。

混合求導:

syms x y

f = sin(x)^2 + cos(y)^2;

diff(diff(f, y), x)

ans =

0

符號表達式的積分

1. 單變量符號表達式的不定積分

syms x

f = sin(x)^2;

int(f)

ans =

x/2 - sin(2*x)/4

2. 多變量符號表達式的不定積分

syms x y n

f = x^n + y^n;

int(f)

ans =

x*y^n + (x*x^n)/(n + 1)

符號表達式f也可以對變量y進行積分:

syms x y n

f = x^n + y^n;

int(f, y)

ans =

x^n*y + (y*y^n)/(n + 1)

同理,f對變量n進行積分

syms x y n

f = x^n + y^n;

int(f, n)

ans =

x^n/log(x) + y^n/log(y)

3. 定積分

函數int的最后兩個參數用于指定積分上下限(倒數第二個參數指定積分下限,最后一個參數指定積分

上限)

syms x y n

f = x^n + y^n;

int(f, 1, 10)

ans =

piecewise(n == -1, log(10) + 9/y, n ~= -1,...

(10*10^n - 1)/(n + 1) + 9*y^n)

3. 如果MATLAB無法找到積分的閉合形式

如果函數int無法計算出積分,它將返回一個未經處理的積分

syms x

int(sin(sinh(x)))

ans =

int(sin(sinh(x)), x)

解方程

1. 解一元方程

用 == 定義一個方程

syms x

solve(x^3 - 6*x^2 == 6 - 11*x)

ans =

1

2

3

如果不指定方程右半部分,函數solve將假定它為0:

syms x

solve(x^3 - 6*x^2 + 11*x - 6)

ans =

1

2

3

2. 解包含多個元的方程

syms x y

solve(6*x^2 - 6*x^2*y + x*y^2 - x*y + y^3 - y^2 == 0, y)

ans =

1

2*x

-3*x

如果你不指定任何變量,MATLAB將選擇距離字母x最近的變量。

3. 解方程組

syms x y z

[x, y, z] = solve(z == 4*x, x == y, z == x^2 + y^2)

x =

0

2

y =

0

2

z =

0

8

化簡符號表達式

符號數學工具箱提供了一套化簡函數供你去操作符號表達式。

phi = (1 + sqrt(sym(5)))/2;

f = phi^2 - phi - 1

f =

(5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2

你可以通過函數simplify化簡這個答案

simplify(f)

ans =

0

注:本小節未完待續

符號表達式中的替換

注:本小節未完待續

繪制符號函數

符號數學工具箱提供的繪圖函數:

- fplot用來在二維笛卡爾坐標系上繪制符號表達式,方程或者函數。

- fplot3用來繪制3D圖形

- fsurf用來繪制曲面圖

1. 繪制顯函數

使用fplot在二維坐標系上繪制表達式x3-6x2+11x-6

syms x

f = x^3 - 6*x^2 + 11*x - 6;

fplot(f)

給x軸和y軸添加標簽。使用texlabel(f)生成標題。使用grid on顯示網格。

xlabel('x')

ylabel('y')

title(texlabel(f))

grid on

2. 繪制隱函數

使用fimplicit繪制方程和隱函數。

繪制方程(x2+y2)4=(x2-y2)2,其中-1syms x y

eqn = (x^2 + y^2)^4 == (x^2 - y^2)^2;

fimplicit(eqn, [-1 1])

3. 3D繪制

使用fplot3繪制3D參數線。

繪制參數線

x = t2sin(10t)

y = t2cos(10t)

z = t

syms t

fplot3(t^2*sin(10*t), t^2*cos(10*t), t)

4. 繪制曲面圖

使用fsurf繪制3D曲面圖。

繪制拋物面z = x2 + y2。

syms x y

fsurf(x^2 + y^2)

總結

以上是生活随笔為你收集整理的matlab绘制sign函数,MATLAB的Symbolic Math Toolbox详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。