Найдено 1814 результатов

uni
Пт апр 27, 2012 2:22 pm
Форум: Mathсad
Тема: Стереть лишнюю линию
Ответы: 18
Просмотры: 6729

Изображение
uni
Чт апр 26, 2012 2:17 pm
Форум: Mathсad
Тема: Коротко записать сист. ур-ий для метода Рунге-Кутта
Ответы: 15
Просмотры: 6601

То что вы думаете, на самом деле таковым не является. Использование ранжированной переменной i таким образом не делает D() вектором в том понимании, которое требуется для вычисления функции rkfixed(). В вашей записи вообще нет поэлементного определения D(). То, что вы хотите можно записать вот так: ...
uni
Чт апр 26, 2012 1:37 pm
Форум: Mathсad
Тема: Стереть лишнюю линию
Ответы: 18
Просмотры: 6729

Здорово. Там есть ещё варианты на эту тему: - дерево Пифагора в виде стебля и двух отростков (вот тут есть в конце: http://ru.smath.info/forum/default.aspx?g=posts&t=674); - дерево Пифагора, обдуваемое ветром, когда параметры построения левой и правой "ветки" отличаются. Может как-нить...
uni
Чт апр 26, 2012 12:47 pm
Форум: Mathсad
Тема: Коротко записать сист. ур-ий для метода Рунге-Кутта
Ответы: 15
Просмотры: 6601

Чтобы ответить на этот вопрос желательно познакомиться с тем, как устроен решатель ОДУ хотя бы в общих чертах. Кратко, D() должна возвращать матрицу. Это написано в справке к функции rkfixed: D is a vector function of the form D(x,y) specifying the right-hand side of the system. Также на пут...
uni
Ср апр 25, 2012 7:10 pm
Форум: Mathсad
Тема: Коротко записать сист. ур-ий для метода Рунге-Кутта
Ответы: 15
Просмотры: 6601

Увеличение времени расчёта - это общее правило для такого рода манипуляций, поскольку матрица заменяется на программный блок и в общем случае это приводит к увеличению количества операций. В данном конкретном случае я просто это интуитивно предположил, хотя в Mathcad есть средства для измерения врем...
uni
Ср апр 25, 2012 4:51 pm
Форум: Mathсad
Тема: Коротко записать сист. ур-ий для метода Рунге-Кутта
Ответы: 15
Просмотры: 6601

Так оставлять нельзя, т.к. в этом случае общее время вычисления увеличивается в N раз, по сравнению с вашим первым вариантом, где N - размер системы. На каждом шаге итерации решателя все N элементов матрицы вычисляются заново, поэтому нужно сделать ещё одну вещь, которую я показал выше - символьную ...
uni
Ср апр 25, 2012 4:37 pm
Форум: Mathсad
Тема: Коротко записать сист. ур-ий для метода Рунге-Кутта
Ответы: 15
Просмотры: 6601

Правильным было бы сделать вот так, но почему-то решения уходят в "большие числа":

Изображение
uni
Ср апр 25, 2012 3:57 pm
Форум: Mathсad
Тема: Коротко записать сист. ур-ий для метода Рунге-Кутта
Ответы: 15
Просмотры: 6601

Сокращённый вариант записи, если выражение сложное, предполагает динамическое формирование массива системы. Это не есть хорошо. Если не хотите программировать вне Mathcad, тогда придётся обойти проблему - написать альтернативный решатель ОДУ методом Рунге-Кутта с фиксированным шагом на языке програм...
uni
Ср апр 25, 2012 3:22 pm
Форум: Mathсad
Тема: Коротко записать сист. ур-ий для метода Рунге-Кутта
Ответы: 15
Просмотры: 6601

Можно было бы через программный блок при описании системы D(), но почему-то у меня в MC15 это не заработало. Думается, что в случае большой системы лучше написать пользовательскую dll, в которую передавать параметры для расчёта. Так и быстрее будет, и проблем с размерами не будет. Т.е. нужно написат...
uni
Вт апр 24, 2012 11:55 am
Форум: Mathсad
Тема: Стереть лишнюю линию
Ответы: 18
Просмотры: 6729

Валерий Фёдорович, куда слать-то? Это черновой вариант, я бы не стал его показывать как пример программирования. Просто набросал вечером для девушки :) , чтобы знала как это может выглядеть чуть компактнее.
uni
Пн апр 23, 2012 11:37 pm
Форум: Mathсad
Тема: Стереть лишнюю линию
Ответы: 18
Просмотры: 6729

Я имел в виду нечто вроде этого, когда говорил про рекурсию. А комплексный приём вы поняли правильно.

Изображение
uni
Пн апр 23, 2012 8:46 pm
Форум: Mathсad
Тема: Стереть лишнюю линию
Ответы: 18
Просмотры: 6729

Типа круто :)
Могли бы ещё оставить потомкам результаты построения.
uni
Пн апр 23, 2012 12:41 pm
Форум: Mathсad
Тема: Запись в глобальную переменную из программного блока?
Ответы: 1
Просмотры: 1676

Такого способа нет, т.к. Mathcad автоматически создаёт локальные переменные внутри программы. Поэтому любое присвоение глобальной переменной таким образом просто создаёт локальную переменную и более ничего. Тот способ, который показал Валерий Фёдорович (VFO), является единственным возможным. Если до...
uni
Пн апр 23, 2012 12:27 pm
Форум: Mathсad
Тема: Возвращенеие вектора из программы
Ответы: 3
Просмотры: 1956

Конечно надо выложить программу. А не работает по очень простой причине: нельзя обращаться к элементу вектора, если переменная не является вектором. В первом проверочном условии переменная B не является вектором, это скаляр и нельзя применять к ней матричную операцию. Если это исправить, то следующе...
uni
Вс апр 22, 2012 9:03 pm
Форум: Mathсad
Тема: Передача большого кол-ва переменных в функцию.
Ответы: 2
Просмотры: 1807

Сократить можно так:
Изображение