声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1213|回复: 10

[综合讨论] 看个diff函数小问题

[复制链接]
发表于 2009-3-23 10:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function [f,df]=detaf(x)
f=x(1)^4+25*x(2)^4+x(1)^2*x(2)^2;
df(1)=4*x(1)^3+2*x(1)*x(2)^2;
df(2)=100*x(2)^3+2*x(1)^2*x(2);

这个是M文件里面的函数 我想用diff函数来分别求x(1)和x(2)的一阶导数
df(1)=diff(f,x(1),1)
df(2)=diff(f,x(2),1)
可是总会有错误:@(  能不能帮我看下! 谢谢!!

[ 本帖最后由 ChaChing 于 2009-3-23 13:20 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-3-23 11:21 | 显示全部楼层
LZ再看看diff的帮助文档, 可以df(1)=diff(f,x(1),1)如此用吗?
看看gradient 是否LZ要的
 楼主| 发表于 2009-3-23 11:44 | 显示全部楼层
diff 对于一个变量可以这么用 但是我不知道两个变量x(1),x(2)行不行 所以在这里问一下
发表于 2009-3-23 13:41 | 显示全部楼层
为何需要用matlab算!?
df(1)对x(1)之微分不就是12*x(1)^2+2*x(2)^2;
df(2)对x(2)之微分不就是300*x(2)^2+2*x(1)^2;
 楼主| 发表于 2009-3-23 14:22 | 显示全部楼层
我是想实现这么个功能 输入一个函数f=x(1)^4+25*x(2)^4+x(1)^2*x(2)^2;
对x(1)求偏导,得到df(1)=4*x(1)^3+2*x(1)*x(2)^2;
对x(2)求偏导,得到df(2)=100*x(2)^3+2*x(1)^2*x(2);

大家现在明白了吗?有可能我刚才没有说清楚
发表于 2009-3-23 18:46 | 显示全部楼层
help jacobian

还有建議樓主看下本版規則並加強發問題方式!

[ 本帖最后由 ChaChing 于 2009-3-23 18:48 编辑 ]
 楼主| 发表于 2009-3-23 22:18 | 显示全部楼层
jacobian好像也不行....
发表于 2009-3-23 23:43 | 显示全部楼层
f=x^4+25*y^4+x^2*y^2; v=[x,y]; jacobian(f,v)
 楼主| 发表于 2009-3-24 09:20 | 显示全部楼层
谢谢楼上的这位朋友!
当变量为x,y时,你这个方程可以实现。但是当变量为x(1),x(2)时就会出错
能不能试一下 然后告诉我为什么呢?谢谢
发表于 2009-3-24 10:49 | 显示全部楼层

回复 9楼 liangwy0106 的帖子

没见过变量名可以为x(1),x(2),你换成x1,x2试试吧

评分

1

查看全部评分

发表于 2009-3-24 11:07 | 显示全部楼层
matlab仅是一种工具, 建议楼主配合现有的功能想法来实现
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-6 09:59 , Processed in 0.063543 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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