• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab小记(一)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

求解多元函数的Jacobi矩阵,可以采用matlab中自带的diff函数,来求解。

diff函数在matlab中的调用格式:

diff(函数) , 求函数一阶导数;

diff(函数, n) , 求的n阶导数(n是具体整数);

diff(函数,变量名), 求对“变量名”的偏导数;

diff(函数, 变量名,n) ,求对“变量名”的n阶偏导数;

即使在函数中有些字母变量对应的是常数,但是我们在对其函数进行求偏导操作是,仍可以看其为变量,这样就可以采用diff函数,也不会影响求解结果。
%求解Jacobi矩阵
syms h h1 h2 s110 s111 s1130 s130 s140 c1 c2 b1 h3;
syms x1 x2 x3 x4;
f1(x1,x2,x3,x4,h,h1,h2,s110,s111,s1130,s130,s140,c1,c2,b1,h3)=s110+s111*x1+2*c1*h*h3*x2+(s1130-2*h*h3*x2)*x3+(-2*c2*h+2*h*h3*x1)*x4;

a11=diff(f1(x1,x2,x3,x4,h,h1,h2,s110,s111,s1130,s130,s140,c1,c2,b1,h3),x1);
a12=diff(f1(x1,x2,x3,x4,h,h1,h2,s110,s111,s1130,s130,s140,c1,c2,b1,h3),x2);
a13=diff(f1(x1,x2,x3,x4,h,h1,h2,s110,s111,s1130,s130,s140,c1,c2,b1,h3),x3);
a14=diff(f1(x1,x2,x3,x4,h,h1,h2,s110,s111,s1130,s130,s140,c1,c2,b1,h3),x4);

J=[a11 a12 a13 a14;a21 a22 a23 a24;a31 a32 a33 a34;a41 a42 a43 a44]

后来发现matlab函数中有求解Jacobi矩阵的自带函数,来求解,例程如下:

       syms x1 x2 x3 
  f1=f1(x1,x2,x3);
  f2=f2(x1,x2,x3);
  f3=f3(x1,x2,x3)
  J=jacobian([f1;f2;f3],[x1 x2 x3])


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
在Delphi中如何动态创建dbf数据库(二)?发布时间:2022-07-18
下一篇:
Delphi的多线程使用已经很简单了发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap