Message Boards Message Boards

0
|
4217 Views
|
5 Replies
|
1 Total Likes
View groups...
Share
Share this post:

Computation steps in a code?

Posted 3 years ago

Hello, I am trying to figure out the detailed steps of the attached computation.

data = {{5, 9}, {8, 15}};
p[x_] := a x + b; 
eqns = Table[p[data[[i, 1]]] == data[[i, 2]], {i, 2}]
 **Result**: {5 a + b == 9, 8 a + b == 15}

Is there a command that lets you see the detailed compute steps? I don't get how one gets the result. This is an example from the Linear Algebra training module.

Thank you, Andrew

Attachments:
POSTED BY: Andrew Skipor
5 Replies

Thank you very much! Andrew

POSTED BY: Andrew Skipor
Posted 3 years ago

Hi Andrew,

Another way to generate the equations. It has the advantage that it does not need hardcoded part indices and iteration variables, so it is easier to extend to more dimensions, and the Trace is much easier to understand.

MapThread[p[#1] == #2 &, Transpose@data]
(* {5 a + b == 9, 8 a + b == 15} *)

Trace[MapThread[p[#1] == #2 &, Transpose@data]] // TableForm

enter image description here

POSTED BY: Rohit Namjoshi

Hello Mike,

Thanks very much for your help! I was hoping these new commands would help me sort out the compute logic.

But I am not seeing what I was hoping to see:

  • How is "i" counted, from 1 to ? data[[i,1]] is ? data[[i,2]] is ?

Thanks, Andrew

POSTED BY: Andrew Skipor

Hello Mike, Thank you very much! Andrew

POSTED BY: Andrew Skipor
Posted 3 years ago

Check out Trace[].

In this case:

data = {{5, 9}, {8, 15}}; 
p[x_] := a x + b; eqns = 
 Trace@Table[
    p[data[[i, 1]]] == data[[i, 2]], {i, 2}] Result : {5 a + b == 9, 
    8 a + b == 15}

Then:

ToString[%] displays:


"{Table[p[data[[i,1]]] == data[[i,2]], {i, 2}] (Result:{5 a + b == 9, \
8 a + b == 15}), {{{{data (Result:{5 a + b == 9, 8 a + b == 15}), \
{{5, 9}, {8, 15}} (Result:{5 a + b == 9, 8 a + b == 15})}, {i \
(Result:{5 a + b == 9, 8 a + b == 15}), 1 (Result:{5 a + b == 9, 8 a \
+ b == 15})}, {{5, 9}, {8, 15}}[[1,1]] (Result:{5 a + b == 9, 8 a + b \
== 15}), 5 (Result:{5 a + b == 9, 8 a + b == 15})}, p[5] (Result:{5 a \
+ b == 9, 8 a + b == 15}), (a 5 + b) (Result:{5 a + b == 9, 8 a + b == \
15}), {(a 5) (Result:{5 a + b == 9, 8 a + b == 15}), (5 a) (Result:{5 \
a + b == 9, 8 a + b == 15})}, (5 a + b) (Result:{5 a + b == 9, 8 a + \
b == 15})}, {{data (Result:{5 a + b == 9, 8 a + b == 15}), {{5, 9}, \
{8, 15}} (Result:{5 a + b == 9, 8 a + b == 15})}, {i (Result:{5 a + b \
== 9, 8 a + b == 15}), 1 (Result:{5 a + b == 9, 8 a + b == 15})}, \
{{5, 9}, {8, 15}}[[1,2]] (Result:{5 a + b == 9, 8 a + b == 15}), 9 \
(Result:{5 a + b == 9, 8 a + b == 15})}, (5 a + b == 9) (Result:{5 a \
+ b == 9, 8 a + b == 15})}, {{{{data (Result:{5 a + b == 9, 8 a + b == \
15}), {{5, 9}, {8, 15}} (Result:{5 a + b == 9, 8 a + b == 15})}, {i \
(Result:{5 a + b == 9, 8 a + b == 15}), 2 (Result:{5 a + b == 9, 8 a \
+ b == 15})}, {{5, 9}, {8, 15}}[[2,1]] (Result:{5 a + b == 9, 8 a + b \
== 15}), 8 (Result:{5 a + b == 9, 8 a + b == 15})}, p[8] (Result:{5 a \
+ b == 9, 8 a + b == 15}), (a 8 + b) (Result:{5 a + b == 9, 8 a + b == \
15}), {(a 8) (Result:{5 a + b == 9, 8 a + b == 15}), (8 a) (Result:{5 \
a + b == 9, 8 a + b == 15})}, (8 a + b) (Result:{5 a + b == 9, 8 a + \
b == 15})}, {{data (Result:{5 a + b == 9, 8 a + b == 15}), {{5, 9}, \
{8, 15}} (Result:{5 a + b == 9, 8 a + b == 15})}, {i (Result:{5 a + b \
== 9, 8 a + b == 15}), 2 (Result:{5 a + b == 9, 8 a + b == 15})}, \
{{5, 9}, {8, 15}}[[2,2]] (Result:{5 a + b == 9, 8 a + b == 15}), 15 \
(Result:{5 a + b == 9, 8 a + b == 15})}, (8 a + b == 15) (Result:{5 a \
+ b == 9, 8 a + b == 15})}, {5 a + b == 9, 8 a + b == 15} (Result:{5 \
a + b == 9, 8 a + b == 15})}"
POSTED BY: Mike Besso
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract