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

Вложенный цикл for [Mathcad]

10.01.2011, 13:05. Показов 15611. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задана матрица.
Внешний цикл выбирает столбец матрицы и присваивает его переменной z.
Внутренний цикл выбирает строковый элемент столбца сравнивает его и присваивает его переменной q.
С помощью функции stack собирается "новый" столбец p - по идее по внутреннему циклу.
После создания первого столбца, по идее, должен произойти выход из внутреннего цикла, выполниться добавление столбца в переменную d и начаться внешний цикл...и т.д. пока не сформируется новая матрица.
Но это не работает. ПОЧЕМУ?
Миниатюры
Вложенный цикл for [Mathcad]  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2011, 13:05
Ответы с готовыми решениями:

Вложенный цикл for Mathcad
Почему цикл так считает?

Вложенный цикл
Здравствуйте, подскажите, пожалуйста, почему не работает: Должно то в результате быть 90... ...

Re: Вложенный в цикл условный оператор
Опс, точно не ту надпись нажал :) речь о mathcad, если есть возможность, то перекиньте пожалуйста...

Как прервать вложенный цикл while ?
Нахожу интервал с корнями методом отделения корней. Есть цикл и нужно, чтобы выводился интервал от...

8
2833 / 2130 / 86
Регистрация: 02.05.2010
Сообщений: 3,195
10.01.2011, 15:37 2
Уважаемый(ая), Albe, вот ваши ошибки, которые бросаются в глаза сразу.
1. Совершенно не ясна задача, которую Вы ставите.
2. Вы не написали ORIGIN:=1, но цикл начинаете именно с единицы, а не с нуля. Кстати для чего-то обнуленный вектор d имеет размерность 5х1, а не 4х1, как можно было ожидать.
3. Выражение z<-- x<i> возвращает последний столбец матрицы Х.
4. Матрицу Х неплохо бы сделать входным параметром. Записать j(X)=...
Мне трудно Вам помочь, поскольку мне не ясна постановка задачи. Изложите ее ясней и получите помощь.
1
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 9
10.01.2011, 18:58  [ТС] 3
Да, надо обнулять переменную p перед вложенным циклом...вот в этом и проблема была...
С чего начинать цикл особого значения , нарно, не имеет...здесь.
А вообще задача была такова:
Загружается Изображение (получается матрица 499 на 499) (у меня было 4 на 4, так как долго просчитывалось 500 на 500)). После загрузки изображения, нужно перебрать каждый пиксел и изменить (или оставить неизменным) его значение, д.х. яркость - вырезать диапазон яркостей. Вот так все просто))
Нужно теперь избавиться от нулей в первом столбце (так как d у меня нулевое нач значение) и от нулей в первой строке (так как p обнуляю).
И очень долго просчитывается весь этот цикл(((
Как оптимизировать все это? Какими функциями нужно пользоваться?
0
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 4
03.11.2012, 14:04 4
Галина Борисовн, Здравствуйте помогте пожалуйста.
задан точечный рисунок (прямая под углом на белом фоне). в маткаде представили этот рисунок в виде матрицы с помощью функции ReadBmp.
нужно найти длину это прямой, Для этого нужно создать "Строб" в виде матрицы 3*3. этот строб должен пробежать по матрице рисунка и обнаружив первую найденную точку прямой остановиться и дальше бежать по прямой
подкиньте идеи как это реализовать
0
2833 / 2130 / 86
Регистрация: 02.05.2010
Сообщений: 3,195
03.11.2012, 14:37 5
Если я правильно поняла, в полученной матрице нужно искать значения не равные 255. Причем поиск осуществляется не поэлементно, а рамкой-матрицей размером 3х3 ?
0
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 4
03.11.2012, 15:10 6
да, эта рамка-матрица должена пробежать по матрице рисунка и обнаружив первую найденную точку прямой (значения прямой в матрице 0), остановиться и дальше бежать по прямой
0
2833 / 2130 / 86
Регистрация: 02.05.2010
Сообщений: 3,195
03.11.2012, 17:08 7
1. Заменить все элементы матрицы меньшие 255 нулями.
2. Найти индексы крайние левого и крайние правого ноля.
3. Посчитать тангенс угла наклона прямой, зная результаты п.2.
4. Создать рамку с помощью функции submatrix, параметры которой будут меняться при перемещении. Направление перемещения можно корректировать суммой элементов матрицы-рамки. Чем она меньше, теь правильней путь следования.
0
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 4
03.11.2012, 19:13 8
я разобралась как работает функция submatrix,
но я не понимаю как можно сделать чтобы его параметры менялись
и с помощью чего можно перемещать матрицу-рамку

извините я ранее никогда не программировала и с mathcad плохо знакома
0
2833 / 2130 / 86
Регистрация: 02.05.2010
Сообщений: 3,195
03.11.2012, 19:19 9
Цитата Сообщение от Ruslana178 Посмотреть сообщение
но я не понимаю как можно сделать чтобы его параметры менялись и с помощью чего можно перемещать матрицу-рамку
Это делается в цикле. Познакомьтесь с программированием в Mathcad. Это серьезная не стандартная задача, нельзя подходить к ней с дилетантским наскоком.
0
03.11.2012, 19:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2012, 19:19
Помогаю со студенческими работами здесь

Итерационный цикл с матрицами в Mathcad
Доброго времени суток, уважаемые форумчане. Сильно не серчайте, если такая тема уже была на форуме....

Цикл со ссылкой на внешний файл Mathcad
Доброго времени суток! Суть проблемы: Есть несколько документов маткад с исходными данными. Есть...

Начать вложенный цикл не с первого элемента и по условию вернуться в основной цикл
Добрый день. На самом деле, проблема чуть шире, чем в названии топика. Есть цикл, в котором идёт...

Как переделать данный цикл for во вложенный цикл foreach?
Добрый день, как переделать данный цикл во вложенный цикл foreach? for (i in 0 until...


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

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