下面的代码是一个简单的拉格朗日插值。我有两个向量k和kt,我想对它们进行计算。我把所有的答案放在最后的一个矩阵H中。但是,当我必须为许多k和kt执行此操作时,我的代码运行所用的时间比我预期的要多。
如何以更快的方式重写此代码?
N = 1:length(kt);
H = zeros(length(kt),length(k));
for m = 1:length(k)
for j = 1:length(kt)
h = 1;
index = find(N ~= j);
for jj = 1:length(index)
我想把曲线拟合到一些数据上。为了获得最好的结果,我使用了PCHIP插值。此外,我想用ppval-function得到6个区间的系数。但是会弹出一个错误,如下所示:
Error using unmkpp (line 18)
The input array does not seem to describe a pp function.
Error in ppval (line 62)
[b,c,l,k,dd]=unmkpp(pp);
Error in SA (line 8)
v = ppval(p,xdata)
这是我的代码:
clear all
xdata = [0; 3.5; 6.8;
我有作业,我被要求建立牛顿和拉格朗日插值多项式。我对拉格朗日多项式没有问题,但牛顿多项式出现了一个问题:当拉格朗日插值多项式和原始函数完全匹配时,牛顿插值不会这样做。Here is the plot. 如果我没记错的话,牛顿和拉格朗日多项式插值是表示同一多项式的不同方法,它们应该在插值区间与原始函数完全匹配。 我认为牛顿系数的计算是错误的,所以我找到了另一个除差函数。我尝试了function和they gave me the same results. 我被困在这一刻了。我仍然认为计算除差函数有问题,但我看不出有什么错误。 有什么建议吗? 代码如下: import numpy as np
f
我想计算直线和插值函数之间的交点。我可以绘制插值图以及图中的线:
import matplotlib.pyplot as plt
import numpy as np
import scipy.interpolate as scp
y = [ 815.97, 815.95, 815.98, ..., 815.9] #60 elements
x = [405383892, 405383894, 405383895, ..., 405383896] #60 elements
mediana = np.median(x)
f = scp.interp1d(x,y,bounds_error
我有一个矩阵值函数,当x到1时,我试图求它的极限。
因此,在这个例子中,我有三个矩阵v1-3,分别表示在0.85,0.9,0.99的采样值。我现在所做的工作效率很低,主要有以下几点:
for i=1:101
for j = 1:160
v_splined = spline([0.85,0.9,0.99], [v1(i,j), v2(i,j), v3(i,j)], [1]);
end
end
必须有更好、更有效的办法来做到这一点。特别是当足够快的时候,我将面对v将是4-5维向量的情况。
谢谢!
给定一组点x和一组值y,我试图计算最适合于最小二乘意义的P(x) = y多项式。该函数应显示范德蒙矩阵,输出多项式c应以形式p (x) = c0*x^0 + c1*x^1 + c2*x^2 +.+ cn-1^(n-1)
我想清楚地看到在同一个图上的点(十一,一),其中的函数是绘制的。
以下是我迄今所做的尝试:
function c = interpolation(x, y)
n = length(x);
V = ones(n);
for j = n:-1:2
V(:,j-1) = x.*V(:,j);
end
c = V \ y;
我有一个多项式的形式:
p(y) = A + By + Cy^2 ... + Dy^n
这里,系数A,B,..,D中的每一个都是矩阵(因此p(y)也是矩阵)。假设我在n+1点处插值多项式。我现在应该能够解决这个系统了。我正试着在Numpy做这件事。我现在有以下代码:
a = np.vander([0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2]) #polynomial degree is 12, a -> (12x12)
b = np.random.rand(12,60,60) #p(x) is a 60x60 matrix that I
我试图取365x365矩阵的逆。有些值高达365**365,因此它们被转换成长数字。我不知道linalg.matrix_power()函数是否能处理长数字。我知道问题来自于这个问题(因为错误消息,因为我的程序对较小的矩阵很好地工作),但我不确定是否有办法解决这个问题。代码需要为NxN矩阵工作。
这是我的密码:
item=0
for i in xlist:
xtotal.append(arrayit.arrayit(xlist[item],len(xlist)))
item=item+1
print xtotal
xinverted=numpy.linalg.matrix_pow
我正在编写一些代码,以不同的速度回放WAV文件,这样波形就会变慢和低音调,或者更快、更高。我目前正在使用简单的线性插值,如下所示:
int newlength = (int)Math.Round(rawdata.Length * lengthMultiplier);
float[] output = new float[newlength];
for (int i = 0; i < newlength; i++)
{
float realPos = i / l