如何使用Matlab利用复化梯形公式求下图函数的值近似值?
2个回答
展开全部
首先,你需提供已知的f(x)函数,再进行数值计算。
利用Matlab软件,使用复化梯形公式计算数值积分的方法如下。
1、自定义复化梯形法函数,traint()
function y = traint(a,b,n,func)
h = (b - a) / n;
x = linspace(a,b,n+1);
y1 = h * feval(func,x);
y1(1) = y1(1) / 2
y1(n+1) = y1(n+1) / 2
y = sum(y1);
end
2、自定义已知的f(x)函数,func()
function y = func(x)
y=f(x) %要具体的函数表达式
end
3、在命令窗口中,输入
a=1.8;b=2.6;n=10; %回车
traint(-1,0,8,f) %回车
利用Matlab软件,使用复化梯形公式计算数值积分的方法如下。
1、自定义复化梯形法函数,traint()
function y = traint(a,b,n,func)
h = (b - a) / n;
x = linspace(a,b,n+1);
y1 = h * feval(func,x);
y1(1) = y1(1) / 2
y1(n+1) = y1(n+1) / 2
y = sum(y1);
end
2、自定义已知的f(x)函数,func()
function y = func(x)
y=f(x) %要具体的函数表达式
end
3、在命令窗口中,输入
a=1.8;b=2.6;n=10; %回车
traint(-1,0,8,f) %回车
展开全部
首先建立脚本文件T_quad.m
function I=T_quad(x,y)
n=length(x);
m=length(y);
if n~=m error('向量长度不一致');
return;
end;
h=(x(n)-x(1))/(n-1);
a=[1 2*ones(1,n-2) 1];
I=h/2*sum(a.*y);
后命令行窗口调用函数
>> format long;
>> x=1.8:50:2.6;
>> y=f(x);
>>T_quad(x,y)
function I=T_quad(x,y)
n=length(x);
m=length(y);
if n~=m error('向量长度不一致');
return;
end;
h=(x(n)-x(1))/(n-1);
a=[1 2*ones(1,n-2) 1];
I=h/2*sum(a.*y);
后命令行窗口调用函数
>> format long;
>> x=1.8:50:2.6;
>> y=f(x);
>>T_quad(x,y)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询