Форум сайта python.su
А вы точно уверены в том, что там именно 40401 строка? Как вы это проверяете? Может вы смотрите не тот файл, что надо?
Офлайн
Смотрю через notepad++, там строки пронумерованы. 40401 строка потому, что те данные генерирует программа(ее не я писал, там ехе, написанный на С++): функция N(x,y) где x и y пробегают значения от 0 до 1 с шагом 0.005 (201 значение, 201*201 = 40401).
Отредактировано (Июнь 3, 2010 12:46:00)
Офлайн
Еще одно важное замечание, данные почему-то начинают считываться со 105 строки по 402 включительно, а не сначала и доконца файла .dat
Офлайн
Есть у меня чувство, что какой-то кривой этот файл. Попробуйте открывать его другими редакторами и запускать ваш скрипт на другой машине(переложив туда этот файл конечно). А размер файла соответствует количеству информации в нем?
Офлайн
Размер файла данных 1.14 мб.
Офлайн
Посмотрите на переводы строк в файле, везде ли они одинаковы
Офлайн
Не совсем понял, но вроде все переносы строк одинаковые. Если не сложно посмотрите плиз файл с данными.
Спасибо.
Офлайн
Посмотрел ваш файлик. Все нормально. Более того. Набросал вот такой скрипт:
#!/usr/bin/env python
# -*- coding: cp1251 -*-
i = 0
for line in open('d:\\out.dat', 'r'):
coords = line.split()
ksi_x = float(coords[0])
ksi_y = float(coords[1])
N = float(coords[2])
print i, ksi_x
i+=1
>>>Попробуйте повторить мой опыт.
0 0.0
1 0.005
2 0.01
3 0.015
4 0.02
5 0.025
6 0.03
7 0.035
8 0.04
9 0.045
10 0.05
11 0.055
12 0.06
13 0.065
14 0.07
15 0.075
16 0.08
17 0.085
18 0.09
19 0.095
20 0.1
….
40377 0.885
40378 0.89
40379 0.895
40380 0.9
40381 0.905
40382 0.91
40383 0.915
40384 0.92
40385 0.925
40386 0.93
40387 0.935
40388 0.94
40389 0.945
40390 0.95
40391 0.955
40392 0.96
40393 0.965
40394 0.97
40395 0.975
40396 0.98
40397 0.985
40398 0.99
40399 0.995
40400 1.0
>>>
Отредактировано (Июнь 3, 2010 15:11:16)
Офлайн
Использовал ваш код и кажется понял, проблема у меня была в отображении в консоле, у меня отображал последние 300 чисел и мой и ваш код, сейчас попробую данные сохранить в другой файл и станет все понятно, прошу тему не закрывать ибо самые главные вопросы по графику еще впереди, там нужно будет сделать одну непростую махинацию)))
Офлайн
Совсем что-то мозг кипит с этим графиком. Дело в том, что график задаваемый данными из файла нужно еще кое-как продлить…
Подскажите плиз, как реализовать такую вещь. Пусть x и y меняются в пределах от 1 до 3, нужно составить список данных, который пройдет все точки данной сетки(y постоянный, меняется x по всему диапазону, затем след. y и для него x из всего диапазона), т.е:
1 1
2 1
3 1
1 2
2 2
3 2
1 3
2 3
3 3
i = 0
k = 0
for y in range (0 , 2001):
for x in range (0 , 2001):
ks = str(i) + " " + str(k) + "\n"
k += 0.001
file.writelines(ks)
i += 0.001
Офлайн