Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
啓史 千葉
啓史 千葉 le 20 Juin 2020
Réponse apportée : michio le 20 Juin 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
原因が全くわからずに困っています。プログラム自体は問題なく動いています。
レベルの低い質問で申し訳ございまんが、どなたかご教授お願いします。

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Curve Fitting Toolbox 入門 dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!