コメント一覧

まえへ つぎへ
54 投稿者:Torの 2019/09/06 13:55:36



55 投稿者:名無しさん 2019/09/06 15:47:34
ここで一句。


56 投稿者:名無しさん 2019/10/29 12:13:25
#include<stdio.h>
#include<math.h>

float f(float x){
return(sqrt(x));
}

int main(void){
int i,n;
float a=0.0,b=1.0,S=0.0,x;
float t[3][4]={
{-0.5773502692,0.5773502692,0.0,0.0},
{-0.7745966692,0.0,0.7745966692,0.0},
{-0.8611363116,0.8611363116}};
float A[3][4]={
{1.0,1.0,0.0,0.0},
{0.5555555555,0.8888888888,
0.5555555555,0.0},
{0.3478548451,0.6521451549,
0.6521451549,0.3478548451}};

printf("input degree:");
scanf("%d",&n);

for(i=0;i<n;i++){
x=((b-a)*t[n-2][i]+(a+b))/2.0;
S+=A[n-2][i]*f(x);
}
S*=(b-a)/2.0;
printf("degree:%d, S=%f\n",n,S);
}




57 投稿者:名無しさん 2019/10/29 12:13:33
#include<stdio.h>
#include<math.h>

float f(float x){
return(4/(x*x+1));
}

int main(void){
int i,n;
float a=0.0,b=1.0,h,s1=0.0,s2=0.0,S,x;

printf("input n:");
scanf("%d",&n);
h=(b-a)/(2.0*n);

S=f(a)+f(b);

for(i=1;i<2*n;i++){
x=a+h*i;
if(i%2==1){
s1+=f(x);
}else{
s2+=f(x);
}
}
S=(S+4.0*s1+2.0*s2)*h/3.0;
printf("devide:%2d, S=%f\n",n,S);
}



58 投稿者:名無しさん 2019/10/29 12:13:40
#include<stdio.h>
#include<math.h>

float f(float x){
return(4/(1+x*x));
}

int main(void){
int i,n;
float a=0.0,b=1.0,h,S,x;

printf("input n:");

scanf("%d",&n);
h=(b-a)/n;

S=(f(a)+f(b))/2.0;
for(i=1;i<n;i++){
x=a+h*i;
S+=f(x);
}
S*=h;
printf("device:%2d, S=%f(%f)\n",n,S,M_PI-S);

}



59 投稿者:名無しさん 2019/11/05 12:15:46
ここで一句。


60 投稿者:名無しさん 2019/11/05 12:15:55
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define N 4

int main(){
int i,j,k,p;
float A[N][N+1],x[N],q;
FILE *fp;

if( (fp=fopen("20191105-1.dat","r"))==NULL) {
printf("cannot open file.\n");
exit(0);
}
for(i=0;i<N;i++)
for(j=0;j<N+1;j++)
fscanf(fp,"%f",&A[i][j]);
fclose(fp);
for(i=0;i<N;i++){
for(j=0;j<N+1;j++) printf("%6.2f",A[i][j]);
printf("\n");
}
printf("\n");
/* forward elimination */
for(k=0;k<N-1;k++){
for(j=k+1;j<N;j++){
if(fabs(A[k][k])<1.0e-6){
printf("A[k][k] is zero.\n");
exit(0);
}
q=A[j][k]/A[k][k];
for(p=k;p<N+1;p++) A[j][p]-=q*A[k][p];
}
}
/*backward substitution*/
for(i=N-1;i>=0;i--){
x[i]=A[i][N];
for(j=i+1;j<N;j++) x[i]-=A[i][j]*x[j];
x[i]/=A[i][i];
}
/*output result*/
for(i=0;i<N;i++){
for(j=0;j<N+1;j++) printf("%6.2f",A[i][j]);
printf("\t%6.2f\n",x[i]);
}
}




61 投稿者:名無しさん 2019/11/05 12:16:05
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define N 3

int main(void){
int i,j,k;
float A[N][N],L[N][N],U[N][N],x[N],b[N],y[N];
FILE *fp;

if( (fp=fopen("20191105-2.dat","r"))=NULL){
printf("cannnot open file.\n");
exit(0);
}
for(i=0;i<N;i++){
for(j<0;j<K;j++) fscanf(fp, "%f",&A[i][j]);
fscanf(fp,"%f",&b[i]);
}
fclose(fp);
for(i=0;i<N;i++){
for(j=0;j<N+1;j++) printf("%6.2f",A[i][j]);
printf("\n");
}
printf("\n");

for(i=0;i<N;i++){
for(j=0;j<N;j++){
L[i][j]=0.0;
U[i][j]=0.0;
}
x[i]=0.0;
}
/*A=LU (U=LT) -> L,U*/
for(j=0;j<N;j++){
for(i=j;i<N;i++){
if(i==j){
L[i][j]=A[i][j];
for(k=0;k<i;k++)
L[i][j]-=L[i][k]*L[i][k];
L[i][j]=sqrt(L[i][j]);
} else {
L[i][j]=A[i][j];
for(k=0;k<j;k++)
L[i][j]-=L[j][k]*L[i][k];
L[i][j]/=L[j][j];
}
U[j][i]=L[i][j];
}
}

for(i=0;i<N;i++){
for(j=0;j<N;j++) printf("%6.2f",L[i][j]);
printf("\t");
for(j=0;j<N;j++) printf("%6.2f",U[i][j]);
printf("\n");
}
printf("\n");
/*Ly=b -> y*/

for(i=0;i<N;i++){
y[i]=b[i];
for(j=0;j<i;j++) y[i]-=L[i][j]*y[j];
f[i]/=L[i][i];
}
/*Ux->x*/
for(i=N-1;i>=0;i--){
x[i]=y[i];
for(j=i+1;j<N;j++) x[i]-=U[i][j]*x[j];
x[i]/=U[i][i];
}
/*result*/
for(i=0;i<N;i++)printf("%6.2f\n",x[i]);

}



62 投稿者:名無しさん 2019/11/05 12:20:04
ここで一句。


63 投稿者:名無しさん 2019/11/05 12:20:20
//20191105_2 MaedaSoichiro

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

#define N 3

int main(void){
int i,j,k,p;
float A[N][N],L[N][N],U[N][N],x[N],b[N],y[N];
FILE *fp;

if((fp=fopen("191105_2.dat","r"))==NULL){
printf("cannot open file.\n");
exit(0);
}
for(i=0;i<N;i++){
for(j=0;j<N+1;j++)
fscanf(fp,"%f",&A[i][j]);
fscanf(fp,"%f",&b[i]);
}
fclose(fp);
for(i=0;i<N;i++){
for(j=0;j<N+1;j++)printf("%6.2f",A[i][j]);
printf("\n");
}
printf("\n");
/**/
for(i=0;i<N;i++){
for(j=0;j<N;j++){
L[i][j]=0.0;
U[i][j]=0.0;
}
x[i]=0.0;
}
/*A=LU (U=LT) -> L,U */
for(j=0;j<N;j++){
for(i=j;i<N;i++){
if(i==j){
L[i][j]=A[i][j];
for(k=0;k<i;k++)
L[i][j]-=L[i][k]*L[i][k];
L[i][j]=sqrt(L[i][j]);
}else{
L[i][j]=A[i][j];
for(k=0;k<j;k++)
L[i][j]-=L[j][k]*L[i][k];
L[i][j]/=L[j][j];
}
U[j][i]=L[i][j];
}
}

for(i=0;i<N;i++){
for(j=0;j<N;j++)printf("%6.2f",L[i][j]);
printf("\t");
for(j=0;j<N;j++)printf("%6.2f",U[i][j]);
printf("\n");
}
printf("\n");

/*ly=b -> y */
for(i=0;i<N;i++){
y[i]=b[i];
for(j=0;j<i;j++)y[i]-=L[i][j]*y[j];
y[i]/=L[i][i];
}
/*Ux=y -> x */
for(i=N-1;i>=0;i--){
x[i]=y[i];
for(j=i+1;j<N;j++)x[i]-=U[i][j]*x[j];
x[i]/=U[i][i];
}

/*result*/
for(i=0;i<N;i++)printf("%6.2f\n",x[i]);
}

/*
4.00 -2.00 0.00 -2.00
-2.00 2.00 -1.00 0.00
0.00 -1.00 2.00 0.00
*/





パスワード:


私は(カタカナで)ロボットではありません