[解決済み】「名前が重複する関数は定義できません」エラーが出るが、重複する関数はない。
2022-02-05 17:54:09
質問内容
Matlabで勾配降下の関数を書こうとして、次のようなエラーが発生しました。
Function with duplicate name "gradientDescent" cannot be defined
. 私が取り組んでいるプログラムには2つの関数があり、2つ目の関数を削除すると問題が解消されます。2つの関数は全く違う名前なのに、なぜこのようなことが起こるのか理解できません。以下はそのコードです。
function dJ = computeDerivative(X, y, theta, feature)
m = length(y); % number of training examples
hypothesis = X * theta;
error = ((hypothesis - y) / m) .* X(feature, :)
dJ = sum(error);
end
function theta = gradientDescent(X, y, theta, alpha, num_iters)
%GRADIENTDESCENT Performs gradient descent to learn theta
% theta = GRADIENTDESENT(X, y, theta, alpha, num_iters) updates theta by
% taking num_iters gradient steps with learning rate alpha
m = length(y); % number of training examples
for iter = 1:num_iters
for i = 1:length(theta)
theta(i) = theta(i) - alpha * computeDerivative(X, y, theta, i)
end
end
end
解決方法は?
MATLABの関数を作成する場合、各関数は別々のファイルに記述し、各ファイルの名前は関数名と同じにする必要があります。しかし、メインファイルがあり、ローカル関数が必要な場合、同じファイルにローカル関数を書くことができますが、メイン関数だけがその関数にアクセスすることができます。この場合、computeDerivativeがメイン関数で、gradientDescentがローカル関数になります。
関連
-
[解決済み】Matlab: 黒を使わないグレースケールでのimagescの使用
-
[解決済み] MATLAB: symからlogicalへの変換ができない
-
[解決済み] matlabで補強行列を作成し、縮小行エシュロン形式を作成する。
-
[解決済み] プロットを回転させる?
-
[解決済み] なぜSIFTはMatlabで利用できないのですか?
-
[解決済み] グラフと関係のないカスタム凡例を追加する
-
[解決済み] MATLABでマシンイプシロンを計算する方法は?
-
[解決済み] MATLABで音を止めるには?
-
[解決済み] Matlab の imrect を用いて,新しい矩形の座標を取得します.
-
[解決済み] 行列の列数を求めるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] matlabエディタで複数の行をコメントするためのショートカットキーはありますか?
-
[解決済み] MATLABエラー "このコンテキストでは関数定義は許可されていません。" [重複しています]。
-
[解決済み] Matlabのリスト理解
-
[解決済み] Matlab: 逆コサイン(acos)の完全解を返す
-
[解決済み] プロットを回転させる?
-
[解決済み] MATLABでベクトルの線形スパンを求める
-
[解決済み] MatlabのA=[x; y']は何を意味するのですか?
-
[解決済み] 入力引数が多すぎる Matlab ode45
-
[解決済み] Matlab: 小図形ウィンドウでYラベルが表示されない
-
[解決済み] ホールドオンでセミログプロット