簡體   English   中英

C# Mathnet Numerics Polynomial Evaluate 跨向量/數組,我必須循環嗎?

[英]C# Mathnet Numerics Polynomial Evaluate across an vector/array, do I have to loop?

好的,所以我試圖通過將 Matlab 源代碼轉換為 C# 來摸索。 到目前為止,我已經能夠在不需要實現任何循環的情況下完成所有工作。

data = 數據向量 Fourier.Forward(data.AsArray()) 接收數據並用結果覆蓋原始向量。 Vector.ABS(data) 計算向量的絕對值 Polynomial.Fit(x.AsArray(), data.Array()) 計算並返回多項式的系數

但現在我需要根據 X 繪制並找到 Y 值。我能找到的唯一函數是

Polynomial.Evaluate,但它接受單個 X 值,並返回 Y。是否有一個函數可以接受我的整個向量或作為數組,返回單個向量/結果數組?

您可以使用 Linq 的 Select。

如果 xCol 中有 X 的集合,並且Polynomial.Evaluate將 X 計算為 Y,則可以執行以下操作:

var yCol = xCol.Select(x => Polynomial.Evaluate(x)).

它實際上是一個循環,但它的外觀和行為就像一個向量函數

它的工作方式是您指定的lamba

x => Polynomial.Evaluate(x)

應用於xCol每個成員,從而產生一個輸出可枚舉集合。

你可以把那個 lambda 讀作“給定一個 x,返回 Polynomial.Evaluate(x)”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM