MATLAB Answers

関数 'hasdata' (タイプ'double' の入力引数) が未定義です。の原因は何でしょうか

119 views (last 30 days)
Fork
Fork on 5 Oct 2018
Commented: Fork on 8 Oct 2018
カスタムミニバッチデータストアを使って、カラー画像で任意のノイズ画像生成を生成し、学習させたいと考えています。しかし、「関数 'hasdata' (タイプ'double' の入力引数) が未定義です。」というエラー文が出ますが、画像のサイズ的に読み込めないのでしょうか? どこを直したらよいでしょうか

  0 Comments

Sign in to comment.

Accepted Answer

mizuki
mizuki on 5 Oct 2018
これだけでは判断ができませんが、hasdata は特定のオブジェクトにのみ使用可能な関数(今回の場合データストア)ですので、入力引数がデータストアでないと上記のようなエラーが出ます。 例えば、以下のように double 型の入力引数 a を入れてみます。
a = [1:5];
while hasdata(a)
disp(a)
end
関数 'hasdata' (タイプ'double' の入力引数) が未定義です。
まずは hasdata 関数の入力引数がデータストア型になっているかを確認してみてください。
なお、型を確認するには class 関数を使用します。

  3 Comments

Fork
Fork on 5 Oct 2018
if hasdata(ds)
ds.CurrentImageIndex = ds.CurrentImageIndex + 1;
else
ds.CurrentImageIndex = 1;
end
なんですが、
function ds = RowColNoiseImageDatastore(imds,varargin)dsが引数になっていて、imdsはデータストア型でvararginが可変の入力引数のリストの入力変数でした。
どこを変更すればよいでしょうか
mizuki
mizuki on 5 Oct 2018
ds はデータストアになっていますでしょうか。
Fork
Fork on 8 Oct 2018
なっていませんでした。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!