1 | |||||||||||||||||||||||||||||||||||||||||||||||||||
СЕКРЕТНО! Зловещая точка претыкания12.12.2012, 19:00. Показов 89709. Ответов 0
Метки нет (Все метки)
Огромное число ошибок в MATLAB программах связано с отсутствием точки перед умножением,делением, степенью!
Поэтому, дружочек, в твоих же интересах ознакомиться с данным текстом до конца! He пyтaй мaтpичнoe и пoэлeмeнтнoe yмнoжeниe/дeлeниe/cтeпeнь! Не забывай ставить точки! Выражения a.*b, a./b, a.^b - этo пoэлeмeнтныe oпepaции! их зачастую и нужно использовать при работе с векторами! Здесь особых премудростей нет, главное, чтобы совпадали длины и ориентация векторов, в результате получаем вектор такой же длинны и ориентации:
Эти операции требуют определеных свойств входных параметров, поэтому получаются следующие ошибки: - при перемножении двух векторов-строк вылетает ошибка "размерности не совпадают":
- при перемножении вектора-столбца на вектор-строку получаем матрицу, что также может подпортить результат:
Замечание: При умножении числа на вектор нет разницы при использовании матричных и поэлементных операций! (Так как число - это то же матрица, только размером 1х1, не занл? )
Почему понадобилось дополнение
Ребятки, привет!
Благодарю всех за идеи и примеры! Откуда вообще та тема появилась и в чем была цель ее написания? Большое число новичков спотыкались именно на этой точке, которой нет в других ЯП, поэтому и упор был сделан именно на три действия *,/,^ (cо сложением и вычитанием все как-то понятней было: ошибся размером - получи ошибку. На момент написания 2013г таких хитрых вариантов сложения с разными размерностями, как привел в примере AlMih, не было) За транспонирование я знал, но оно встречалось крайне редко, я не стал выносить его в отдельную тему. Что ж, пришло время дополнить: Дополнение * * * Для маленьких и не очень фанатов работы с комплексными числами небесполезно будет запомнить, что в MATLAB операция транспонирования ( ' ) не так проста как кажется! Соль (с перцем) в том, что по умолчанию матлаб делает эрмитово сопряжение, т.е. кроме транспонирования меняет знак мнимой части! Например:
Операция без точки: ' - транспонирование с сопряжением, знак мнимой части меняется, Операция с точкой: .' - обычное транспонирование, знак мнимой части НЕ меняется. Но если в слове "комплексные" ты делаешь ударение на букву "о", и при дискриминанте меньше нуля для тебя корней нет, то не заморачивайся, пиши без точки, а сэкономленную энергию направь на что-то общеполезное, например, спасение мира! Все люди равны... Теоретически, но в реальности кто-то все-равно ровнее. Так к примеру обладатели MATLAB версии R2017 и позже имеют уникальную сверхспособность складывать и вычитать вектора разных размерностей, причем безо всяких точек! Смотри пример:
Или еще пример сложения матрицы с векторами:
Плохо это или хорошо? Без разницы! Но такую особенность тоже нужно иметь в виду, чтобы не получить ошибочный результат при отсутствии синтаксических ошибок!
39
|
12.12.2012, 19:00 | |
Ответы с готовыми решениями:
0
Дополнение к теме "СЕКРЕТНО! Зловещая точка претыкания" Дана точка М (x, y). Присвоить z = 1, если точка внутри эллипса и z = 0, если точка вне эллипса Точка задана координатами.Определить попадает ли точка в заштрихованную область. компы не видят друг друга при прямом подключении wifi - точка-точка |
12.12.2012, 19:00 | |
12.12.2012, 19:00 | |
Помогаю со студенческими работами здесь
1
Описать структуры Шар и Точка; проверить, находится ли точка внутри заданного шара Дана точка с координатами (х,у) и заштрихованная область. Лежит ли точка внутри заштрихованной области? Дана точка М( х,у ). проверить, лежит ли данная точка внутри закрашенной области, представленной на рисунке С клавиатуры вводится точка M с координатами [x ; y]. Вычислить, принадлежит ли введенная точка M заштрихованной области рисунка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |