#include "stdafx.h"

 
 
int _tmain(int argc, _TCHAR* argv[]){
int t,z;
double A = 0.0,B = 0.0;
double y[210],u[210],C[101];
double L,G,H,W,M,S,HW,GM,LS;
FILE *fo;
fo=fopen("kekka.xls","w");
 
 
for(t=0;t<206;t++)//初期化ループ
{
y[t]=15;
u[t]=0.0;
}
 
for(t=0;t<100;t++)
{
C[t]=0;
}
 
 
for(t=6;t<206;t++)//メインループ
{
A=0.0;
B=0.0;
y[t]=0.95*y[t-1]+0.025*u[t-5];//自分の温度モデルを入力
 
 
L = -(1/15)*y[t]+(5/3);
 
if(y[t]<25){
G = (1/15)*y[t]-(2/3);
}
else{
G = -(1/15)*y[t]-(8/3);
}
 
H = (1/15)*y[t]-(5/3);
 
if(L<0){L=0.0;}
if(L>1){L=1.0;}
if(G<0){G=0.0;}
if(G>1){G=1.0;}
if(H<0){H=0.0;}
if(H>1){H=1.0;}
 
 
for(z=0;z<101;z++){
W = -(1.0/50)*z+1.0;
 
if(z<50){
M = (1.0/50)*z;
}
else{
M = -(1.0/50)*z+2.0;
}
 
S = (1.0/50)*z-1;
 
if(W<0){W=0.0;}
if(W>1){W=1.0;}
if(M<0){M=0.0;}
if(M>1){M=1.0;}
if(S<0){S=0.0;}
if(S>1){S=1.0;}
 
if(H<=W){
HW = H;
}
else{
HW = W;
}
 
if(G<=M){
GM = G;
}
else{
GM = M;
}
 
if(L<=S){
LS = L;
}
else{
LS = S;
}
 
/* if(HW > GM || HW> LS){
C[z] = HW;
}
else if(GM > HW || GM > LS){
C[z] = GM;
}
else{
C[z] = LS;
}*/
if(HW<GM){
if(GM<LS){
C[z]=LS;
}else{
C[z]=GM;
}
}else{
if(HW<LS){
C[z]=LS;
}else{
C[z]=HW;
}
}
 
A += C[z];
B += C[z] * z;
}
if(B==0.0){
B=0.001;
}
if(A==0.0){
A=0.001;
}
printf("HW=%f,GM=%f,LS=%f\n",HW,GM,LS);
printf("A=%f,B=%f\n",A,B);
u[t] = B/A;
// u[t]=1.0;
 
 
printf("t=%d,y=%lf,u=%lf\n",t,y[t],u[t]);
 
fprintf(fo,"%d\t%f\t%f\n",t,y[t],u[t]);
 
}
 
fclose(fo);
 
 
inserted by FC2 system