関数'rescale'が実行できずに困っています.
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
タイトルの通りの悩みなのですが,’rescale’という関数が実行できずに困っております.
当方のMatlabのバージョンは2016bです.
他人から頂いたMatlabプログラムを実行しようとしたのですが,'rescale'の関数を実行する行(X_Ref = rescale(Ref); % )で下記のようにエラーが出てしまいます.
” 関数 'rescale' (タイプ'double' の入力引数) が未定義です。 ”
原因として,①使用している関数が、MATLABの検索パス上にないディレクトリに移動されたこと.②ライセンスに含まれない機能を使用しようとしている ことを疑い,パスの確認と関数がフォルダ上に存在していることを確認しました.
Matlabのヘルプセンターにてrescale関数の説明を読んだところ,rescale関数は2017のMatlabから追加されたことが参考欄に記載されておりました.
Matlabのバージョンが古いためにプログラムが実行できないのではないかと考えております.
つきましては,Matlab2016bにおいて,rescale関数と同等の働きをする関数か,2016bにおいてrescale関数を動作させる方法をご教授いただけないかと思います.
初歩的な質問で大変申し訳ございませんが,どなたか力を貸して頂けると幸いです.よろしくお願い致します.
0 commentaires
Réponse acceptée
Kenta
le 14 Juin 2020
function out=rescale(input)
MaxValue=max(input);
MinValue=min(input);
out=(input-MinValue)./(MaxValue-MinValue);
end
こんにちは、おそらく私もバージョンが理由だと思います。関数rescaleが未定義です、ということは、その関数自体が入っていないということでしょう。仰るような他の要因だと、また別のエラー文がでる気がします。
A = 1:5;
B = rescale(A)
シンプルなmax-min標準化であれば上のfunctionからendまでをrescale.mとして保存し、うえのコードを実行すれば本来返すべき値とおなじものを確認できました。ただ、詳細な設定をしたければ追加で書き加える必要があります。一応、rescale.mも添付します。また望むような結果が得られるか確認していただけると幸いです。よろしくお願いいたします。
1 commentaire
啓史 千葉
le 19 Juin 2020
ありがとうございます。やはりバージョンが原因で動作しませんでした。
2020年版のMatlabの体験版をダウンロードして再トライしたら動きました。助言ありがとうございます。
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!