0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 7
|
||||||
1 | ||||||
Как объединить таблицы17.05.2018, 18:49. Показов 4501. Ответов 4
Метки нет (Все метки)
Добрый день, господа.
Столкнулся с небольшой проблемой: попытка объединения таблиц привела к "некрасивому" результату - пришлось вручную обходными путями создавать новый пустой массив, который поэлементно затем заполнялся. Нельзя ли как-то эффективнее сделать данный процесс? u[1..5][t] - численные решения имеющегося ОДУ 1 порядка, при этом значения функции f1[t] (других, соответственно, тоже) выводятся Математикой в фигурных скобках, а не просто числом. В результате весь массив B тоже состоит из кучи скобок, а ведь другой программе (тому же языку C++/фортран) надо будет прочитать этот файл. Можно как-то упростить жизнь?
0
|
17.05.2018, 18:49 | |
Ответы с готовыми решениями:
4
Как Правильно объединить таблицы Как объединить таблицы в Word Как объединить три таблицы? Как объединить 3 таблицы по дате? |
17.05.2018, 21:09 | 2 | |||||
Сообщение было отмечено Jennan как решение
Решение
Это из-за того, что NDSolve, как и другие подобные ей функции-решатели, возвращают список решений, каждое из которых для многомерных задач являются списком компонент типа Rule.
Поэтому expr /. NDSolve[...] будет возвращать список. Если заранее известно, что решение единственно (т-ма Коши), имеет смысл сразу писать NDSolve[...][[1]], тогда "лишних" скобок не будет. Если вдруг всё же мы получили список A списков чего-то (напр., ещё списков), можно "снять" один уровень скобок несколькими способами, которые могут давать различный эффект при нарушении вышеупомянутого предположения о единственности. 1. B = A[[1, All]]. Убираем скобочки с верхнего уровня, оставляя только первый элемент. 2. B = A[[All, 1]]. Убираем скобочки со второго уровня, оставляя только первый элемент. 3. B = Join @@ A. Убираем скобки с верхнего уровня, объединяя (конкатенируя). 4. B = Join @@@ A. Убираем скобки со второго уровня, объединяя (конкатенируя) на втором уровне. Короче, поиграйтесь.
0
|
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 7
|
|||||||||||
17.05.2018, 22:12 [ТС] | 3 | ||||||||||
Да, решение моего уравнения единственно. Просто количество u[1,....] зависит от количества точек разбиения промежутка.
Оба варианта действительно успешно справляются с моими кривыми руками, спасибо! P.S. Случайно нет волшебной функции, выводящей матрицу в файл в первозданном виде, а не на языке Математики со скобками? Как вариант можно и построчно, но в таком случае придется помучиться со считыванием Было несколько вариантов:
0
|
17.05.2018, 23:17 | 4 |
Для WM первозданный (каноничный) вид со скобками. Остальное уже альтернативные форматы.
Обычно для перевода в другой формат используется Export/Import. См. ref/Export, там вторым-третьим аргументом нужно будет передать "Table" (в кавычках). Также поищи "Table" (с кавычками) в документации, как формат.
1
|
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 7
|
|
18.05.2018, 01:30 [ТС] | 5 |
Большое спасибо за пояснения!
0
|
18.05.2018, 01:30 | |
18.05.2018, 01:30 | |
Помогаю со студенческими работами здесь
5
Как объединить (суммировать) 2 таблицы? Как объединить хитрые таблицы как объединить две таблицы? Как объединить две таблицы в одну ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |