
我是学的c++,可能不太一样吧,但是大体应该是一样的。
那个调用的函数,被调用的那个long double dcmtcf(x,y),在c++中应该是在xy前面加上定义的类型的。long double dcmtcf(double x,double y)
因为[1/x]在端点处不连续,因此在端点处(即1/x为整数的点)不可导。
所以可导区间为一段一段不连续的区间
由n=<1/x<n+1,得f(x)=[1/x]=n, 这里n为整数
而在每一段里,f(x)的导数都为0
若区间分段如下:
若n>0,则1/(n+1)<x<=1/n
若n=0,则x>1/(n+1)
若n=-1,则 x<=-1
若n<-1,则1/(n+1)<x<=1/n
syms x y dy ddy
y=12exp(-5)x^9;
dy=diff(y,x)
ddy=diff(dy,x)
不过按照上面的写法,matlab会计算常数e^(-5),结果很不好看,所以强烈建议写成下面的形式
syms x y e dy ddy
y=12e^(-5)x^9;
dy=diff(y,x)
ddy=diff(dy,x)
运行结果为
dy = (54x^8)/(5e^5)
ddy = (432x^7)/(5e^5)
这个可以参考一下。
已知速度曲线v(t) 上的四个数据点下表所示
基本原理:
利用插值(即求过已知有限个数据点的近似函数)的基本原理,用多项式作为研究插值的工具,进行代数插值。其基本问题是:已知函数f (x)在区间[a,b]上n +1个不同点x0,…,xn处的函数值 (i = 0,1,…,n),求一个至多n 次多项式 ψn(x)
使其在给定点处与 f (x)同值,即满足插值条件: ψn(x)= =
许多工程技术中提出的计算问题对插值函数的光滑性有较高要求,如飞机的机翼外
形,内燃机的进、排气门的凸轮曲线,都要求曲线具有较高的光滑程度,不仅要连续,
而且要有连续的曲率,这就导致了样条插值的产生。
数学上将具有一定光滑性的分段多项式称为样条函数。具体地说,给定区间[a,b]
的一个分划
Δ:
如果函数s(x) 满足:
(i)在每个小区间[ ](i=0,1,…,n)上s(x)是k 次多项式;
(ii)s(x)在[a,b]上具有k −1阶连续导数。
则称s(x)为关于分划Δ 的k 次样条函数,其图形称为k 次样条曲线。
基本思路:
根据插值的基本原理,先对v进行三次样条插值,可以得到许多v(t)的值;然后根据积分的基本原理,分割、近似、求和、取极限,可以求得积分。根据求导原理,因变量的微小变化量与自变量变化量的商,可以求得所求点的导数值。
程序代码:
t0=[015 016 017 018];v0=[35 15 25 28];
t=015:00001:018;
%三次样条插值;
v=interp1(t0,v0,t,'spline');
v=spline(t0,v0,t);
pp=csape(t0,v0,'second');v=ppval(pp,t)% 使用csape函数;
S=sum(v)00001;%求积分值
T=(v(301)-v(300))/00001;%求导数值
Plot(t0,v0,’’,t,v);
以上就是关于请教c程序 差分求导全部的内容,包括:请教c程序 差分求导、怎么对[1/x](取整函数)求导、在matlab中如何输入,并且怎么求一阶导数和二阶导数,求在matlab中的输入程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)