function out=mypolynomial(x)
out=-0.0339*x.^2+1.7225*x-1.0157(这银散个函数是题锋派氏目中两个函羡歼数的差)
然后
a=fzero('mypolynomial',[0,10]);
得到a = 0.5967;
b=fzero('mypolynomial',[50,60]);
得到b = 50.2145;
最后
s=quad('mypolynomial',0.5967,50.2145);
得到
s = 690.1804;
简单的丛御定积分类似求y=2x与直线x=0,x=2,x轴围成的面积对y=2x积分后得到y=x^2,在把临界点x=2和x=0带入相减绝码就得到了该图形的面积
积分求面积没有固定的公并郑哪式,要看情况,根据原函数积分后带入临界相减可以得到原函数图形与x轴和左右临界围成图形的面积
积分分为两种,数值积分,公式积分。
公式积分:部分函数可以直接用公式求得其不定积分函数。C语言中可以直接用积分公式写出其积分函数。
数值积分:按照积分的定义,设置积分范围的步长,用梯形面积累加求得其积分。
以【f(x)=x*sin(x) 从茄行1到2的积分】为例:
#include <math.h>#include <stdio.h>
double integral(double(*fun)(double x),double a,double 或纳岁b,int,n){
double s,h,y
int i
s=(fun(a)+fun(b))/2
h=(b-a)/n /*积分步长*/
for(i=1i<ni++)
s=s+fun(a+i*h)
y=s*h
return y/*返回积分值*/
}
double f(double x){
return(x*sinx) /*修改此处可以改变被积函数*/
}
int main(){
double y
y=integral(f,1.0,2.0,150)/*修改此处可以衫睁改变积分上下限和步数,步长=(上限-下限)/步数*/
printf("y=%f\n",y)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)