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

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 : c00b.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ #define RA R3 #define CA C3 #define Cb C1 /* ------------------------------------ */ int main(void) { double at[RA*CA]={ +10, -150, -148, +207, -215, +997, -858, +803, +289 }; double bt[RA*Cb]={ +437, -233, +444 }; double **A = ca_A_mR(at, i_mR(RA,CA)); double **B = ca_A_mR(bt, i_mR(RA,Cb)); double **InvA = invgj_mR(A, i_mR(RA,CA)); double **X = mul_mR(InvA,B, i_mR(RA,Cb)) ; double **T = mul_mR(A,X, i_mR(RA,Cb)) ; clrscrn(); printf(" We want to find X such as, \n\n"); printf(" AX = B \n\n"); printf(" If A is a square matrix and, \n\n"); printf(" If A has an inverse matrix, \n\n"); printf(" you can find X by this method\n\n"); printf(" X = inv(A) B \n\n\n"); printf(" To verify the result you can \n\n"); printf(" multiply the matrix A by X. \n\n"); printf(" You must refind B. \n\n"); stop(); clrscrn(); printf(" A:"); p_mR(A,S5,P0,C7); printf(" B:"); p_mR(B,S5,P0,C7); printf(" InvA:"); pE_mR(InvA,S1,P3,C7); printf(" X = InvA B:"); p_mR(X,S13,P4,C7); stop(); clrscrn(); printf(" B:"); p_mR(B,S5,P0,C7); printf(" AX:"); p_mR(T,S5,P0,C7); stop(); f_mR(T); f_mR(X); f_mR(B); f_mR(InvA); f_mR(A); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ Screen output example: We want to find X such as, AX = B If A is a square matrix and, If A has an inverse matrix, you can find X by this method X = inv(A) B To verify the result you can multiply the matrix A by X. You must refind B. Press return to continue. A : +10 -150 -148 +207 -215 +997 -858 +803 +289 B : +437 -233 +444 Press return to continue. inv(A) : -6.568e-03 -5.747e-04 -1.381e-03 -6.967e-03 -9.447e-04 -3.091e-04 -1.389e-04 +9.186e-04 +2.200e-04 X = inv(A) * B : -3.3492 -2.9619 -0.1771 Press return to continue. B : +437 -233 +444 AX : +437 -233 +444 Press return to continue.