[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
この機能を使うにはJavaScriptを有効にしてください
|
さらみ1
77
:
名前とか無いよ、うん
:2008/07/01(火) 22:16:57 ID:5fh3Nsws0
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX 100
void linfit(double[], double[], int);
double sum(double[], int);
int main(int argc, char *argv[])
{
FILE *fp;
double tmp;
double electric_conductivity[MAX];
double thermal_conductivity[MAX];
char *filename;
int i, n=0;
for(i = 0; i < argc; i++){
filename = argv[i];
}
if(NULL == (fp = fopen(filename, "r"))){
printf("file open err\n");
exit(1);
}
while(fscanf(fp, "%*d%*s%*s%lf%lf%lf", &tmp, &electric_conductivity[n], &thermal_conductivity[n]) != EOF){
n++;
}
linfit(electric_conductivity, thermal_conductivity, n);
fclose(fp);
return 0;
}
void linfit(double x[], double y[], int datanum)
{
double a, b;
double *xy, *x2;
int i;
xy = (double *) malloc(datanum * sizeof(double));
x2 = (double *) malloc(datanum * sizeof(double));
for(i = 0; i < datanum; i++){
xy[i] = x[i] * y[i];
x2[i] = x[i] * x[i];
}
a = ( datanum * sum(xy, datanum) - sum(x, datanum) * sum(y, datanum) ) / ( datanum * sum(x2, datanum) - pow(sum(x, datanum), 2) );
b = ( sum(x2, datanum) * sum(y, datanum) - sum(xy, datanum) * sum(x, datanum) ) / ( datanum * sum(x2, datanum) - pow(sum(x, datanum), 2) );
free(xy);
free(x2);
printf("a = %e\nb = %e\n", a, b);
return;
}
double sum(double data[], int datanum)
{
int i;
double sum = 0.0;
for(i = 0; i < datanum; i++){
sum += data[i];
}
return sum;
}
ただ、あんまり気に食わない
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板