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/a0k2

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 : c00c.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ #define RA R3 #define CA C3 #define Cb C1 /* ------------------------------------ */ int main(void) { double ab[RA*(CA+Cb)]={ -2.0, -9.0, +4.0, -202.0, -1.0, +1.0, -1.0, +3.0, +8.0, +6.0, -2.0, +236.0 }; double **Ab = ca_A_mR(ab,i_Abr_Ac_bc_mR(RA,CA,Cb)); double **A = c_Ab_A_mR(Ab,i_mR(RA,CA)); double **b = c_Ab_b_mR(Ab,i_mR(RA,Cb)); clrscrn(); printf(" You have this nonlinear system of equations :\n\n"); printf(" a x*y + b x*z + c z**(1/2) = d \n"); printf(" e x*y + f x*z + g z**(1/2) = h \n"); printf(" i x*y + j x*z + k z**(1/2) = l \n\n"); printf(" We write X = x*y; Y = x*z; Z = z**(1/2);\n\n"); printf(" a X + b Y + c Z = d\n"); printf(" e X + f Y + g Z = h\n"); printf(" i X + j Y + k Z = l\n\n"); printf(" Ab :\n"); printf(" a b c d\n"); printf(" e f g h\n"); printf(" i j k l\n\n\n"); stop(); clrscrn(); printf(" With A:"); p_mR(A, S8,P4,C7); printf(" And b:"); p_mR(b, S8,P4,C7); printf(" Ab:"); p_mR(Ab, S8,P4,C7); stop(); clrscrn(); printf(" Copy/Paste into the octave window.\n\n"); p_Octave_mR(Ab,"Ab",P4); printf("\n rref(Ab,.00000000001)\n\n"); printf(" gj_TP_mR(Ab):"); p_mR(gj_TP_mR(Ab), S10,P4,C7); printf(" You have X= x*y = 15, Y = x*z = 20, Z = z**(1/2) = 2 \n\n"); printf(" These give x = 5, y = 3, z = 4 \n\n\n"); stop(); f_mR(Ab); f_mR(b); f_mR(A); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ Screen output example: You have this nonlinear system of equations : a x*y + b x*z + c z**(1/2) = d e x*y + f x*z + g z**(1/2) = h i x*y + j x*z + k z**(1/2) = l We write X = x*y; Y = x*z; Z = z**(1/2); a X + b Y + c Z = d e X + f Y + g Z = h i X + j Y + k Z = l Ab : a b c d e f g h i j k l Press return to continue. With A: -2.0000 -9.0000 +4.0000 -1.0000 +1.0000 -1.0000 +8.0000 +6.0000 -2.0000 And b: -202.0000 +3.0000 +236.0000 Ab: -2.0000 -9.0000 +4.0000 -202.0000 -1.0000 +1.0000 -1.0000 +3.0000 +8.0000 +6.0000 -2.0000 +236.0000 Press return to continue. Copy/Paste into the octave window. Ab=[ -2.0000,-9.0000,+4.0000,-202.0000; -1.0000,+1.0000,-1.0000,+3.0000; +8.0000,+6.0000,-2.0000,+236.0000] rref(Ab,.00000000001) gj_TP_mR(Ab): +1.0000 +0.0000 +0.0000 +15.0000 +0.0000 +1.0000 +0.0000 +20.0000 -0.0000 -0.0000 +1.0000 +2.0000 You have X= x*y = 15, Y = x*z = 20, Z = z**(1/2) = 2 These give x = 5, y = 3, z = 4 Press return to continue.