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

8 次查看(过去 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!