Rev 16120 | Rev 16209 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | reyssat | 1 | !set methtit=Rewrite an equation |
2 | !set methenv=ZZ QQ RR CC |
||
3 | !set methparmtype=parm equation, function, choice, function |
||
4 | !set methhelp=You can use this method to transform an existing equation\ |
||
5 | into an equivalent one, by a composition of addition of terms,\ |
||
6 | exchange of sides and multiplication by a non-zero constant. |
||
7 | |||
8 | !if $wims_read_parm iswordof form check |
||
16120 | bpr | 9 | !goto $wims_read_parm |
20 | reyssat | 10 | !endif |
11 | |||
12 | !exit |
||
13 | :form |
||
16135 | bpr | 14 | Rewrite the equation |
15 | !read deduc/methparm.phtml 1 |
||
16 | to <br/> |
||
17 | <input size="15" name="methparm2" value="$methparm2"/> |
||
18 | = |
||
19 | <input size="15" name="methparm4" value="$methparm4"/> |
||
20 | !set methremark=Your new equation must be equivalent to the original one. |
||
20 | reyssat | 21 | !exit |
22 | :check |
||
16120 | bpr | 23 | !distribute items $methparmobj1 into data,left1,sign1,right1 |
24 | sign2== |
||
25 | sign3== |
||
26 | !if $sign2 notsametext $sign1 and $sign3 notsametext $sign1 |
||
20 | reyssat | 27 | :badequiv |
28 | error=Your new equation is not equivalent to the original one! |
||
29 | !advance penalty |
||
30 | !exit |
||
16120 | bpr | 31 | !endif |
32 | |||
20 | reyssat | 33 | check1=($left1) - ($right1) |
34 | check2=($methparm2) - ($methparm4) |
||
16120 | bpr | 35 | |
20 | reyssat | 36 | !read deduc/sub/checkzero $check1\ |
37 | $check2 |
||
38 | !distribute line $out into out1, out2 |
||
38 | reyssat | 39 | !read deduc/sub/_Simplify ($check1) / ($check2) |
20 | reyssat | 40 | out3=$out |
41 | !if $out1=yes or $out2=yes |
||
42 | !if $out1!=yes or $out2!=yes |
||
43 | !goto badequiv |
||
44 | !endif |
||
45 | !else |
||
46 | out3=$[$out3] |
||
47 | !if NaN isin $out3 or Inf isin $out3 |
||
48 | !goto badequiv |
||
49 | !endif |
||
50 | !endif |
||
51 | methexp=Rewriting of \($left1 = $right1) |
||
52 | |||
53 | newobject1=$methparm2 = $methparm4 |
||
54 | oldobject=1 |
||
55 | |||
56 | !exit |