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

歡迎訪問 生活随笔!

生活随笔

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

循环神经网络

matlab radsimp,[转载]MATLAB学习笔记(八)

發布時間:2023/12/2 循环神经网络 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab radsimp,[转载]MATLAB学习笔记(八) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

符號運算

符號運算分為以下幾類:

符號表達式和符號矩陣的操作整體定義為

符號微積分

符號線性方程

符號微分方程

A、符號變量、符號表達式和符號方程的分解

一、 生成符號變量要使用sym和syms:

使用sym函數可以定義符號表達式,此時有兩種定義方法:

1、使用sym函數將表達式中的每一個變量定義為符號變量;

2、使用sym函數將表達式整體定義為符號變量(但并沒有將式子中的變量也定義為符號變量);

方式一的應用舉例:

>> a=sym('a');

>>

b=sym('b');

>>

c=sym('c');

>>

x=sym('x');

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

f

=

a*x^2 + c +

b*c

方式二的應用舉例:

>>

f=sym('a*x^2+b*c+c')

f

=

a*x^2 + c +

b*c

>>

g=f^2+4*f-2

g

=

4*c + 4*b*c + 4*a*x^2

+ (a*x^2 + c + b*c)^2 - 2

一、使用syms函數定義符號變量和符號表達式

Syms函數的功能比sym函數的功能更為強大,它可以一次創建多個符號變量;而且,使用的格式很簡單:(即將sym函數進行系統化,對變量進行統一的轉化)

Syms var1 var2 var3

………

應用實例:

>> syms a b c x

>>

f=sym('a*x^2+b*x+c')

f

=

a*x^2 + b*x +

c

>>

g=f^2+4*f-2

g

=

4*c + 4*b*x + 4*a*x^2

+ (a*x^2 + b*x + c)^2 - 2

三、符號方程的生成

方程與函數的區別在于一個有數字和變量組成的表達式,而方程則是由函數和等號組成的等式;

應用實例:

>> %符號方程的生成

>> %使用是sym函數生成符號方程

>>

fch=sym('sin(x)+cos(x)=1')

fch =

cos(x) + sin(x) =

1

B、符號變量的基本操作

一、findsym函數用于尋找符號變量

Fundsym函數用于尋找一個變量表達式中存在的符號變量,

實例應用:

>> syms x n

>> f=sym('x^n')

f

=

x^n

>>

syms a b t

>> g=sym('a*t+b')

g

=

b

+ a*t

>>

findsym(f)

ans

=

n,x

>> findsym(g)

ans

=

a,b,t

二、任意精度的符號表達式

MATLAB提高了digits和vpaliang函數來實現任意精度的符號運算

(1)、digits函數設定所使用的精度

單獨使用digits命令將在‘命令’窗口中顯示當前設定的精度值;

Digits(D)命令用于設定數值的精確度為D;

D=digits命令也是用于“命令”窗口中返回當前設定的數值精度;

(2)、vpa函數進行可控精度運算

R=vpa(s)命令用于將顯示符號表達式s在當前精度D下的值,其中D是使用digits函數設定的精度值

Vpa(S,D)命令用于顯示s值在當前精度D下的值;

應用實例:

>> digits

Digits = 32

>>

a=vpa(pi)

a

=

3.1415926535897931159979634685442

>>

b=vpa(pi,100)

b

=

3.141592653589793115997963468544185161590576171875

>>

digits(100)

>> b=vpa(pi,100)

b

=

3.141592653589793115997963468544185161590576171875

三、數值型變量與符號型變量的轉換形式

對于任意數值型變量t,使用sym函數可以將其轉換為4種形式的符號變量,分別為有理數形式:sym(t)或、sym(t,‘r’)

、浮點型sym(t,‘f’)

、指數型sym(t,‘e’)

、數值精度形式sym(t,‘d’)

應用實例:

>> t=0.01

t

=

0.0100

>> sym(t)

%有理數形式

ans =

1/100

>>

sym(t,'r')

%有理數形式

ans =

1/100

>>

sym(t,'f')

%浮點型形式

ans =

5764607523034235/576460752303423488

>>

sym(t,'e') %指數型形式

ans =

eps/1067 +

1/100

>>

sym(t,'d')

%數值精度形式

ans =

0.01000000000000000020816681711721685132943093776702880859375

使用如上所述的方法可以將數值型矩陣轉換符號型矩陣,注意此時只能將其轉換為有理數形式;

>> A=hilb(4)

A

=

1.0000

0.5000

0.3333

0.2500

0.5000

0.3333

0.2500

0.2000

0.3333

0.2500

0.2000

0.1667

0.2500

0.2000

0.1667

0.1429

>> A=sym(A)

%將矩陣中的每一個元素轉換為有理數形式

A

=

[ 1,

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

[ 1/2,

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

[ 1/3,

1/4, 1/5, 1/6]

[ 1/4,

1/5, 1/6, 1/7]

C、符號表達式的操作

操作共包括:四則運算、合并同類型、多項式分解和簡化

一、四則運算:

符號表達式的四則運算與通常的算術運算式一樣,可以進行四則運算:

實例應用:

>> syms x y a b

>>

fun1=sin(x)+cos(x)

fun1 =

cos(x) +

sin(x)

>> fun2=a+b

fun2

=

a

+ b

>>

fun1+fun2

ans =

a

+ b + cos(x) + sin(x)

>>

fun1*fun2

ans =

(a

+ b)*(cos(x) + sin(x))

二、合并同類項

在MATlab中,使用collect函數來合并同類項,其使用格式如下:

Collect(S,V)命令用于將符號矩陣S中所有同類項合并,并以v為符號變量輸出;

Collect(s)命令使用findsym函數規定的默認變量代替上式中的V;

應用實例:

>> syms x y

>>

collect(x^2*y+y*x-x^2-2*x)%此處默認x為符號變量

ans =

(y

- 1)*x^2 + (y - 2)*x

>>

collect(x^2*y+y*x-x^2-2*x,y)%此處修改為以y為符號變量

ans =

(x^2 + x)*y - x^2 -

2*x

>>

f=-1/4*x*exp(-2*x)+3/16*exp(-2*x);

>> collect(f)

ans =

(-1/(4*exp(2*x)))*x +

3/(16*exp(2*x))

使用horner函數進行多項式的因式分解

應用實例:

>> syms x

>>

fun1=3*x^3+5*x^2-14*x-26

fun1 =

3*x^3 + 5*x^2 - 14*x -

26

>>

horner(fun1)

ans = x*(x*(3*x + 5) -

14) - 26

四、符號多項式的簡化

在MATLAB 7語言中,使用simplify函數和simple函數進行符號表達式的簡化;

A、simplify函數的使用:

Simplify(S)命令將符號表達式S中的每一個元素進行簡化,缺點是:即使多次使用simplify函數也不一定得道最簡形式

用simple函數進行表達式簡化得到的結果要比simplify函數得到的結果更加簡化和合理,使用格式如下:

Simple(S)命令用于多種代數簡化方法對符號表達式S進行簡化,并顯示其中最簡化的結果;

[R,how]=simple(S)命令在返回最簡單的結果的同時,返回一個描述簡化方法的字符串how

應用實例:

>> syms x

>>

fun1=(1/x+5/x^2+9/x+2)^(1/4)

fun1 =

(10/x + 5/x^2 +

2)^(1/4)

>>

sfy1=simplify(fun1)

sfy1 =

((10*x + 5)/x^2 +

2)^(1/4)

>>

sfy2=simplify(sfy1)

sfy2 =

((10*x + 5)/x^2 +

2)^(1/4)

>>

simplify(sin(x)^2+cos(x)^2)

ans =

1

>>

s=2*cos(x)^2-sin(x)^2;

>> simple(s)

simplify:

2

- 3*sin(x)^2

radsimp:

2*cos(x)^2 -

sin(x)^2

simplify(100):

3*cos(x)^2 -

1

combine(sincos):

(3*cos(2*x))/2 +

1/2

combine(sinhcosh):

2*cos(x)^2 -

sin(x)^2

combine(ln):

2*cos(x)^2 -

sin(x)^2

factor:

2*cos(x)^2 -

sin(x)^2

expand:

2*cos(x)^2 -

sin(x)^2

combine:

2*cos(x)^2 -

sin(x)^2

rewrite(exp):

2*((1/exp(x*i))/2 +

exp(x*i)/2)^2 - (1/2*i*exp(i*x) - 1/2*i*exp(-i*x))^2

rewrite(sincos):

2*cos(x)^2 -

sin(x)^2

rewrite(sinhcosh):

2*cosh(-x*i)^2 +

sinh(-x*i)^2

rewrite(tan):

(2*(tan(x/2)^2 -

1)^2)/(tan(x/2)^2 + 1)^2 - (4*tan(x/2)^2)/(tan(x/2)^2 +

1)^2

mwcos2sin:

2

- 3*sin(x)^2

collect(x):

2*cos(x)^2 -

sin(x)^2

ans =

2

- 3*sin(x)^2

>>

[r,how]=simple(s)

r

=

2

- 3*sin(x)^2

how =

simplify

C、subs函數用于替換求值

使用subs函數可以將符號表達式中的字符型變量用數值型變量替換,格式如下:

Subs(s)命令用于將符號表達式中的所有符號變量用調用函數中的值或是MATLAB 7工作區間的值代替;

Subs(s,new)命令將符號表達式s中的自由符號變量用數值型變量或表達式new替換;

Subs(s,old,new)命令將符號變量s中的符號變量old用數值型變量或表達式new替換

應用實例:

>> syms x y

>>

f=x^2*y+3*x*sqrt(y)

f

=

x^2*y +

3*x*y^(1/2)

>>

subs(f,x,5)

ans =

25*y +

15*y^(1/2)

>>

subs(f)

ans =

x^2*y +

3*x*y^(1/2)

>>

subs(f,y,5)

ans =

5*x^2 +

3*5^(1/2)*x

>> findsym(f,1) %符號表達式f中系統默認的符號變量

ans

=

x

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的matlab radsimp,[转载]MATLAB学习笔记(八)的全部內容,希望文章能夠幫你解決所遇到的問題。

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