Форум программистов, компьютерный форум, киберфорум
MathCAD
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 6
1
MathCAD 14

Создание матрицы из переменных

11.12.2018, 15:17. Показов 5154. Ответов 11

Author24 — интернет-сервис помощи студентам
Заранее извиняюсь если таковая тема уже была, но среди такого большого количества, похожий вопрос я найти не смог.
Дело вот в чём:
Недавно начал рассчитывать изгиб жёстких пластин методом конечных разностей, и захотелось сделать хорошую програмку в маткаде. При расчёте определённого количества точек приходится каждый раз заполнять большую(относительно) матрицу. Если для 4-х точек матрица ещё 7 на 7, то для 8 точек она уже 11 на 11, а для 16-ти 17х17. Вопрос-Можно ли каким-нибудь образом составить программу или уравнение для задания похожей матрицы из переменных?:
Создание матрицы из переменных

ЗАРАНЕЕ СПАСИБО!
Миниатюры
Создание матрицы из переменных  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2018, 15:17
Ответы с готовыми решениями:

Создание переменных новых переменных в процессе работы программы
Как создать переменные в процессе работы программы. И желательно по такому коду: program a8;...

Создание переменных
Здравствуйте уважаемые! Интересует синтаксис создания переменных. В других языках всё просто(я этим...

Создание переменных =)
Как мне во время работы программы(когда программа запущена) создать переменную ?

Создание переменных
Hello Подскажите, как создавать общие для форм переменные?О_о

11
Эксперт по математике/физике
2615 / 2229 / 684
Регистрация: 29.09.2012
Сообщений: 4,578
Записей в блоге: 13
11.12.2018, 15:23 2
Цитата Сообщение от MadDogMan Посмотреть сообщение
Можно ли
Можно. Присылайте архив постановки задачи и попытку решения
0
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 6
12.12.2018, 01:26  [ТС] 3
Саму задачу по изгибу пластины я решил. Проблема состоит в том, что для большого количества точек самостоятельно заполнять матрицу перемещений скучно и занимает слишком много времени. Всё что я нашёл на данный момент в интернете это задание матрицы с помощью матричной функции matrix, но мне нужна матрица с переменными, а не с числами.
Если интересно то вот скудненькая программа для 4х точек.
Вложение 992158
0
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
12.12.2018, 01:43 4
перезагрузите вложение

зависимость размера матрицы от числа точек не вижу, а пока символьное отображение по фактическому размеру матрицы
Кликните здесь для просмотра всего текста
Создание матрицы из переменных

по второму варианту (с нулями) нужно правило формирования
0
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 6
13.12.2018, 01:00  [ТС] 5
Правило формирования таково:
Так как пластина квадратная и загружена равномерно распределённой нагрузкой то появляется симметрия относительно координатных осей. W1,W2,...,Wn - узлы сетки которую мы накладываем на пластину (в них мы и рассчитываем прогибы). Чем больше узлов, тем точнее решение. Шаг между узлами (dx и dy) мы уменьшаем в 2 раза, тем самым увеличиваем количество узлов. При шаге равном h получается 4 уравнения при 4х неизвестных (W1,W2,W3,W4), при h/2 - 9, при h/4 - 25, при h/8 - 81.
Далее:
Нули - это точки в которых пластина закреплена, её прогибы тем самым в этих точках равны нулю.
Крайние строки и столбцы в матрице - это законтурные точки. Они необходимы для записи дифференциального уравнения равновесия элемента пластинки (уравнение Софи Жермен) в центральных разностях. Если край пластины шарнирно опёрт, то прогиб в законтурных точках равен отрицательному значению крайних внутриконтурных точках. В случае жёсткого защемления прогибы равны.
Вот как пример матрица при шаге равном h/3:
Создание матрицы из переменных

Вот вроде всё.
Буду очень признателен если поможете составить уравнение для задания таких матриц.

Забыл сказать, что три нуля по углам в общем-то не нужны, и на их месте может быть что угодно.
Также вот ещё раз маткадовский файл:
Рассчёт пластин.rar

Вот чего мне удалось достичь за последнее время:
Рассчёт пластин.rar
Я попробовал просто задать в given некое подобие симметрии, граничных условий и законтурных точек, но к сожалению что-то я делаю не так, поправьте пожалуйста!
0
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
13.12.2018, 07:48 6
честно говоря, ничего не поняла в вашей задаче...

пока чисто символьное отображение матрицы... картинка и файл в спойлере
Кликните здесь для просмотра всего текста


если сможете привязать матрицу к своей задаче, не забудьте показать конечный результат
0
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 6
14.12.2018, 23:28  [ТС] 7
Спасибо вам огромное!!!
Я ещё не достиг такого уровня и плохо понимаю как это работает, но это выглядит круто!
Появилась только одна проблема, рассказываю:
Как я уже говорил мы определяем перемещение в узлах. МКР делает это с помощью решения СЛАУ. Число уравнений в СЛАУ равно числу узловых точек. Когда я задавал матрицу вручную то писал литерные индексы, потом я задавал матрицу из нужных уравнений(K(f,i,j)), так, что он мне сам её заполнял, приравнивал к ней вектор столбец правых частей и затем применял блок решений given find. Теперь же в основной ("начальной") матрице стоят матричные индексы, и соответственно блок решений не хочет мне ничего считать. Получить ответ удаётся лишь в случае когда самостоятельно прописываешь уравнения в блоке.
Создание матрицы из переменных
Создание матрицы из переменных

вот также маткадовские файлы:
Распл.rar
Буду очень признателен если опять поможете, остался последний рывок)
0
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
14.12.2018, 23:55 8
Лучший ответ Сообщение было отмечено MadDogMan как решение

Решение

MadDogMan, дело в том, что у вас в блоке given-find как такого W нет, маткад и не понимает, что от него хотят...
вариант решения
Кликните здесь для просмотра всего текста
Создание матрицы из переменных
1
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 6
15.12.2018, 00:24  [ТС] 9
Отлично всё получилось!!!
Только вот при a больше 2х Find(W) не пишет ответ, не знаете с чем это может быть связано?
Расчёт квадратной пластины загруженной равномерно распределённой нагрузкой - финал.rar
0
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
15.12.2018, 00:30 10
разве?
Кликните здесь для просмотра всего текста
Создание матрицы из переменных
Создание матрицы из переменных
Название: 2018-12-15_002921.png
Просмотров: 107

Размер: 3.8 Кб
0
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 6
15.12.2018, 00:37  [ТС] 11
Может у меня в настройках нужно что-то поменять? Он мне ничего не выдаёт при а > 2 ((
0
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
15.12.2018, 00:47 12
Я ничего в настройках не меняла. Версия маткад 15 м045.
0
15.12.2018, 00:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2018, 00:47
Помогаю со студенческими работами здесь

Создание переменных
Здравствуйте форумчане. Нужна помощь с созданием новых Канвасов и переменных. Я хочу через while...

Создание глобальных переменных
тобы объявлёные переменные а=2,b=1 из одной функции (напрмер private static void Main()) были уэе...

Создание переменных на лету
Всем привет. Давно уже не задавал вопросы на форумах php, но тут возникла нерешаемая проблемка со...

Создание переменных в цикле
Здравствуйте, меня интересует вопрос - насколько операция создания переменных быстра. есть функция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru