怎么用matlab定义个一次性对x,y,z分别求导后将求导后的结果相加的函数?

比如输入FFF(x*y,x^2*y*z,z),让显示结果为y+2*x*z+1麻烦快点指导,,,可以的话分不是问题.... 比如输入FFF(x*y,x^2*y*z,z),让显示结果为 y+2*x*z+1 麻烦快点指导,,,可以的话分不是问题. 展开
百度网友687a7d0
2013-06-18 · TA获得超过9401个赞
知道大有可为答主
回答量:2021
采纳率:85%
帮助的人:808万
展开全部
lz ,你好。看到你的提问,刚好,之前了解过这方面方便智能的函数,希望是你的需求。

函数如下:
function dfsum=FFF(f1,f2,f3,v)
%f:为待求导函数,v为自变量,可以根据函数的变量自定义,不一定是x,y,z
%自变量为多个时,需要定义为向量。例如:v = [x, y, z];
f = [f1; f2; f3];
R = jacobian(f, v) ;%对定义的变量求导,v可以是多个变量
dfsum = sum(R) ;%求导后求和

验证:
1、多变量
clear
syms x y z
v = [x, y, z];
dfsum=FFF(x*y,x^2*y*z,z,v)

结果:

dfsum =

[ y*(2*x*z + 1), x*(x*z + 1), y*x^2 + 1]%三个值分别为对x,y,z求导后的和

2、单变量:
clear
syms x y z
v = x;
dfsum=FFF(x*y,x^2*y*z,z,v)

结果:
dfsum =

y*(2*x*z + 1)

希望对你有帮助
追问
你用乔丹变换后的结果相加不就把那九个求导后的结果全加起来了吗?我只需要其中3个的,就是求导矩阵后1,4,9号的式子...
追答
把这句改了就好。dfsum = R(1,1)+R(2,2)+R(3,3);
刘贺great
2013-06-18 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3829
采纳率:100%
帮助的人:1771万
展开全部
你算得不对吧
x^2*y*z对y求导数,是:x^2*z
函数:(FFF.m)
function Y=FFF(f1,f2,f3)
syms x y z
df1=diff(f1,x);
df2=diff(f2,y);
df3=diff(f3,z);
Y=df1+df2+df3;
-------------------------
主程序:
clear all;clc;
syms x y z
f1=x*y;
f2=x^2*y*z;
f3=z;
dfdxdydz=FFF(f1,f2,f3)
----------------------
dfdxdydz =
y+x^2*z+1
更多追问追答
追问
要是让它的输出显示为这样的形式呢?D=y*a_x+x^2*z*a_y+1*a_z,以区别对谁求的导................兄弟,帮忙回答一下哈?我们明天就交作业了...其实我还想这个函数式双输出的,就是把 xyz的值带入输出的符号型,使输出结果是数字...
追答
稍微改一下:
function D=FFF(f1,f2,f3)
syms x y z
syms f1_x f2_y f3_z
df1=diff(f1,x);
df2=diff(f2,y);
df3=diff(f3,z);
D=df1*f1_x+df2*f2_y+df3*f3_z;
--------------------------
clear all;clc;
syms x y z
f1=x*y;
f2=x^2*y*z;
f3=z;
D=FFF(f1,f2,f3)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式