我有一個向量與空間兩點分鐘,例如:在離散數據點一個點找到切向量
A = np.array([-1452.18133319 3285.44737438 -7075.49516676])
B = np.array([-1452.20175668 3285.29632734 -7075.49110863])
我想找到載體的切線沿一個離散點曲線,gg曲線的開始和結束。我知道如何在Matlab中完成它,但我想用Python來完成。這是Matlab中的代碼:
A = [-1452.18133319 3285.44737438 -7075.49516676];
B = [-1452.20175668 3285.29632734 -7075.49110863];
points = [A; B];
distance = [0.; 0.1667];
pp = interp1(distance, points,'pchip','pp');
[breaks,coefs,l,k,d] = unmkpp(pp);
dpp = mkpp(breaks,repmat(k-1:-1:1,d*l,1).*coefs(:,1:k-1),d);
ntangent=zeros(length(distance),3);
for j=1:length(distance)
ntangent(j,:) = ppval(dpp, distance(j));
end
%The solution would be at beginning and end:
%ntangent =
% -0.1225 -0.9061 0.0243
% -0.1225 -0.9061 0.0243
任何想法?我試圖用多種方法使用numpy和scipy來找到解決方案,例如
tck, u= scipy.interpolate.splprep(data)
但沒有方法似乎滿足我想要的東西。
思路:找到蟒等效的你正在使用的matlab函數。嘗試使用新功能轉換代碼。詢問你是否找不到功能。試錯。但請不要在這裏基本上說「把這個matlab代碼轉換爲python」。 – tiago
對不起蒂亞戈,但你不知道你在說什麼。我已經嘗試過在scipy中使用這些函數,但它們不符合要求或方法。我不是簡單地要求將Matlab轉換爲我的代碼。如果你不能提供幫助,那就不要提供誹謗言論 – Nader
Nader,從你最初的問題來看,沒有關於你曾經嘗試過什麼和沒有起作用的具體信息。除非你是特定的,否則你的問題就像是「爲我翻譯這段代碼」。我不知道MATLAB,因此有了這樣的問題,我的幫助意願非常有限。 – tiago