当前位置:首页 » 编程语言 » c语言微分怎么算
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言微分怎么算

发布时间: 2022-11-03 06:41:22

A. 请问这个微积分用c语言代码计算的话怎么写

这玩意可不是一句两句说完的,你最好搞本数值计算方法之类的书学习一下。否则除非别人帮你写,通过几句话教会你基本不可能

B. 微积分用C语言怎么表达编程

c不是专门用来运算的,所以说你也不用期待有几个符号加上函数就能求出微分和积分。如果实在要算微积分只能用微元法,把间隔取得足够小,用数值方法算出微分和积分

C. C语言编程求微分,愿意再追加50分.

#include <stdio.h>

main()
{
float x,y,ji_fen,wei_fen;
for(x=0;x<2;x=x+0.01)
{
y=x*x;
ji_fen=ji_fen+y*0.01;
wei_fen=(y-(x-0.01)*(x-0.01))/0.01;
printf("x=%f y=%f ji_fen=%f wei_fen=%f\n",x,y,ji_fen,wei_fen);
}
}

D. c语言如何做微分

你连题都没有,想要源代码,估计希望不大了,不过有本书里有将如何用C语言解微分方程。
好像是叫计算方法 C语言版。哦,找到了
《计算方法(C语言版)》是作者十多年计算方法研究应用和教学经验的结晶。全书共分9章,主要内容包括算法与误差、非线性方程求根、线性方程组的直接求解和迭代求解、代数插值、数值积分、矩阵特征值与特征向量的计算、常微分方程初值问题的数值解法等。

E. 用C语言实现微积分计算

C没有自带的微积分函数,只能靠数值方法来估算值,求不出准确答案。

F. 用C语言计算微积分

我给一楼加的注释以及修改:
#include<stdio.h>
#include<math.h>
#define ARRAYBOUND 10001

void main()
{
int i = 0; //辅助变量,最常见那种
int n = 0; //将所求定积分函数曲线在x轴方向,平均分成n等分;n越大,结果越精确;不过限于此算法限制n<ARRAYBOUND,否则溢出.
float x[ARRAYBOUND];//ARRAYBOUND维浮点数组,存放离散的x坐标值
float y[ARRAYBOUND];//ARRAYBOUND维浮点数组,存放每个x坐标对应的函数值;x[i],y[i]满足y[i]=f(x[i]),f是你要求定积分的函数
float x0 = 0.0; //定积分下限
float xn = 0.0; //定积分上限
float h = 0.0; //面积微元宽度
float J = 0.0; //辅助变量

/*f=x^3*/ //这里说明要求定积分的是函数f(x)=x*x*x;(y等于x的立方,x^3是vb的写法)
// printf("input x0,xn,n:");
printf("请分别输入下限(x0),上限(xn),精度(n):");
scanf("%f",&x0);
scanf("%f",&xn);
scanf("%d",&n);

h=(xn-x0)/n;//将函数图形在x方向平分成n份,h是每个面积微元的宽度
x[0]=x0; //将积分下限赋值给x[0]

for(i=0;i<=n && n<ARRAYBOUND;i++)
{
x[i]=x[0]+i*h; //计算n个离散的横坐标值,存入x[]数组
y[i]=(float)pow(x[i],3);//计算n个横坐标对应的函数值,存入y[]数组。在此可以改变要求积分的函数
}

// J=0.0;
for(i=0;i<n;i++)
{
//J=J+y[i]+y[i+1];
J+=y[i];//将所有纵坐标值代数相加,存入J
}
//J=J*h/2.0;
J=J*h;//所有微元面积一次求解,因为∑h*y[i]=h*∑y[i];
printf("\nn=%d \n所求定积分值是: %f\n",n,J);
}

我将//J=J+y[i]+y[i+1]改为J+=y[i];将//J=J*h/2.0;改为J=J*h只是帮助lz理解
其实,这两种表达在理论上是等价的,不过我发现修改后,在n同样大小的情况下,结果的精度有一点点下降,还真不知为什么???

这样的话lz应该能理解了吧,其实一楼的算法还有不少值得改进的地方,希望lz能有所突破!!

G. c语言怎样用C语言编程来解决数学求“微分

1,一套皆不能初等函数的微分公式;
2,函数和差积商的法则
通过以上两个的明确定义,就可以把一些问题转化成固定的模版上进行计算了。

H. C语言如何实现微积分运算

计算微积分有很多数值逼近的算法,任何可以计算微积分的语言都是用这种方法比如插值多项式,构造数值积分来计算的。只有近似值,没有准确值。你需要自己编程,编运算方法来计算。具体的lz去参看相关的书籍,比如计算方法

I. 如何用c语言求函数导数

1、首先要有函数,设置成double类型的参数和返回值。

2、然后根据导数的定义求出导数,参数差值要达到精度极限,这是最关键的一步。

3、假如函数是double fun(doube x),那么导数的输出应该是(fun(x)-fun(x-e))/e,这里e是设置的无穷小的变量。

4、C由于精度有限,因此需要循环反复测试,并判断无穷小e等于0之前,求出上述导数的值。二级导数也是一样,所不同的是要把上述导数公式按定义再一次求导。这是算法,具体的实现自己尝试编程。

C语言的数据长度和精度都有限,因此用C语言编程求的导数并不精确,换句话说C语言编程不适合求导和极限。

(9)c语言微分怎么算扩展阅读:

举例说明:

一阶导数,写一个函数 y = f(x):

float f(float x){ ...}

设 dx 初值

计算 dy

dy = f(x0) - f(x0+dx);

导数 初值

dd1=dy/dx;

Lab:;

dx = 0.5 * dx; // 减小步长

dy = f(x0) - f(x0+dx);

dd2=dy/dx; // 导数 新值

判断新旧导数值之差是否满足精度,满足则得结果,不满足则返回

if ( fabs(dd1-dd2) < 1e-06 ) { 得结果dd2...}

else { dd1=dd2;goto Lab;}。

J. 微分怎么算

先求导,微分=导数×dx

dy=y‘dx

过程如下图:

拓展资料

设函数y = f(x)在x的邻域内有定义,x及x + Δx在此区间内。如果函数的增量Δy = f(x + Δx) - f(x)可表示为 Δy = AΔx + o(Δx)(其中A是不依赖于Δx的常数),而o(Δx)是比Δx高阶的无穷小(注:o读作奥密克戎,希腊字母)那么称函数f(x)在点x是可微的,且AΔx称作函数在点x相应于因变量增量Δy的微分,记作dy,即dy = AΔx。函数的微分是函数增量的主要部分,且是Δx的线性函数,故说函数的微分是函数增量的线性主部(△x→0)。

通常把自变量x的增量 Δx称为自变量的微分,记作dx,即dx = Δx。于是函数y = f(x)的微分又可记作dy = f'(x)dx。函数因变量的微分与自变量的微分之商等于该函数的导数。