Linear Algebra and the C Language/a036
Install and compile this file in your working directory.
/* ------------------------------------ */
/* Save as : c00b.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r,int c)
{
double **A = r_mR(i_mR(r,c),9);
double **B = r_mR(i_mR(r,c),9);
double **AmnsB = i_mR(r,c);
clrscrn();
printf(" A : ");
p_mR(A,S4,P0,C6);
printf(" B : ");
p_mR(B,S4,P0,C6);
printf(" A - B : ");
p_mR(sub_mR(A,B,AmnsB),S4,P0,C6);
stop();
clrscrn();
printf(" Copy/Paste into the octave window.\n\n");
p_Octave_mR(A,"A", P0);
p_Octave_mR(B,"B", P0);
printf("A - B\n");
p_mR(AmnsB,S4,P0,C6);
f_mR(A);
f_mR(B);
f_mR(AmnsB);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R4),rp_I(C4)+C2);
while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Screen output example:
A :
-3 +2 +2 -3
+4 +6 +5 -7
+6 +7 -9 -5
+3 -7 -9 -4
B :
+7 -9 +8 +6
+9 -8 +5 -4
+3 -3 +1 -5
+7 +5 -8 +6
A - B :
-10 +11 -6 -9
-5 +14 +0 -3
+3 +10 -10 +0
-4 -12 -1 -10
Press return to continue.
Copy/Paste into the octave window.
A=[
-3,+2,+2,-3;
+4,+6,+5,-7;
+6,+7,-9,-5;
+3,-7,-9,-4]
B=[
+7,-9,+8,+6;
+9,-8,+5,-4;
+3,-3,+1,-5;
+7,+5,-8,+6]
A - B
-10 +11 -6 -9
-5 +14 +0 -3
+3 +10 -10 +0
-4 -12 -1 -10
Press return to continue
Press X return to stop