声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3143|回复: 6

[编程技巧] 怎么定义一个符号变量是x的函数

[复制链接]
发表于 2007-7-14 12:11 | 显示全部楼层 |阅读模式

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

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

x
比如我想定义 一个变量 u,u是x的函数 ,希望对u做求导运算
但是如果按下面的过程:
syms u x
diff(u, x)肯定会得到0
而我希望在下边的运算里带着du/dx, 也就是怎么让系统知道 u是x 的函数, 多谢大家

[ 本帖最后由 ChaChing 于 2009-12-8 20:40 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-7-14 13:47 | 显示全部楼层
diff(S,'v',n)%将符号'v'视作变量,对符号表达式S进行n次微分运算
 楼主| 发表于 2007-7-15 12:14 | 显示全部楼层

回复 #2 花如月 的帖子

多谢花如月
问题是符号变量 S只是光秃秃的一个符号而已,但它是x和y的函数
如果diff(S,'x',1),结果还会是0
我的目的是进行推导公式

[ 本帖最后由 lxinghan 于 2007-7-15 12:15 编辑 ]
发表于 2007-7-15 14:04 | 显示全部楼层
S=sym('x^2+a*x*y+b*y^2');
Sx=diff(S,'x',1), Sx2=diff(S,'x',2), Sy=diff(S,'y',1)

Sx =2*x+a*y

Sx2 =2

Sy =a*x+2*b*y
不知到是不是你要的结果,我对这个也不熟悉。也是第一次用diff函数

[ 本帖最后由 ChaChing 于 2009-12-8 20:42 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2007-7-15 16:54 | 显示全部楼层

回复 #4 花如月 的帖子

很谢谢花如月
我找到了
u=sym('u(x,y)')
这样就定义了 u是x,y的函数,而不需要给出具体的表达式
diff(u,x)就会得到du/dx, 而不是0了
发表于 2007-7-15 17:01 | 显示全部楼层

回复 #5 lxinghan 的帖子

你的u(x,y)是什么呢? 如果问题解决了,希望你分享一下,因为或许会有人遇到和你相同的问题。也为论坛做点贡献了
发表于 2009-12-8 20:52 | 显示全部楼层
符号我是来此边看边学的
这个看看help并试试比较下面几种差异便知
syms u x; diff(u,x)  % Ans=0
syms u x; diff(u,'x')  % Ans=0
syms u x; u=x; diff(u,x)  % Ans=1
syms u x; u=sym('u(x,y)'); diff(u,x)  % diff(u(x, y), x)

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-11 15:36 , Processed in 0.070920 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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