Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Linear Algebra and the C Language/a08b

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

__NOTOC__ Install and compile this file in your working directory. /* ------------------------------------ */ /* Save as : c00a.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ #define RA R3 #define CA C4 #define Cb C1 /* ------------------------------------ */ /* ------------ Chemistry ------------ */ void p_xn_mR( double **b ) { int r; for(r=R1; r<b[R_SIZE][C0]; r++) printf("double x%d = %+0.8f;\n",r,b[r][C2]); printf("\n\n"); } /* ------------------------------------ */ /* ------------------------------------ */ int main(void) { double ab[RA*(CA+C1)]={ 3, 0, -1, -0, 0, //C 8, 0, -0, -2, 0, //H 0, 2, -2, -1, 0, //O }; double **Ab = ca_A_mR(ab,i_Abr_Ac_bc_mR(RA,CA,Cb)); double **Ab_free = i_Abr_Ac_bc_mR(csize_A_R(Ab),csize_A_R(Ab),Cb+C1); double **b_free = i_mR(rsize_R(Ab_free),csize_b_R(Ab_free)); clrscrn(); printf(" Ab :"); p_mR(Ab,S10,P4,C10); printf(" Ab : gj_PP_mR(Ab,NO) :"); gj_PP_mR(Ab,NO); p_mR(Ab,S10,P4,C10); put_zeroR_mR(Ab,Ab_free); printf(" Ab_free : put_zeroR_mR(Ab,Ab_free);"); p_mR(Ab_free,S10,P4,C10); put_freeV_mR(Ab_free); printf(" Ab_free : put_freeV_mR(Ab_free);"); p_mR(Ab_free,S10,P4,C10); stop(); clrscrn(); printf(" Ab_free : gj_PP_mR(Ab,YES);"); gj_PP_mR(Ab_free,YES); p_mR(Ab_free,S10,P4,C10); c_Ab_b_mR(Ab_free,b_free); printf(" b_free : free variables"); p_freeV(b_free,S8,P8); printf("Copy/Paste These code in the c00b.c file.\n\n"); p_xn_mR(b_free); stop(); f_mR(Ab); f_mR(Ab_free); f_mR(b_free); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ The values ​​for calculating the coefficients of the chemical equation are given in a list. You need to copy the list of these values ​​into the following file: c00b.c. Screen output example: Ab : +3.0000 +0.0000 -1.0000 +0.0000 +0.0000 +8.0000 +0.0000 +0.0000 -2.0000 +0.0000 +0.0000 +2.0000 -2.0000 -1.0000 +0.0000 Ab : gj_PP_mR(Ab,NO) : +1.0000 +0.0000 +0.0000 -0.2500 +0.0000 +0.0000 +1.0000 -1.0000 -0.5000 +0.0000 -0.0000 -0.0000 +1.0000 -0.7500 -0.0000 Ab_free : put_zeroR_mR(Ab,Ab_free); +1.0000 +0.0000 +0.0000 -0.2500 +0.0000 +0.0000 +0.0000 +1.0000 -1.0000 -0.5000 +0.0000 +0.0000 -0.0000 -0.0000 +1.0000 -0.7500 -0.0000 +0.0000 +0.0000 +0.0000 +0.0000 +0.0000 +0.0000 +0.0000 Ab_free : put_freeV_mR(Ab_free); +1.0000 +0.0000 +0.0000 -0.2500 +0.0000 +0.0000 +0.0000 +1.0000 -1.0000 -0.5000 +0.0000 +0.0000 -0.0000 -0.0000 +1.0000 -0.7500 -0.0000 +0.0000 +0.0000 +0.0000 +0.0000 +1.0000 +0.0000 +1.0000 Press return to continue. Ab_free : gj_PP_mR(Ab,YES); +1.0000 +0.0000 +0.0000 +0.0000 +0.0000 +0.2500 +0.0000 +1.0000 +0.0000 +0.0000 +0.0000 +1.2500 +0.0000 +0.0000 +1.0000 +0.0000 +0.0000 +0.7500 +0.0000 +0.0000 +0.0000 +1.0000 +0.0000 +1.0000 b_free : free variables x1 = +0.00000000 +0.25000000*u x2 = +0.00000000 +1.25000000*u x3 = +0.00000000 +0.75000000*u x4 = +0.00000000 +1.00000000*u Copy/Paste These code in the c00b.c file. double x1 = +0.25000000; double x2 = +1.25000000; double x3 = +0.75000000; double x4 = +1.00000000; Press return to continue.