Spinosaurus

115 Reputation

4 Badges

8 years, 223 days

MaplePrimes Activity


These are replies submitted by Spinosaurus

I propose next solution:

1. Use "readbytes" to read large file

2. Construct from input matrix large string

3. Convert string to Vector[row]

4. Import data from Vector[row]

So, as I understand the main problem consist with "parse". It works very slow.

Now my quesiton is: How to parse large string fast?

Fast_read_test.mw

@tomleslie 

I'm so sorry. I have uploaded the wrong link.

This is the right one:

https://cloud.mail.ru/public/FLa3/sYP3cNkWj

My code:

restart;
s := time(); L0 := ImportMatrix("D:\\HugeTest.TXT", source = delimited, delimiter = " ", datatype = float[8]); time()-s;
 

My file:

https://cloud.mail.ru/public/Jwbg/XXBKQDhLp

@tomleslie 

Thank you!

Your answer is very useful. Now I use continuous function: "signum(z)*ln(abs(z))/sqrt(exp(abs(z)))".

This is my result:

Thank you for your timely advice.

@tomleslie 

First of all thank you for your answer. Your advice solved my problem.

Now I use:

plot(L0[..,1], L0[..,2], style=pointline, symbol=point, axes = box, size = [600, 320]);

P.S. About: L0[()..()]. It is weird but if I use Ctrl+C and Ctrl+V to insert code (plot(L0[.., 1], L0[.., 2])) from Maple in my comment, I will obtain this result: plot(L0[() .. (), 1], L0[() .. (), 2]).

@acer Thank you very much!

@Carl Love 

Thank you very much!

@Alejandro Jakubi 

Thank you. I've just installed update again and now everything is all right.

@Markiyan Hirnyk 

Thank you!

1 2 Page 2 of 2