私は現時点で数値解析のコースを取っており、matlabには全く新しいです。これは、私が与えられた大きな課題の一歩です。線形補間を使ってx切片を見つける
x-インターセプトを解決したい曲線の値として、xとyの値は69個あります。私はx = 0に対応する値を持っていません。
私の考えは直線に係数を得るために0に最も近い点の間を直線的に補間してからx = 0について解くことでしたが、どうやってそれを行うのか本当に分かりません。
私は、x = 0に近い値を発見し、ベクター中にそれらを格納しています
x = [0.251287 0.2555517];
y = [0.014228 -0.003326];
だから私はすでにx切片は約0.25であることを知っています。
私のアプローチは、interp1を使用していた。その後、
pp = interp1(x,y,'linear','pp');
そして、それを解決するために、私はPPから取得した係数を使用しています。係数は-4.11677と0.014228です。しかし、これらの値をx = 0に使うと、私は非常に遠い、0.003456の答えを得ます。
私のアプローチで何かが間違っていると感じます。誰かが私を正しい方向に向けることができますか?
2組の値にpolyfitを使用すると、pは-4.11677と1.04872という2つの値を格納します。最初の値はinterp1から取得したものと同じですが、2番目の値は異なっています。 一次方程式y = kx + mのkとmとしてpolyfitからの係数を使用し、y = 0を解くと、xは0.25474になります。これは正解と思われる。 なぜ、polyfitからの回答がinterp1の回答と異なるのですか?彼らは同じでなければならないように私には思われる。 – Victoria
インターセプトが必要な場合は、y = 0ではなく、x = 0を検索する必要があります。 –
x切片が必要なので、曲線がx軸を横切るときです。あなたはy切片を参照しています。それにもかかわらず、私はpolyfitを使って良い答えを得ました。 interp1とpolyfitの結果がどう違うのか、ご存じですか? – Victoria