انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
حل معادله به کمک fsolve (در متلب)

حل معادله به کمک fsolve (در متلب)

#1
سلام. من یک معادله رو برای مقادیر مختلف k و T میخوام حل کنم.
این معادله هست: C=s0*normcdf(d1)-K*exp(-mu*(T))*normcdf(d2)
و d1  و d2 هم به ان صورت تعریف شده:
d1=(log(s0/K)+(mu+0.5*(y^2))*T)/y*sqrt(T); d2=d1-y*sqrt(T)
y مجهول معادله هست.
این کد ماست برای حل کردن با fsolve:

  
کد پی‌اچ‌پی:
function F=basicfun(x)
mu=0.0011;
callt=[78.80,78.2,80.4,82.9,89.7;48.80,49.8,53.3,57.7,66.4;28.80,32.7,37.4,43,53.1;20.3,24.8,30.4,36.6,47.2;12.2,18.1,24.3,30.8,41.5;6.5,12.7,19,25.5,36.6;1.3,5.5,10.9,17,27.3;0.35,1.95,5.8,10.8,20.2;0.25,0.45,2,5.1,12.4];
T=[0.00555;0.0889;0.17222;0.3388;0.75];
k=[450,480,500,510,520,530,550,570,600];
s0=526.88;
d1=zeros(1,9);
d2=zeros(1,9);
for 
i=1:9
    
for j=1:5
        d1
(i)=(log(s0/k(i))+(mu+0.5*x^2)*T(j))/(y*sqrt(T(j)));
        
d2(i)=d1(i)-(y*sqrt(T(j)));
    
end
end
F
=s0*normcdf(d1)-k*exp(-mu*T)*normcdf(d2)-callt;
end 


کد پی‌اچ‌پی:
x0=0.7;
 [
x,fval]=fsolve(@basicfun1,x0

اما انگار در تعریف تابع اشکال هست! ممنون میشم راهنمایی کنید. 
پاسخ


پیام‌های این موضوع
حل معادله به کمک fsolve (در متلب) - توسط bonbon - ۱۳۹۴/۰۳/۱۵, ۰۳:۰۹ ب.ظ
RE: حل معادله به کمک fsolve (در متلب) - توسط admin - ۱۳۹۴/۰۳/۱۶, ۰۶:۰۲ ب.ظ
RE: حل معادله به کمک fsolve (در متلب) - توسط bonbon - ۱۳۹۴/۰۳/۱۶, ۱۱:۲۳ ب.ظ
RE: حل معادله به کمک fsolve (در متلب) - توسط amine - ۱۳۹۴/۰۳/۱۷, ۰۶:۳۱ ب.ظ
RE: حل معادله به کمک fsolve (در متلب) - توسط amine - ۱۳۹۴/۰۳/۱۷, ۰۸:۳۸ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان