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

歡迎訪問 生活随笔!

生活随笔

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

循环神经网络

matlab ignoreanalyticconstraints,MATLAB函数随笔之计算篇

發布時間:2023/12/18 循环神经网络 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab ignoreanalyticconstraints,MATLAB函数随笔之计算篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:這些都是我在學習MATLAB與數學建模時遇到的一些常用函數,就在這里寫了下。當然MATLAB十分強大,函數眾多,這些只是鳳毛麟角,這篇博客我也會一直更新有新的函數就接著寫上,希望對大家有所幫助。

前言:這些都是我在學習MATLAB與數學建模時遇到的一些常用函數,就在這里寫了下。當然MATLAB十分強大,函數眾多,這些只是鳳毛麟角,這篇博客我也會一直更新有新的函數就接著寫上,希望對大家有所幫助。有不足之處還望指出。

這里是MATLAB畫圖篇。

數值計算篇

1. 微分方程

解上式x(t)=?

x=dsolve("Dx=r*x*(1-x/m)","x(0)=x0","t")

x =

-m/(exp(log(1 - m/x0) - r*t) - 1)

上面化簡一下就是下面這個

解這個微分方程

求出sym來不要慌,s.x就能給結果了,注意這里是s=,要是ans就是ans.x

本題來源B站大仙一品堂

無約束問題的MATLAB解法

2. 無約束極值問題的符號解

求多元函數f(x,y)=x3?y3+3?x2+3?y3?9?xf(x,y)=x^3-y^3+3*x^2+3*y^3-9*xf(x,y)=x3?y3+3?x2+3?y3?9?x的極值

具體為啥這樣算,都是高數上的知識

clear

syms x y

% x=-100:100;

% y=-100:100;

f=x.^3-y.^3+3*x.^2+3*y.^2-9*x;

% plot3(x,y,z)

df = jacobian(f);%各求一階偏導數

d2f = jacobian(df);%號求Hessian陣

[xx,yy] =solve(df) %求駐點

xx = double( xx) ;yy = double(yy);%名轉化成雙精度浮點型數據,下面判斷特征值的正負須是數值型數據

for i =1: length( xx)

a=subs(d2f,{x,y},{xx(i),yy(i)});

b=eig(a);%名求矩陣的特征值

f =subs( f,{x,y},{xx(i),yy(i)});

f = double( f);

if all(b>0)

fprintf("(% f,%f)是極小值點,對應的極小值為 %f\n" ,xx(i),yy(i),f);

elseif all(b<0 )

fprintf("(% f,% f)是極大值點,對應的極大值為%f\n" ,xx(i),yy(i),f);

elseif any(b>0) && any(b<0)

fprintf("(% f,%f)不是極值點\n" ,xx(i),yy(i));

else

fprintf("無法判斷(% f,% f)是否是極值點\n",xx(i),yy(i));

end

i=i+1;

end

3.無約束極值問題的數值解

fminunc 找到指定問題的最小值,minxf(x) ,其中f(x)是一個返回一個標量的函數,x是一個向量或者矩陣。

fminsearch 從x0開始,找到函數fun中的局部最小值x,x0可以是標量,向量,矩陣。

求sin(x)+3sin(x)+3sin(x)+3在4附近的極小值。

clear

f=@(x) sin(x)+3;

[x,y]=fminsearch(f,4)

clc, clear

f=@ (x) x(1)^3 -x(2)^3 +3 *x(1)^2 +3 *x(2)^2 -9 *x(1) ;

g=@ (x) - f(x);

[xy1,z1] = fminunc( f, rand(2,1))%求極小值點

[xy2 ,z2] = fminsearch(g,rand(2,1));%求極大值點

xy2,z2=-z2

xy1 =

1.0000

-0.0000

z1 =

-5.0000

xy2 =

-3.0000

2.0000

ans =

31.0000

可以看到,在(1,0)取得極小值 -5,在(-3,2)取得極大值 31。

4.求函數的零點和方程組的解

求f(x)=x3?x2+5?x?3f(x)=x^3-x^2+5*x-3f(x)=x3?x2+5?x?3的零點.

xishu=[1 -1 2 -3];

roots(xishu)

ans =

-0.1378 + 1.5273i

-0.1378 - 1.5273i

1.2757 + 0.0000i

求方程組的解

syms x y

[x,y]=solve(x^2+y-6,y^2+x-6)

x =

2

-3

21^(1/2)/2 + 1/2

1/2 - 21^(1/2)/2

y =

2

-3

1/2 - 21^(1/2)/2

21^(1/2)/2 + 1/2

函數化簡

(1/x3+6/x2+12/x+8)(1/3)(1/x^3+6/x^2+12/x+8)^{(1/3)}(1/x3+6/x2+12/x+8)(1/3)

syms x

f=(1/x^3+6/x^2+12/x+8)^(1/3)

r1=simplify(f)%((2*x + 1)^3/x^3)^(1/3)

% "Steps",默認是1,設置值可以去任意整數,表示化簡的輪次

%"IgnoreAnalyticConstraints",默認是false,如果為true,只考慮純粹的化簡,而不顧及“非完全等價”的可能

r2=simplify(f,"Steps",10,"IgnoreAnalyticConstraints",true)%1/x + 2

求極限

sin(t?k)/(t?k),(1?1/x)(k?x)sin(t*k)/(t*k),(1-1/x)^{(k*x)}sin(t?k)/(t?k),(1?1/x)(k?x)

syms t x k

g=sin(t*k)/(t*k);

f=(1-1/x)^(k*x);

symvar(g,1)%這個是看一下我們的自由變量是啥 是t

lig=limit(g,0)% t趨近于0時的值

lig1=subs(lig,k,1) % subs是把t替換成1

lif=limit(f,x,inf)

lif1=subs(lif,k,-1)

lif2=vpa(subs(lif,k,-1),48)%vpa是精度,精確到小數點后48位

求導

普通求導:sin(∣x∣)sin(|x|)sin(∣x∣)

abs()是求絕對值,

Y = sign(x) 返回與 x 大小相同的數組 Y,其中 Y 的每個元素是:

1,前提是 x 的對應元素大于 0。

0,前提是 x 的對應元素等于 0。

-1,前提是 x 的對應元素小于 0。

x./abs(x),前提是 x 為復數。

clear

syms x

x=[-4:0.1:4];

f=sin(abs(x));

d=diff(f)

y=cos(abs(x)).*sign(x);%這里復制了下d

plot(x,y)%這里plot(x,y),y必須重新定義,不能用前面算出來的d

d1 =

cos(abs(x))*sign(x)

隱函數求導

泰勒級數展開

syms x

r5=taylor(x*exp(x))%默認是6級

r8=taylor(x*exp(x),"Order",8)%這是8級

pretty(r8)%pretty展開多項式的易讀格式

有限/無限級數之和.

syms n k

f=1/(k*(k+1))

d1=symsum(f,k,1,inf)

d2=symsum(f,k,1,n)

d1 =

1

d2 =

n/(n + 1)

積分

普通積分

int(x^2)

多重積分

∫12∫xx2∫x?yx2yx2+y2+z2dzdydx\int_{1}^{2}\int_{\sqrt{x}}^{x^2}\int_{\sqrt{x*y}}^{x^2y}x^2+y^2+z^2dzdydx∫12?∫x?x2?∫x?y?x2y?x2+y2+z2dzdydx

clear

syms x y z

f=int(int(int(x^2+y^2+z^2,z,sqrt(x*y),x^2*y),y,sqrt(x),x^2),x,1,2)

vpa(f)

符號計算篇

1. 隱函數化簡求解

(1)、

上式化簡為下式

syms t r i

t=solve(1== ((1-i)/i)*exp(-r*t),t)

t =

-log(-i/(i - 1))/r

化簡下面函數

syms b d v1 v2 v3 v4

[v3,v4]=solve(b*v1+d*v2==b*v3+d*v4,b*v1^2+d*v2^2==b*v3^2+d*v4^2,v3,v4)

v3 =

(b*v1 - d*v1 + 2*d*v2)/(b + d)

v4 =

(2*b*v1 - b*v2 + d*v2)/(b + d)

用符號法求解

u?w2+z?w2=vu*w^2+z*w^2=vu?w2+z?w2=v

代碼很簡單,自己運行看結果吧,建議用實時腳本來運行

clear

syms u v w z

E=u*w^2+z*w^2-v

g(z)=u*w^2+z*w^2==v

symvar(E,1)%后面不帶數字1的話是給出所有的參數符號,1是最前面那個,也就是我們要求的參數

symvar(g(z),1)

r1=solve(E)

r2=solve(g(z))

s1=solve(E,z)

s2=solve(g(z),z)

ans=simplify(subs(E,z,s1))%subs就是把s1換成z

ans1=simplify(g(s2))

微分方程

求通解和奇解

圖示微分方y=xy′?(y′)2y=xy"-(y")^2y=xy′?(y′)2的通解和奇解。

(與原微分方程的每一個解都相切的曲線的方程叫奇解)

clear all

y=dsolve("(Dy)^2-x*Dy+y=0","x")%求解,得到一個通解,一個奇解

%%

hold on

hy1=ezplot(y(2),[-6,6,-4,8],1);%奇解的圖像

set(hy1,"Color","r","LineWidth",2)

%%

Sv=symvar(y(1));%自動辨認基本符號變量(不定常數符號)

for k=-2:0.5:2%畫通解,給基本符號變量賦不同的值

y2=subs(y(1),Sv(1),k);

ezplot(y2,[-6,6,-4,8],1)

end

hold off

box on

legend("奇解","通解","Location","Best")

ylabel("y")

title(["\fontsize{14}微分方程"," (y "")^2 – xy "" + y = 0 ","的解"])

求反函數

求y=f(x)=1?21+exy=f(x)=1-\frac{2}{1+e^x}y=f(x)=1?1+ex2?

clc,clear

%% 求原函數積分,并作圖

syms x y real

f(x)=1-2/(1+exp(x));%原函數

fint(x)=int(f,x,0,x)%原函數求積分

xk=0:0.1:2;

plot(xk,f(xk),"g",xk,fint(xk))%原函數以及積分函數圖像

title("原函數及其積分函數")

legend("f(x)","\int^x_0 f(x)dx","Location","best")

%%求反函數

g(y)=subs(finverse(f),x,y)%求反函數

gint(y)=int(g,y,0,y)%對反函數積分

gf=g(f(x))%驗證

fg=f(g(y))

其他函數篇

3. unifrnd生成(連續)均勻分布的隨機數

x=unifrnd(0,12,[1,10]);

y=1:10;

plot(y,x,"*")

x生成了[0,12]內的十個隨機數

以上信息來源于網絡,如有侵權,請聯系站長刪除。

總結

以上是生活随笔為你收集整理的matlab ignoreanalyticconstraints,MATLAB函数随笔之计算篇的全部內容,希望文章能夠幫你解決所遇到的問題。

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