MATLAB自定義函式 計算三元函式向量符號微分

2021-10-06 04:53:48 字數 872 閱讀 7126

最近在學電動力學,要手算各種向量微分,耗時又易錯。為此,我編寫了matlab符號運算向量微分的函式,用matlab算微分,省了很多精力。這裡分享給大家。

舉例:1、在笛卡爾座標系下求 u(x

,y,z

)=x+

2y+3

zu(x,y,z) =x+2y+3z

u(x,y,

z)=x

+2y+

3z的梯度

輸入:

clc;clear;

syms x y zvd(

1*x+

2*y+

3*z,

[x y z]

,'g'

,'car'

)

輸出:

ans =[1

,2,3

]

2、在球座標系下求 u⃗(

r,θ,

ϕ)=r

2r

^\vec(r,\theta,\phi)=r^2\hat

u(r,θ,

ϕ)=r

2r^ 的散度

輸入:

clc;clear;

syms r the phi

u=[r^2,

0,0]

;% u是向量函式,寫成三個分量的形式。注意這三個分量必須對應於該座標系,不一定是x,y,z分量。

vd(u,

[r,the,phi]

,'d'

,'sph'

)% 即使表示式中沒有出現the和phi,也要補全在vd函式裡。

輸出:

ans =

4*r

(m檔案中有英文說明)

Matlab 自定義函式擬合

randomaccess j0237 2 reference basketballpass,bqsqare,blowingbubbles,racehorses,close all clear all rd 1507.09 40.64 755.76 36.89 376.83 33.56 196.96 ...

matlab學習 matlab自定義函式的編寫

判斷乙個數是否為素數 function p myprime a for i 2 a 1if 0 rem a,i p 0 break elseif i a 1 p 1 endend 測試 clc n input 請輸入乙個數 res myprime n if res 1disp 是素數 else di...

Matlab自定義初始化函式

有時候,有些輸出的初始化不能在模型中直接設定,這時候可以通過設定模型引數配置。開啟 configuration parameters code generation custom code 選項卡,在右側的上半部分 insert custom c code in generated 選項卡裡選擇 i...