求导分母为0了
x=2+a*ty=x^2
要求y对x的导数,用数值方法求
对于一般的a,很容易
但是,当a=0时,x对t导数是0
y_diff_x=y_diff_t / x_diff_t
分母为0,结果无穷大了
如下:
t=-1:0.1:1;a=eps;
x=2+a*t;
y=x.^2;
y_diff_t=diff(y);
y_diff_x=y_diff_t /a;
正确的结果应该是4
这该怎么处理 先用符号求解,之后代入如何?
回复 沙发 sogooda 的帖子
表达式太复杂符号求解有点慢
回复 楼主 sigma665 的帖子
没有看懂你的意思哈y对x求导那么就是
y=x^2对x求导得到 y'=2x;
而x=2,也就是说在x=2时y的导数是多少:y‘=2*2=4?
不知道你上面是不是说这个?
回复 地板 无水1324 的帖子
简单的表达式,可以这样现在的表达式很复杂,需要用复合求导算
回复 5楼 sigma665 的帖子
你举的这个例子不恰当其实,你举的这个例子没有导数
最好把要求的表达式写出来
回复 5楼 sigma665 的帖子
可能,复合函数求导比较麻烦。to:mess.
这个对x的导数应该是存在的 知道了
由于y和x关系不变,所以无论a怎么变都对y-x关系无影响
所以选择一个a值
得到y和x对应关系
然后再用多项式拟合之,并对x求导
最后将x值代入即可
原始问题,表达式复杂,无法直接对x求导 clear all;
clc
t=0:.1:1;
for i=1:length(t)
y=3+t(i);
x=2+t;
z=x.^2+y.*x+log(x.*y)-1./x;
sp=csapi(x,z);
%fnplt(sp); hold on;
dsp=fnder(sp,1);%微分
zz(i,:)=fnval(dsp,x);
end
zz=diag(zz);
如上:
每对应一个y值,有一个z
样条拟合z-x,微分
然后再将x代入,得到zz
由于x,y是同步的,zz的对角线才是希望的x=某值的原始表达式的微分值
不知道我的这个思路对不对
根据这个表达式,结果是对的
但是,我用另外一个复杂表达式,结果有出入
是否我举的这个例子是特例呢
回复 9楼 sigma665 的帖子
思路倒是很清晰不过,觉得你的这个方法的结果的正确性与原始表达式有关系
[ 本帖最后由 messenger 于 2008-8-23 20:58 编辑 ] 求导的分子是o?
如果是的话,可能就得回代字母来求了
页:
[1]