以下にて近似を行い、解を求めます。
x = [3.51E+07 2.94E+07 2.49E+07 2.14E+07 1.85E+07 1.63E+07 1.45E+07 1.31E+07 1.19E+07];
y = [1.69E-01 1.61E-01 1.53E-01 1.43E-01 1.33E-01 1.22E-01 1.10E-01 9.81E-02 8.64E-02];
p = polyfit(x,y,2)
r = roots(p)
plot(x,y,'o')
ところが「データのセンタリングとスケーリングを試してください。」とのエラーが出ます。ただ、結果は出力されます。
xの値から指数を以下のように除くとエラーは出ません。
x = [3.51 2.94 2.49 2.14 1.85 1.63 1.45 1.31 1.19];
最初のデータでOctaveで行いますと、エラーは出ません。matlabとoctaveの結果は一致します。
多項式の曲線近似のエラーは無視してよいものでしょうか?

댓글 수: 2

Akira Agata
Akira Agata 2021년 1월 13일
polyfit の出力として第3引数を指定すると自動的にデータのセンタリングとスケーリングを実施しますので、このエラーが回避できるかと思います。polyfit 関数のヘルプページや、下記Answerが参考になるかと思います。
fumio hakamada
fumio hakamada 2021년 1월 13일
解決しました。ありがとうございました。

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 多項式에 대해 자세히 알아보기

제품

릴리스

R2020a

질문:

2021년 1월 12일

댓글:

2021년 1월 13일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!