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

6 ビュー (過去 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 件)

Community Treasure Hunt

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

Start Hunting!