我对h这个实验的价值感到有些困惑.在cpp,
int h,J=3,n=200,p=3,h_m=(n+p+1)/2;
float rt=(float)h_m/n;
for(int j=0,j<J,j++){
h=floor((j+1)/J*rt*(n-p-1)+p+1);
std::cout<<h<<" "<<j<<" "<<rt<<" "<<n-p-1<<" "<<h_i<<" "<<J<<std::endl;
}
Run Code Online (Sandbox Code Playgroud)
得到:
4 0 0.51 196 7 3
4 1 0.51 196 7 3
103 2 0.51 196 7 3
Run Code Online (Sandbox Code Playgroud)
我想要(这是在R):
n<-200
p<-3
h_m<-as.integer((n+p+1)/2)
J<-3
j<-0:(J-1)
rt<-h_m/n
floor((j+1)/J*rt*(n-p-1)+p+1)
[1] 37 70 103
Run Code Online (Sandbox Code Playgroud)
cpp构造有什么问题?
这个
(j+1)/J
Run Code Online (Sandbox Code Playgroud)
是整数除法,因此被截断.将其中一个操作数强制转换为float:
(j+1)/(float)J
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |