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

3 Ansichten (letzte 30 Tage)
啓史 千葉
啓史 千葉 am 20 Jun. 2020
Beantwortet: michio am 20 Jun. 2020
ガウスフィッティングをプログラム内で使っています。
プログラムを実行すると、毎回
警告: 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
原因が全くわからずに困っています。プログラム自体は問題なく動いています。
レベルの低い質問で申し訳ございまんが、どなたかご教授お願いします。

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Curve Fitting Toolbox 入門 finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!