可以調用 diff 函數求導。
目前累計服務客戶上千多家,積累了豐富的產品開發及服務經驗。以網站設計水平和技術實力,樹立企業形象,為客戶提供成都做網站、成都網站設計、網站策劃、網頁設計、網絡營銷、VI設計、網站改版、漏洞修補等服務。創新互聯始終以務實、誠信為根本,不斷創新和提高建站品質,通過對領先技術的掌握、對創意設計的研究、對客戶形象的視覺傳遞、對應用系統的結合,為客戶提供更好的一站式互聯網解決方案,攜手廣大客戶,共同發展進步。
舉例說明:
先定義符號 x、y 以及符號二元函數表達式 z,然后調用 diff 函數求偏導,代碼如下:
clc;clear;
syms x y
z=x^2+y^2+exp(x*y);
z_x=diff(z,x,1)
z_y=diff(z,y,1)
z_x2=diff(z,x,2)
z_y2=diff(z,y,2)
z_xy=diff(z,x,y)
結果如下:
z_x =
2*x + y*exp(x*y)
z_y =
2*y + x*exp(x*y)
z_x2 =
y^2*exp(x*y) + 2
z_y2 =
x^2*exp(x*y) + 2
z_xy =
exp(x*y) + x*y*exp(x*y)
圖中調用了5次diff函數,分別計算了 z 對 x 的一階偏導,z 對 y 的一階偏導,z 對 x 的二階偏導,z 對 y 的二階偏導,以及 z 對 x,y 都求一次偏導。
例子中所用的調用格式為: diff(f,var,n)
f 為符號表達式,也可以是符號函數(這個數據類型低版本的matlab沒有)。n 為求導次數,缺省為1。var 為求導的符號變量,可以缺?。╩atlab會根據表達式自己選擇一個),但不建議缺省,除非表達式只含有一個符號變量。
此外,matlab還允許 diff(f,n,var)與 diff(S,v1,v2,...,vn)的調用形式。
diff(f,v1,v2,...,vn) 會把表達式 f 對變量 v1,v2 等 n 個變量都求一次偏導,得到 f 的 n 階偏導。
matlab求偏導步驟如下。
1、第一步,雙擊打開matlab。
2、第二步,定義兩個變量a、b,在窗口中輸入代碼:syms a b。
3、第三步,定義一個多元函數用于求偏導數,輸入代碼:f=exp(a)*exp(b),即f=a^2*b^2。
4、第四步,分別對a、b求解偏導數,輸入兩行代碼:dfa=diff(f,a)和dfb=diff(f,b)。
5、第五步,查看兩個偏導數的圖像,
輸入代碼:subplot(2,2,1:2),ezsurf(f),subplot(223),ezsurf(dfa),subplot(224),ezsurf(dfb)。
6、第六步,點擊運行,選擇本地磁盤的位置保存程序(注意文件名需要用因為開頭且不能有中文)。
7、第七步,再次點擊運行查看該函數的偏導求解圖像如下:
題名:科學與工程數值算法-Java版
作者:丁軍, 楊麗麗
出版社:清華大學出版社,2003
這本書挺好的,是去年我學《數值分析》的法寶。上面有微分方程的數值算法代碼,推薦參考一下
如何用matlab進行多元函數偏導數計算
可以調用 diff 函數求導。
舉例說明:
先定義符號 x、y 以及符號二元函數表達式 z,然后調用 diff 函數求偏導,代碼如下:
clc;clear;
syms x y
z=x^2+y^2+exp(x*y);
z_x=diff(z,x,1)
z_y=diff(z,y,1)
z_x2=diff(z,x,2)
z_y2=diff(z,y,2)
z_xy=diff(z,x,y)
結果如下:
z_x =
2*x + y*exp(x*y)
z_y =
2*y + x*exp(x*y)
z_x2 =
y^2*exp(x*y) + 2
z_y2 =
x^2*exp(x*y) + 2
z_xy =
exp(x*y) + x*y*exp(x*y)
把
for?i?=?2:100
a(i)=1;??%a2=a3=a4=...=a_num=1?
end
改成
for?i?=?2:100
eval(['a',num2str(i)?'=1;'])
end
你原來的寫法是把數組a的第2到第100個元素(即a(2)-a(100))賦值為1,而符號變量a2-a100仍然存在。
網站欄目:偏導數java代碼 c語言求偏導數代碼
網站URL:http://m.kartarina.com/article40/hgjdeo.html
成都網站建設公司_創新互聯,為您提供靜態網站、網站制作、企業網站制作、云服務器、動態網站、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯