用java编写简单求导公式

Python013

用java编写简单求导公式,第1张

求导的方法:

(1)求函数y=f(x)在x0处导数的步骤:

① 求函数的增量Δy=f(x0+Δx)-f(x0)

② 求平均变化率

③ 取极限,得导数。

(2)几种常见函数的导数公式:

① C'=0(C为常数);

② (x^n)'=nx^(n-1) (n∈Q);

③ (sinx)'=cosx;

④ (cosx)'=-sinx;

⑤ (e^x)'=e^x;

⑥ (a^x)'=a^xIna (ln为自然对数)

⑦ loga(x)'=(1/x)loga(e)

(3)导数的四则运算法则:

①(u±v)'=u'±v'

②(uv)'=u'v+uv'

③(u/v)'=(u'v-uv')/ v^2

④[u(v)]'=[u'(v)]*v' (u(v)为复合函数f[g(x)])

(4)复合函数的导数 复合函数对自变量的导数,等于已知函数对中间变量的导数,乘以中间变量对自变量的导数--称为链式法则。

求导的方法:

(1)求函数y=f(x)在x0处导数的步骤:

① 求函数的增量Δy=f(x0+Δx)-f(x0)

② 求平均变化率

③ 取极限,得导数。

(2)几种常见函数的导数公式:

① C'=0(C为常数);

② (x^n)'=nx^(n-1) (n∈Q);

③ (sinx)'=cosx;

④ (cosx)'=-sinx;

⑤ (e^x)'=e^x;

⑥ (a^x)'=a^xIna (ln为自然对数)

⑦ loga(x)'=(1/x)loga(e)

(3)导数的四则运算法则:

①(u±v)'=u'±v'

②(uv)'=u'v+uv'

③(u/v)'=(u'v-uv')/ v^2

④[u(v)]'=[u'(v)]*v' (u(v)为复合函数f[g(x)])

(4)复合函数的导数 复合函数对自变量的导数,等于已知函数对中间变量的导数,乘以中间变量对自变量的导数--称为链式法则。

#包括“stdio.h中”

typedef结构节点

{C,E / /节点的数据域,C为系数的多项式e多项式指数

结构节点下/ /节点的指针字段

} PN / /自定义的节点结构类型PN

PN * createPoly()/ /这个函数用于创建一个链表,返回值是一个节点的指针

{N,E,C

PN *头,* P / /定义头结点指针头节点的指针p

printf(“请输入项目编号项目:“)

scanf的(”%d“,&N)/ / n的值,无论是项目的数量

头= P = PN / / * malloc的(大小(PN))/ /头,p指向头节点(头节点不必存储的数据)

P->= NULL/ /这里,创建一个空列表

>( - )/ /循环n次

{

P->=新PN / / * malloc的(如sizeof(PN))/ /动态分配新的节点,然后在链末端(尾插)

P = P->下

/ / printf的(“CE”)/ /到新的节点,添加数据

scanf的(“ %d月%d“,&P->C:P->E)

}

P->= NULL/ /指针域页脚设置为空

返回头/ /返回头节点地址

}

无效printPoly(PN *头)/ /这个函数是用来

{PN * P =头>下输入链接的列表信息/ /用来遍历链表节点指针P,P点的表头

(P)/ /当p = NULL的表底,在周期结束

{printf(“请(%D,%D)”,P->C,P->E)/ /显示当前节点的数据

P = P->/ / P点移动到下一个节点

}

printf的(“\ n”)/ /输出一个回车

}

的无效freePoly(PN *头)/ /函数是用来摧毁的链表

{PN * P / /释放节点(动态内存块)

同时(头)/ /头= NULL(已经到了结束的表),在循环结束

{P =头/ /让p指向头节点称为

头=头下/ /指向头移动到下一个节点/>删除(P)/ / P所指节点释放(动态内存块)

}

}的

PN * polyAdd的(PN公顷,PN * HB)/ /这个函数两个多项式的总和

{C,E/ / C是多项式的系数,e是多项式指数

PN * PA = HA->下一个* PB = HB->下,/ /?PA,PB用于遍历两个链表传递的参数(参数两个链表的头结点指针),让我们称呼他们为链表AB

* HC,* PC / / HC新列表头的总和的两个列表中的相应节点的节点,PC,用于遍历新的列表,链接列表的称之为C

HC = PC =新PN

(PA |以pb计)/ /当两个链表的遍历完成循环停止

{

(PA &&(PB == NULL | | PA->E E))/ /取指数项链成一个链表或链接列表b遍历完成后,执行内容

,如果{C = PA->C

E = PA->E

>PA = PA->下

}

其他(PB &&(PA == NULL | | PA->E>PB->E))/ /走索引就是少了一个项链成一个链表,链表的遍历完成实施的内容,如果

{C = PB->C

E = PB->E

PB = PB->

}

/ /指数等于执行

{C = PA->C + PB->C

E = PA->E

PA = PA->下

PB = PB->下

}

(C)/ /添加一个链接到一个新的列表清单 BR />{

PC->下一个新的PN

PC = PC->

PC - >C = C

PC->E = EBR />}

}

PC->下一个= NULL

回报HC / /返回一个新的列表头节点的指针

}的

PN * mulxmul的(PN公顷PN HB)/ /这个函数是每个项目表关闭一次onexmul功能,并最终实现多项式乘法的a和b

{PN * T * HC,* PA = HA-“>下

PN * onexmul(PN * PA,PN * HB)/ /函数的声明,因为下一个步骤是使用

PN * polyAdd的( PN *公顷,PN * HB)/ /函数声明,因为下一个步骤是使用

T =新的PN,T - >= NULL/ /存储最终的结果链表,t为头,该表姑且称之为T台上

(PA)/ /遍历一个链表

{HC = onexmul(PA,HB)/ / PA所指的项目表中的b表所有的项目都乘以(即多项式多项式B乘)

T = polyAdd(T,HC)/ /将分别相乘的结果中添加

freePoly(HC)/ /将调用onexmul功能生产破坏中间的链表,链表的项目已经在t链表

PA = PA->下

}

回报吨/ / T-表头结点指针返回

}

PN * onexmul的(* PA,PN PN * HB)/ /这个函数是用来PA所指的项目表中的b表项相乘(即多项式一个多项式B相乘)

{PN * HC,PC,PB = HB->/ / HC是新的列表头节点,PC遍历新的列表 BR />HC = PC = PN / / HC,PC指向头节点

一段时间(以pb计)/ /遍历b链接列表

{PC->下一步= PN / /创建一个新的链表节点

PC = PC - >下

PC->C = PA->C * PB->C/ /到新的节点分配的系数,系数等于乘以

PC->E = PA - >E + PB->E / /指数指数总和等于

PB = PB->下

}

PC - >下一步= NULL

返回HC / /新的列表头节点的指针返回

}

诠释的main()

{ PN *下*,HB,HC

freopen(“poly.in”,“R”状态,stdin)/ /只读模式poly.in

freopen(“poly.txt “,”W“中,stdout)/ /只写模式打开poly.txt

公顷= createPoly()/ /创建一个新的链接列表,哈头节点的指针(多项式)

printPoly医管局总(公顷)/ /输出节点的指针链表信息

HB = createPoly()/ /创建一个新的链接列表,HB头节点指针(多项式)

printPoly(HB)/ /输出HB头节点的指针链表信息

HC = polyAdd(HA,HB)/ /多项式一个多项式B和结果,HC是头节点的指针链表

printPoly(HC) /添加/输出链表信息

freePoly(HC)/ /销毁链表的

HC = mulxmul(HA,HB)/ /多项式一个多项式B相乘的结果,HC头节点的指针

printPoly(HC)/ /输出链表的信息后乘以链表

freePoly(公顷)/ /销毁链表

freePoly(HB)/ /销毁链表

freePoly(HC)/ /销毁的链表

返回0

}

OK,花了大量的时间来帮你写下来笔记,完整的,完全一样的原理和数学模型,它应该是能读“,”流程图“,相信,理解程序,它是难以划清,尝试下。