数值分析第四章上机实习题

function [I,h] = compoundT(fx,a,b,n)
%复化梯形公式
%输入fx-sym形式的函数,a/b-积分上下限,n-将[a,b]分为n等分
%输出I-积分,h-步长
u = linspace(a,b,n+1);
h = (b-a)/n;%这个就是简单一除.......
v = subs(fx,u);

findnan = find(isnan(v)==1);%考虑到会有NaN的情况,这句是把所有NaN的位置找出来,例如第一题中左端点值
for ix = 1:length(findnan)%然后用极限进行替换,第一题可以直接换成0.
    v(findnan(ix)) = limit(fx,u(findnan(ix)));
end

I = (v(1) + v(n+1) + 2*sum(v(2:n)))*h/2;

end


function [I,h] = compoundS(fx,a,b,n)
%复化辛普森公式
%输入fx-sym形式的函数,a/b-积分上下限,n-将[a,b]分为n等分
%输出I-积分,h-步长
u = linspace(a,b,n+1);
u = [u,(u(1:n) + u(2:n+1))/2];

h = (b-a)/n;
v = subs(fx,u);

findnan = find(isnan(v)==1);
for ix = 1:length(findnan)
    v(findnan(ix)) = limit(fx,u(findnan(ix)));
end

I = (v(1)+v(n+1)+4*sum(v(n+2:2*n+1))+2*sum(v(2:n)))*h/6;

end

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数值分析第六章是关于使用Python进行数值计算的习题。本章主要涵盖了数值计算中的插值、数值微分和数值积分等内容。 1. 插值是通过已知的离散数据点来估计未知数据点的方法。在Python中,可以使用SciPy库中的interp1d函数来现一维插值。interp1d函数可以根据给定的数据点和插值方法,生成一个插值函数。同时,还可以使用Matplotlib库来可视化插值结果。 2. 数值微分是用来估计函数导数的方法。在Python中,可以通过数值差分来计算函数导数。numdifftools库提供了一系列用于数值微分的函数,例如,使用gradient函数可以计算函数的梯度。 3. 数值积分是使用数值方法来计算定积分的方法。在Python中,可以使用SciPy库中的quad函数来进行数值积分。quad函数可以接收一个被积函数和积分范围,并返回积分结果。 除了上述的习题内容,数值分析第六章还可能包括其他相关的数值计算方法,例如线性方程组的求解、非线性方程的求根等。在习题中,通常会提供一些具体的问,需要使用Python编写程序来解决,并给出相应的数值计算结果。 总之,数值分析第六章的python计算机习题主要涉及插值、数值微分和数值积分等内容,需要使用Python编写程序来解决具体的数值计算问,并给出相应的结果。这些习题旨在帮助学生加深对数值计算方法的理解,并培养他们使用计算机进行数值计算的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值