Soru sorAlt programda fonksiyon çağırma
bankeryalcin tarafından 4 yıl önce soruldu

Merhaba arkadaşlar, alt programda;
function y=f(x)
y=2*x^5+10*x^2+4;
Tanımlayıp f.m adıyla kaydettim. Daha sonra ana programda;
clc;
fprintf(' x               f(x)\n')
fprintf('——————-\n')
x=[12 13 -4 5 -7 12 -71];
y=f(x);
fprintf('%d %15d \n',x,y)
Tanımlayıp f dosyasını çağırıp çözmeye çalışıyorum. Tek programda değil bu şekilde çözmem gerekiyor. Ana programda çalıştırmayı denediğimde hata alıyorum ve nerede hata yaptığımı bulamadım. Yardımlarınız için teşekkürler…

4 Cevap
sayginer Yönetici tarafından 4 yıl önce cevaplandı

Ne hatası alıyorsunuz?

bankeryalcin tarafından 4 yıl önce cevaplandı

x f(x)
——————-
Error using ^ (line 51)
Incorrect dimensions for raising a matrix to a power. Check that the matrix is square and the power is a
scalar. To perform elementwise matrix powers, use '.^'.
Error in f (line 2)
y=2*x^5+10*x^2+4;
Error in anaprog (line 5)
y=f(x);

sayginer Yönetici tarafından 4 yıl önce cevaplandı

Hata mesajından anlaşılacağı gibi üstel işlem yapmaya çalışırken sorun yaşanıyor. Yazdığınız y fonksiyonundaki üstel ifade MATLAB tarafından matris çarpımı olarak algılanıyor bundan dolayı da boyut uyuşmazlığı oluyor.
Ancak anladığım kadarı ile sizin yapmak istediğiniz her bir x değerini fonksiyonda işleme sokarak çalıştırmak. Bundan dolayı üsten ifadelerinizi ^ yerine .^ şeklinde yazmanız gerekiyor.

bankeryalcin tarafından 4 yıl önce cevaplandı

Gerçekten çok teşekkür ederim, sonunda yapabildim. İyi ki bu siteyi keşfetmişim, tekrardan sağolun.