找回密码
 注册
关于网站域名变更的通知
查看: 528|回复: 1
打印 上一主题 下一主题

matlab实现隐函数求偏导数(impldiff函数)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-1-27 09:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
8 k7 m0 u, Z9 h  `- d& _
目录
7 A; y7 w+ c6 i, e, ]) S3 Q3 _& d+ @总述
  S# S2 _4 B  Q' w/ a" p# s- q函数说明+ o* Y% m7 h) G
应用举例1 M, ^6 E+ ]% h( O
例1  C7 Z% P! ]& }/ o
例2
4 |; Y  }, Z1 e2 r函数实现9 {+ k! r* i& j# t
' @3 }4 s3 F) |1 k$ |7 ~7 q) I4 n
总述" \( M" z0 ^3 d9 d
2 F" L. b5 ]1 f

, D- O6 U8 A; r# M$ ~. U
" X( O8 N( c2 C& t. r) r
  H; |- i/ [4 h  ? $ Y, I9 m9 n4 H& c

' J' e" Y  h( w! J  {由前面给出的算法,可以编写出如下函数来求解隐函数的偏导数。
- h. z0 `6 y$ K9 \' [
6 c. k' n; @. a4 |函数说明
- O; D# |" _/ Rfunction dy = impldiff(f, x, y, n)' s3 T! m/ ]- J  g6 k
%impldiff5 |, a, D. t$ A
%隐函数求导
& P- \: `  s0 I% q4 }7 O, F" E2 _; W%  调用格式:
! E4 ^2 e3 X# f7 Z) x  J% P%    f1 = impldiff(f, x, y, n)+ _. x6 _( l  l# X
%  其中:f=f(x,y), n为导数阶次
1 w* T* S* @7 G9 }3 a6 K6 a/ W6 a%  注意:该函数求解后有时需要手工化简
* }$ `5 t( R& z: T9 l%
( D7 H( O  N" y% Examples:
4 w9 K( Y8 c! J  D7 L& v%  已知二元隐函数 z=f(x,y),求该函数的偏导数。2 D/ T& ~2 c- x! n9 x& l
% MATLAB求解语句:
3 O8 ]% r; m3 z2 e, l/ J% Q%  syms x y
& v" D! V5 _- J# q/ {& W%  f=(x^2-2*x)*exp(-x^2-y^2-x*y)5 D9 V$ o4 n0 N
%  F1=impldiff(f,x,y,1)  % 1阶( B/ _5 h6 B8 y5 {5 L, f5 n
%  F2=impldiff(f,x,y,2)  % 2阶; X, j( c" q( E, h* q( s. z
%  F3=impldiff(f,x,y,3); % 3阶$ @" J/ y; C4 ?; T6 U: X* p
0 b+ l& c0 A  c( u

2 D3 U# B3 E% i" i" N, A' \应用举例- [  g7 s  E8 w
例1/ t3 f% c. P) l7 O& \* y- t
问题: 已知二元隐函数 , 求该函数的偏导数。
: Q, j/ }3 d! p; p) m, Q8 _
6 f1 V2 a; `* X5 @代码如下:
, Z4 ~. z0 I8 _. {9 Y
- t( F# C) P( M( T. p  Lsyms x y/ J. ~1 J7 k, M1 ?: [7 Q
f  = (x^2-2*x)*exp(-x^2-y^2-x*y)
2 z: I; a3 Y( W4 dF1 = impldiff(f,x,y,1)  % 1阶
7 L: [. F+ X! I, C1 o. ]F2 = impldiff(f,x,y,2)  % 2阶
! E$ h1 W) s9 MF3 = impldiff(f,x,y,3); % 3阶
& }( E& `' v  w8 z[n,d]=numden(F3); n=simplify(n); F3=n/d  % 化简3 C+ f; ]( d4 W4 g/ I
* U* E; ]6 [8 g

1 h: [4 f  \' z9 I8 B例2+ Y& g: O% \# D1 q% ]8 x7 Q& @7 j9 P
问题: 已知二元隐函数 , 求该函数的偏导数。
2 Y/ P" I% ~# B1 A  \2 L% h2 C5 k" w& j7 \7 u9 j, u( e
代码如下:. a  o, \0 m" _: Y" v7 M
3 F" i& e; j) P( ^! q( a+ \
syms x y;
) d! h) ~! \% P6 ^* [f=x^2+x*y+y^2-3; 4 {( h2 Z1 L& Y; e( _9 y% O& T
f1=impldiff(f,x,y,1); F1=subs(f1,x^2+x*y+y^2,3)
$ D% T! @( k3 ?8 H- Rf2=impldiff(f,x,y,2); F2=subs(f2,x^2+x*y+y^2,3)
: ]! [8 X" Y0 Of3=impldiff(f,x,y,3); F3=subs(f3,x^2+x*y+y^2,3)$ v- k3 ]: L& R) L
f4=impldiff(f,x,y,4); F4=subs(f4,x^2+x*y+y^2,3)
" P% O2 ^0 h$ C3 ^% E2 Q. W: b% M( x0 n9 c
/ c5 O0 K' z, k, z# x
F1,F2,F3分别为:$ t# }+ e% w' e
- J' N; w3 K- t: ]: D, s8 [* e

" v8 P9 W4 }) W2 K
4 A: c" j  s0 r1 E1 ?) k. f! fF4为:
# k+ c: X) L2 I. n/ |6 B + l+ C8 A; T/ \; A/ b
9 B* q" S# I  @$ Y5 Q* E
化简后得:- g0 S; S* `1 D8 q  I$ v
: ]8 b. S* b1 Y" p

! j$ r5 g% o6 F( [  t! `函数实现
& O9 M8 P* `3 a% G, J% ffunction dy = impldiff(f, x, y, n)1 p- Z" [" i" [7 u" t: {& n
if mod(n,1)~=0
) I: e( |6 Y/ D7 ?, q* x& g. F$ j. [    error('n should positive integer, please correct')
9 H, ^4 r" E( Felse 7 N! j: c: T, s4 s& U) M* F& v
    F1 = -simplify(diff(f,x)/diff(f,y));   dy = F1;
. L, ]$ w9 M: `$ x% p& o    for i=2:n* t  c* a# C! x  m! o4 x: S
        dy = simplify(diff(dy,x)+diff(dy,y)*F1);
+ G$ _8 ~* V# M' Z' A% S8 P! y    end
  @: R$ l# G2 q; _end
: T2 Y- J  L( R1 I
  • TA的每日心情
    慵懒
    2020-6-13 15:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-1-27 10:45 | 只看该作者
    matlab实现隐函数求偏导数(impldiff函数)
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-20 10:44 , Processed in 0.078125 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表