伊苏 打哪的安魂曲:用mathematica求高阶导数计算问题

来源:百度文库 编辑:高考问答 时间:2024/05/03 22:44:25
有这样一个题目是高阶导数的计算问题:请设计一个程序包用于求一元函数的高阶导数和导数值,要求运行时只要用户输入函数,求导的阶数和求导数值的点就计算并告知用户所求高阶导数和导数值。
偶做得不好,哪位高手指点一下要怎样编这个程序啊?
谢谢你能帮我,你先看看我的程序吧:
BeginPackage["daoshu`"]
daoshu::Uasage = "for f(x) and x=x0,Calculus derivations of n order"
f[x_] = Input["input f[x]="]
n = Input["jieshu shi n="]
x0 = Input["qiu dao de dian x0="]
Do[Print["x=", x0, "derivatives of f(x) ", k, "order",
D[f[x], {x, k}] /. x -> x0], {k, 0, n, 1}]
EndPackage[]
这种是很不完善的,在用户输入函数的时候,应该要首先判断是否存在导数,偶不知道要怎么编这个程序,请指点,小女子感激不尽。。。

例如求y=x^4+x^3+x^2+a[x]的三阶导数
D[x^4+x^3+x^2+a[x],{x,3}]

模块部分可以这样:
Dn[xx_]:=Module[{n,x0,dn,dn0,x},hanshu=Input[Inputhanshu];
f[x_]:=hanshu;
n=Input[please Input n的值];
x0=Input[please Input x0的值];
dn=D[f[xx],{xx,n}];
dn0=dn/.xx->x0;
{dn,{x0,dn0}}]
执行后输入下面命令
Dn[x]
在三次出现的对话框中依次输入 x^5 3 1
(分别表示函数y=x^5 阶数3 自变量的值1)
得到
Out[15]={60 x^2,{1,60}}
把它放入某个软件包吧

*****************
已经很长时间没有弄这个了。我看暂时是不是这样:
Check[Print[...],{"次函数不存在导数",k}]
用这个代替原来的Print[...]

看f[x_] = Input["input f[x]="]
少一个冒号