MATLAB işlevindeki değişkenleri bağlamak için deyimsel bir yol var mı? Bir fonksiyon yaratmak, birkaç argümanı bağlamak, sonra yeni fonksiyonu bir çeşit optimizatöre (benim durumumda, bir Newton çözücü) geçirmek oldukça yaygındır. Değişken kapsam belirleme kuralları iç içe geçmiş veya satır içi işlevlere sahip bir çözüme izin vermiyor gibi görünmüyor. Bir ders mi yaratmalıyım? MATLAB'ın birinci sınıf fonksiyon nesneleri olduğu görünmüyor, bu doğru mu? Kung-fu aramam kısa sürüyor. Teşekkürler! Örneğin, c parametresinin çeşitli değerleri için f (c, x) = x^3 + cx^2 + 2x + 3 köklerini bulmak istediğimi varsayalım. Newton'un bir metod çözücüsüne sahibim. Bu yüzden, c'nin çeşitli değerlerine geçiyorum, sonra bağlı fonksiyonu çözücüye iletiyorum.Kısmi İşlev Değerlendirme MATLAB
for c=1:10
g=f(c); % somehow bind value of c
seed=1.1; % my guess for the root of the equation
root=newton(g,seed); % compute the actual root
end
Eğer bahsettiğini bir örnek verebilir misiniz? F = @ (x, y) (x + y) 'in ötesinde ne var? –
Bir işlevi döndüren bir işlev mi demek istiyorsunuz? Örneğin. 'g = @ (baz, x) (@ (x) mod (x, taban)); f = g (3); 've şimdi' f (x) 'sadece' mod (x, 3) 'dir? –