# ClassPad software problems

### #1

Posted 24 October 2003 - 01:23 AM

First, I want say about the ?Fatal Exception Error Occur? table. This appear, and then the ClassPad restart as you press P-Button at its back. Something is very strange: some of your current data may be lost, and some deleted data is recover ( eg: in main app).

You may see this error when you try to find the maximum value of f(x)= -x^4-x^2-2 in Real setting. If you change to Complex, nothing happen !

Another probem is why the classpad take so much time to draw y=sqrt(x), y=log(a,x) when you set default ViewWindow (VW)? It will be fast if you change VW to:

-1, 14.4, 1, -3.8, 3.8, 1. Becase sqrt(x) only defined if and only if x>=0 so when you minimize the negative of x-axis value, it will perform calculation faster. Why? My AFX 2.0+ doesn?t take so much time as classpad.

I think that they can reduce the number of digit of the result in Table. For example, make the table of y=sin(x) ,-2pi <= x <= 2pi, pitch: pi/6. The result shows 16 digits in one number. (eg: sin(pi/3)=0.86602540378444, we don?t need so much digit like this).

I hope you can understand what I said , my English is terrible.

If you have any problem, write it here so that Saltire can know what they should improve their Classpad ?s software.

### #2

Posted 24 October 2003 - 03:24 AM

I've asked casio about a way to manually back things up with out turning off the calc, but they have not responded to that, it way be that they cant talk about it because its being planned for a future release.

### #3

Posted 24 October 2003 - 12:21 PM

As for the graphing of non real results:

I think the classpad uses full algebraic (as oposed to numeric) calculation internally, and thus finding complex results might take a bit longer.

In the afx, any complex result is discovered quickly, and causes no slowdown.

### #4

Posted 15 November 2003 - 11:37 AM

Another problem:

In Sequence mode, it take a long time to make a table for :

a1=sqrt(2)

a(n+1)=sqrt(2+a(n))

More than 10 seconds for 5-factor-table. In the AFX 2.0+, it takes 1 second.

How slow!

### #5

Posted 15 November 2003 - 02:55 PM

I would assume there are 2 main reasons for this:

1) All internal calculation is performed algebraically (please correct me if I'm wrong)

and

2) The way things are stored in the classpad. Memory is allocated dynamically in a linked list manner it seems. This make access, traversal, and creation of (in particalur) cells in lists very slow. We can only hope Casio decides to do something with this in later OS updates, say by adding a variable type such as lists who's elements are of static size (stored in a vector like manner).

I know this doesn't rid you of the frustration you're probably feeling from this, but right now the classpad is not a great tool for list based calculations.

### #6

Posted 16 November 2003 - 11:33 AM

About "Fatal exception error occur", Mr Brian (From ClassPad support) told me that it is because of one of two reasons:

- There are no error table for this error.

- That may be a bug.

He said that if there are error, tell him.

### #7

Posted 16 November 2003 - 02:51 PM

### #8

Posted 19 November 2003 - 03:17 AM

In Graph&Table, I draw y=sin(x) and y=cos(x). Then, set VW to : xmin:0, xmax:3pi. Then I chose Zoom auto in Zoom menu. I try to find the intersection and the ClassPad did it well and fast. But when I want to determine the roots of y=cos(x), only the first root can be obtained, the second time I tap right controller, Can ' t Solve error table occur. Why did it happend? (Finding roots of y=sin(x) is Ok).

### #9

Posted 19 November 2003 - 12:32 PM

--- EDIT ---

If you're view-window isn't exactly [0,3pi], but for example [0,3pi-1e-9] it works fine though :/

### #10

Posted 03 December 2003 - 04:04 PM

solve(1/(pi*x)=x)

No real solutions. Complex solution is a mystery also.

My TI89, on the other hand, says:

x=1/sqrt(pi)

x=-1/sqrt(pi)

It seems any time pi is in the denominator, there is this same behavior. Try removing pi and it will find a correct solution.

Can someone expain why this is?

(I'm still using the simulator as the real thing is apparently coming from the US to Europe on foot.)

__tonyp__

*AT*acm.org### #11

Posted 03 December 2003 - 06:04 PM

It doesn't assume pi to be positive for some reason :/ and gives you the complex answers:

x = i / (-pi)^.5

x = -i / (-pi)^.5

this is equivalent of

x = 1 / pi^.5

x = -1 / pi^.5

If you replace 'pi' with an unknown variable, for example a, and set 'a>0' as an option, it will produce real results directly

like this:

**solve( 1/(a*x) = x ) | a>0**

gives:

x = -1 / a^.5

x = 1 / a^.5

btw, this question is solved faster by hand..

anyways, it seems the calculator makes some (or "forgets" to make) really strange assumptions when using 'pi'.. :/

--- EDIT ---

If you set it to simplify the result, it will cancel out the imaginary part. Like this:

**simplify( solve( 1/(x*pi) = x ) )**

gives:

x = -1 / pi^.5

x = 1 / pi^.5

alteternatively you could take the real part of the answer, like this.

**re( solve( 1/(x*pi) = x ) )**

In this case, that would produce the same result, but if the answer was in fact complex, then this would produce bogus results

### #12

Posted 03 December 2003 - 07:01 PM

Well, pi is a constant (known specific value) so it shouldn't be treated as if it were a variable with unknown possible values. By the way, I tried |pi>0 but that didn't help as in the variable example you provided.

>btw, this question is solved faster by hand..

This example is indeed solved faster by hand but it was reduced from a much larger calculation to hilite the problem.

I'm planning to give this calculator to my nephew (and buy another one for myself if I end up liking it too much) to help him with his math (understand it better and verify his own work). He hasn't learned about complex numbers yet, so I plan to set it to REAL mode all the time.

So, it's good to find out about ClassPad's little quirks like this so I can warn him before he mistakenly ends up hating math for being unintelligible.

__tonyp__

*AT*acm.org### #13

Posted 03 December 2003 - 07:54 PM

Well hopefully they will sort out these issues in the next OS update (haven't tried the one that's out now, cause I'm not able to install it ),

and your nephew will be able to use the CP without having to worry about these little oddities

### #14

Posted 04 December 2003 - 07:27 AM

I think this is not the solution you want, but setting the CP to dezimal-mode gives a real solution(CP is still doing a complex calculation so you have to keep the complex-mode).

### #15

Posted 05 December 2003 - 08:49 PM

Reinstalled windows first .. There's definetly something odd with the Installation software though, 'cause with later installations, the 'preparing to install' thingy had the title and text from the Spreadsheet installation....

### #16

Posted 06 December 2003 - 01:16 PM

try this:

the awnser should be false, BUT, it gives a Undefined

while it give says true when i input judge((a*d+b*d+c)/d=a+b+c/d)

and false when judge((a*d+b*d+c)/d=a+b-c/d)

Could this be a bug?

done in V1.2

### #17

Posted 06 December 2003 - 01:39 PM

(a*d + b*d + c)/d = a + b + c/d => true

(a*d + b*d + c)/d = a + b - c/d => false

### #18

Posted 06 December 2003 - 05:08 PM

something went wrong

judge((a*d+b*d+c)/d=a+b-c)

It SHOULD awnser false but gives undefined

### #19

Posted 06 December 2003 - 09:37 PM

and it says Undefined with (4a+4b+c)/4 = a+b+c too (and THERE is no problem of out_of_domain_error)

### #20

Posted 07 December 2003 - 02:20 AM

### #21

Posted 07 December 2003 - 02:47 AM

(I thought it didn't.. couldn't get it to do.. tried again after I saw your post.. didn't know you need to have the '|' inside the judge statement )

### #22

Posted 07 December 2003 - 07:12 PM

(a*d + b*d + c)/d = a + b + c/d => true

must be undefined : if d = 0 the result is NOT true NOR false and IS undefined, so the calc must say Undefined since it can't know if the real answer is true or undefined. . . . (understandable ? )

### #23

Posted 07 December 2003 - 07:18 PM

c/d == c/d <- this will never evaluate FALSE, no matter what values 'c' and 'd' have

--- EDIT ---

obviously if you set 'c/d' to an undifened value (by setting 'd=0'), you won't be able to evaluate it in any logical way.. undifened == undefined still yields TRUE though

--- EDIT 2 ---

hmm.. actually, setting '| d=0' evaluates the expressions to FALSE.. probably because it doesn't evaluate 'a*0/0 = a' but rather to 'undefined', and thus the expression evaluates to FALSE (although, in the case of these assumptions it should evaluate to 'undefined')

### #24

Posted 07 December 2003 - 07:33 PM

### #25

Posted 07 December 2003 - 07:39 PM

But for evaluating an algebraic expression 'a * d / d' taken 'd=0', it should evaluate equal to 'a'

However, when you end up with 'undefined = undefined' in your judge statement, this should not return 'false', since the answer could be 'true'.. rather it should return 'undefined'

### #26

Posted 23 December 2003 - 02:36 AM

#### 0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users