c++ 코드를 해석해야되는데
아직 초보라 vector 이부분을 아예모릅니다
혹시 간단히라도 함수 어떤의미인지 정도만이라도 주석좀 달아주실수 있을까요???
코드는 아래입니다
#include <iostream>
#include <cmath>
#include <vector>
#include <fstream>
#include <iomanip>
using namespace std;
vector<double> linspace(int START, int END, int STEP)
{
vector<double> d;
double n = ((double)END - START) / (STEP-1);
for (int i=0; i<STEP; i++)
d.push_back(START+ n * i);
return d;
}
class BSex
{
private:
int m_E, m_L,m_Nx, m_Nt ;
double m_sigma, m_r,m_T;
public:
BSex(int nE, int nL, double nsigma, double nr, double nT, int nNx, int
nNt)
{
m_E=nE; m_L=nL; m_Nx=nNx; m_Nt=nNt;
m_sigma=nsigma; m_r=nr; m_T=nT;
}
~BSex(){};
void GetOptionPrice(void);
void WriteData(vector<double> S, vector<vector<double>> CP);
};
void BSex::WriteData(vector<double> S, vector<vector<double>> CP)
{
ofstream output;
output.open("BSex_x_Data.dat");
output<<fixed<<setprecision(4);
for (unsigned int i=0; i < S.size(); i++)
output<<setw(12)<<showpoint<<S[i];
output.clear();
output.close();
output.open("BSex_u_Data.dat");
for(unsigned int n=0;n<CP[0].size();n++)
{
for (unsigned int i=0;i<S.size();i++)
{
output<<setw(12)<<showpoint<<CP[i][n];
}
output<<endl;
}
output.clear();
output.close();
}
void BSex::GetOptionPrice()
{
vector<double> x=linspace(0,m_L,m_Nx);
vector<vector<double>> u(m_Nx, vector<double>(m_Nt+1));
double h=x[2]-x[1];
double k=m_T/m_Nt;
for(int i=0;i<m_Nx;i++)
{
if(x[i]<=m_E)
u[i][0]=0;
else
u[i][0]=x[i]-m_E;
}
for (int j=1;j<m_Nt+1;j++)
u[m_Nx-1][j]=m_L-m_E*exp(-m_r*k*j);
for(int n=0;n<m_Nt;n++)
{
for (int i=1;i<m_Nx-1;i++)
u[i][n+1] = u[i][n] +k*(pow(m_sigma,2)/2*pow(x[i],2)
*(u[i+1][n]-2*u[i][n]+u[i-1][n])/pow(h,2)+m_r*x[i]
*(u[i+1][n]-u[i-1][n])/(2*h)-m_r*u[i][n]);
}
WriteData(x,u);
}
int main()
{BSex ex(100,400,0.5,0.03,0.1,50,1000);
ex.GetOptionPrice();
}
.push_back(element) element를 맨뒤에 후벼박음 - return 0;
vector<type> type 의 타입을 가진 원소들을 보관하는 벡터임 - return 0;
근데 코드 진짜 좆같이 짜놨네 시벌 가독성 ㅇㄷ? - return 0;
그만 정신을 잃고 말았답니다
죄송하고 감사합니다....
무슨 코드일까!
유한차분법을 블랙숄즈에 대입한 코드입니다
옵션 가치 계산 프로그램 ㅋㅋ - return 0;
커헠님 주석 달아주시면 몸둘바를 모르겠습니다 ㅠㅠㅠ
어휴 시벌 나 대회중이라 못한다 - return 0;
+님 vector linspace에서 안에 변수들은 무슨의미인가요??