Matlab编程计算任意阶精度的离散格式系数

Matlab编程计算任意阶精度的离散格式系数

离散格式的任意阶导数,只要精度和点数确定后。对应各点的系数可以通过Taylor展开待定系数法计算得到。个人构造一些格式时,常常手动展开,计算系数的程序也已经写过很多次。这里干脆挂在网上,避免每次使用的时候都得找半天甚至重写。

目前实现的功能

当前格式我们只实现了最一般情形下的离散系数计算,紧致格式系数的计算和重构系数的计算这里均不考虑。另外,也不考虑给定超过精度所需的点,然后进行谱性质优化的情形。

程序构造考虑任意阶精度,构造任意阶导数的离散逼近,以及可以使用任意的点。

程序部分

%计算任意阶导数的离散系数
clc;
clear;
format rat;

%给定计算使用的点,其中0代表我们所需要构造导数点的位置
point = [0 1 2 3];
n = length(point);
%要模拟几阶导数
order = 1;

%计算Taylor展开的系数
A = zeros(n);
for i = 1:n
for j = 1:n
    A(i,j) = (point(j))^(i-1);
end 
end 
b = zeros(n,1);
b(order+1) = 1;

%求解系数并输出
coefficient = A\b;
%输出
[point; coefficient']

当前是使用i,i+1,i+2,i+3一共四个点离散逼近i点处的一阶导数,输出结果如下:

ans = 
        0         1      2       3
       -11/6      3     -3/2     1/3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值