Удар OS X: dirname

, который я не вижу, как можно использовать Гильбертову кривую в одном размере.

, Если Вы интересуетесь отображением точек к более низкому размеру при сохранении расстояний (с минимальной ошибкой) затем, можно изучить "Многомерное Масштабирование" алгоритмы.

Моделируемый отжиг является одним подходом.

Редактирование: Спасибо за комментарий. Я вижу то, что Вы подразумевали под Гильбертовым подходом Кривой теперь. Однако это - тяжелая проблема, и данный N=100 и 10 миллионов точек данных, я не думаю, что любой подход будет сохранять местность хорошо и работать за разумное количество времени. Я не думаю, что kd-деревья будут работать здесь.

При нахождении общего упорядочивания не важно для Вас, затем можно изучить находящееся на местности хеширование и другие приблизительные ближайшие соседние схемы. Иерархическое многомерное масштабирование с блоками точек для сокращения входного размера могло бы дать Вам хорошее упорядочивание, но снова это сомнительно в таком высоком размере.

9
задан Dinah 21 August 2009 в 17:27
поделиться

5 ответов

Что в итоге сработало для меня, так это изменение этого:

#!/bin/sh
cd `dirname $0`

На это:

#! /bin/zsh
cd "${0:h}"

Это также поддерживает имена файлов и пути к файлам, содержащие пробелы. Вот где я его нашел: http://rentzsch.com/unix/locationAwareCommandFiles

3
ответ дан 4 December 2019 в 09:37
поделиться

А как насчет:

cd "$(dirname "$0")"

У меня это работает.

12
ответ дан 4 December 2019 в 09:37
поделиться
#!/bin/sh
cd "$(dirname "$0")"
5
ответ дан 4 December 2019 в 09:37
поделиться

Экранирование внутренних двойных кавычек не требуется:

cd "`dirname "$0"`"

Но это не доходит до сути проблемы, которая заключается в том, что каким-то образом значение $ 0 кажется пустым или, возможно, чем-то странным. Попробуйте изменить выполнение сценария следующим образом:

bash -x scriptname

Это будет отображать каждую строку с интерполированными переменными перед ее запуском. Это очень полезно для отладки. Также весьма полезны:

-u: abort on attempt to use undefined variable
-e: abort on first error
2
ответ дан 4 December 2019 в 09:37
поделиться

Не уверен в этом... Но возможно ли, что ваш

#!/bin/sh 

Указывает на что-то, что не является bash? Я обычно использую:

#!/usr/bin/bash

Я новичок во всех этих скриптах, поэтому не уверен.

0
ответ дан 4 December 2019 в 09:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: