필터 지우기
필터 지우기

ガウスフィッティング​をした際の警告の原因​がわかりません。

조회 수: 1 (최근 30일)
啓史 千葉
啓史 千葉 2020년 6월 20일
답변: michio 2020년 6월 20일
ガウスフィッティングをプログラム内で使っています。
プログラムを実行すると、毎回
警告: Y を double のベクトルに変換しています。
> In curvefit.attention/Warning/throw (line 30)
In fit>iFit (line 153)
In fit (line 116)
In FringePeak (line 61)
こんな警告文が出ます。警告が出ている原因と思われる部分を載せておきます。
for n =1:numfiles
f = fit(x.',alldata(n,:).','gauss1');
q = 0;
c = 1;
while q < 960
F(n,c) = f(q);
q = q + 0.1 ;
c = c+1;
end
end
原因が全くわからずに困っています。プログラム自体は問題なく動いています。
レベルの低い質問で申し訳ございまんが、どなたかご教授お願いします。

채택된 답변

michio
michio 2020년 6월 20일
例えば、、
x = 1:10;
y = string(1:10)
f=fit(x',y','gauss1')
で同じエラーがでます。
この時 y は string 型(文字)として入力しているのが問題ですが、MATLAB が勝手に気を利かせて数字として読み替えて fit 関数を実行しています。一応警告として y は数値に変えましたよ、というメッセージを出します。
これは一例ですが、y として与えている alldata の中身を確認してみると警告の理由がわかるかもしれません。いかがでしょう?

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Curve Fitting Toolbox 入門에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!