Mathcad pattern match exception как исправить

0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

1

07.10.2020, 09:50. Показов 4951. Ответов 18


Студворк — интернет-сервис помощи студентам

Доброго времени суток, я так понимаю ответ настолько большой что Маткад отказывается его выдавать, есть какой-то шанс его получить? Спасибо!



0



2137 / 1495 / 761

Регистрация: 25.12.2016

Сообщений: 4,254

07.10.2020, 10:28

2

Taras12309, если исправить ошибки,то всё считает

Миниатюры

Сообщение от Mathcad "pattern match exception"
 



1



0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

07.10.2020, 11:25

 [ТС]

3

Спасибо, а где были ошибки? Подскажите если можно



0



2137 / 1495 / 761

Регистрация: 25.12.2016

Сообщений: 4,254

07.10.2020, 11:34

4

Лучший ответ Сообщение было отмечено Matan! как решение

Решение

Taras12309, вместо десятичной запятой в маткаде ставится точка,явное умножение лучше точкой обозначать,а то D маткад в некоторых местах принимает за функцию q*r без знака умножения,вроде все,что исправил.ORIGIN пишется так,хотя здесь без разницы.

Миниатюры

Сообщение от Mathcad "pattern match exception"
 



1



0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

07.10.2020, 11:43

 [ТС]

5

Понял, спасибо. А если бы я не задавал численные значения r, v, a, b, q, то в буквенном виде можно было бы получить ответ?



0



2137 / 1495 / 761

Регистрация: 25.12.2016

Сообщений: 4,254

07.10.2020, 11:46

6

что мешает проверить,иногда маткад справляется.



1



0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

08.10.2020, 10:12

 [ТС]

7

Поправил там где Вы сказали, обозначил переменную D, все равно не считает( та же ошибка «pattern match exception», переменную C4 вывел из последнего уравнения в ручную на бумаге, задал в маткад, посчитал верно. Ну остальные переменные на бумаге как-то трудоемко выводить). Посмотрите пожалуйста, если есть время. Прикрепил обновленный файл.



0



2137 / 1495 / 761

Регистрация: 25.12.2016

Сообщений: 4,254

08.10.2020, 10:51

8

тогда такой вариант

Миниатюры

Сообщение от Mathcad "pattern match exception"
 



0



Эксперт по математике/физике

8730 / 6324 / 3402

Регистрация: 14.01.2014

Сообщений: 14,534

08.10.2020, 11:13

9

Taras12309, у Вас заданы два уравнения с одинаковыми левыми частями, но с разными правыми числовыми частями. Понятно, что эта система будет несовместной и может иметь решений!

Миниатюры

Сообщение от Mathcad "pattern match exception"
 



0



0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

08.10.2020, 11:49

 [ТС]

10

в первом уравнение r присвоил (a+b)=5, а перед следующим подобным переназначил r на r=a=1(ну это сделал уже во втором файле), это две разные точки с расстоянием r от центра пластины в которых разные начальные условия в первом (10 — правая часть), во втором (-15). Единственное не знаю можно ли в Маткаде так переназначать переменную r в блоке Given между уравнениями.

Миниатюры

Сообщение от Mathcad "pattern match exception"
 



0



6637 / 4739 / 1977

Регистрация: 02.02.2014

Сообщений: 12,700

08.10.2020, 11:52

11

Taras12309, для различных r нужны отдельные блоки given-find..



1



0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

08.10.2020, 11:57

 [ТС]

12

Получается вначале сделать блок для двух последних уравнений из которых при r=a можно найти C4(из последнего уравнения) и выражение для С3(через С2) (из предыдущего), потом подставить все это дело в два предыдущих уравнения создав новый блок given с r=a+b?



0



6637 / 4739 / 1977

Регистрация: 02.02.2014

Сообщений: 12,700

08.10.2020, 12:01

13

или один given-find, но в выражениях поставьте вместо r соответствующую запись, и удалите r:=a, r:=a+b из блока g-f



1



0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

08.10.2020, 13:50

 [ТС]

14

Вышло, спасибо большое. Единственный нюанс через find и Minerrr выдает разные значения) правильное именно через Minerrr , подскажите в чем их принципиальная разница или с чем это может быть связанно? спасибо



0



6637 / 4739 / 1977

Регистрация: 02.02.2014

Сообщений: 12,700

08.10.2020, 13:58

15

Цитата
Сообщение от Taras12309
Посмотреть сообщение

через find и Minerrr выдает разные значения)

потому что функции выполняют разные задачи
find — ищет корни слау, исходя из начального приближения
minerror — ищет корни слау, исходя из минимального значения невязки

Цитата
Сообщение от Taras12309
Посмотреть сообщение

правильное именно через Minerrr

как вы это определили?



1



2137 / 1495 / 761

Регистрация: 25.12.2016

Сообщений: 4,254

08.10.2020, 13:58

16

а,так?

Миниатюры

Сообщение от Mathcad "pattern match exception"
 



0



0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

08.10.2020, 14:07

 [ТС]

17

Цитата
Сообщение от Krasme
Посмотреть сообщение

как вы это определили?

Я знаю правильное значение корня С4, оно совпадает со значением которое находит функция Minerrr



0



0 / 0 / 0

Регистрация: 07.10.2020

Сообщений: 9

08.10.2020, 14:12

 [ТС]

18

Цитата
Сообщение от nick55782012
Посмотреть сообщение

а,так?
Миниатюры

У меня Find находит почему-то другие корни) вот к примеру отдельно рассмотрел систему из двух нижних уравнений.
То значение которое находит Minerrr для С4 есть правильное, но функцию С3 Minerrr не выражает через С2, а Find это делает, но Find немного имеет искажение(на 0,0002), ну как я понял из ответа Krasme, это отличие из-за специфики работы функции.

Миниатюры

Сообщение от Mathcad "pattern match exception"
 



0



2137 / 1495 / 761

Регистрация: 25.12.2016

Сообщений: 4,254

08.10.2020, 14:16

19

Find находит точные корни.



0



In mathcad you need to do something similar to:

c:=0
d:=1
e:=0
a:=1
b:=1

Given

81*a + 27*b + 9*c + 3*d + e = -1
108*a + 27*b + 6*c + d = 0

Find(a,b,c,d,e) = (0,0,0,0,-1)

Now, what I have done here is to define the variables BEFORE the Solve Block (Given…Find), you have to give initial values which you think are close to the solution you require in order for the iteration to succeed.

Tips: To get the equals sign in the Solve Block, use ctrl and ‘=’. If your looking to solve for 5 unknowns then you need 5 equations, the original post looked like you knew 3 of the variables and were looking for a and b, in this case you would do the following:

c:=0
d:=1
e:=0
a:=1
b:=1

Given

81*a + 27*b + 9*c + 3*d + e = -1
108*a + 27*b + 6*c + d = 0

Find(a,b) = (0.111,-0.481)

This has held c, d and e to their original values and iterated to solve for a and b only.

Hope this helps.


@ifomenko wrote:

Problem is not to find answer but understand why mistake is.


The reason for the error is, that Mathcads symbolics always try to evaluate and simplify symbolically all used expressions and functions before it applies specific values or patrameters.

Obviously it can’t symbolically evaluate an if-statement, because it usually can’t know if the condition is fulfilled or not, as this depends on the values of the specific arguments.

In case of your double sum Mathcad could know which branch to chose, but it looks like it tries to evaluate and simplify the expression in the sum before the sum is evaluated.

Aleks_Mahov

Сообщения: 5
Зарегистрирован: Пн авг 25, 2008 11:25 am

В чём суть ошибки: pattern match exception ?

  • Цитата

Сообщение Aleks_Mahov » Чт авг 28, 2008 8:22 pm

Доброе время суток!

Подскажите, пожалуйста, что значит ошибка » pattern match exception» и как её обойти/устранить?

Проявляется при решении векторной системы уравнений.

Вернуться к началу


VFO

Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

  • Цитата

Сообщение VFO » Вт сен 02, 2008 10:27 am

Это ошибка в ошибке, которую будут исправлять!

Вернуться к началу


Vladimir__

Сообщения: 1660
Зарегистрирован: Вс дек 21, 2003 8:52 am

  • Цитата

Сообщение Vladimir__ » Пт авг 05, 2011 10:49 am

Ошибка всё ещё появляется (Mathcad 15 M010) :( .

Вернуться к началу


Сообщения без ответов | Активные темы | Избранное

Правила форума

В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте

его в существующую тему, а создайте новую в корневом разделе «Помогите решить/разобраться (М)».

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву

, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения

и указать конкретные затруднения.

Обязательно просмотрите тему

Правила данного раздела, иначе Ваша тема может быть удалена

или перемещена в Карантин, а Вы так и не узнаете, почему.

 

Нахождение АКФ

Сообщение07.05.2012, 14:22 


07/05/12
7

Здравствуйте, помогите пожалуйста найти АКФ данного сигнала. Мне нужна именно функция, а не график. В литературе полно графиков для такого случая, а то что мне нужно нету.

Изображение

Профиль  

мат-ламер 

Re: Нахождение АКФ

Сообщение07.05.2012, 19:49 

Заслуженный участник


30/01/09
5727

Что есть сигнал? (В математических терминах). И похожи ли эти два домика на сигнал? Что есть АКФ?

Профиль  

Barlo 

 Re: Нахождение АКФ

Сообщение07.05.2012, 20:08 


07/05/12
7

АКФ — автокорреляционная функция

АКФ по определению:
$B(c)=intlimits_{-infty}^{+infty}S(t)S(t-c)dt$

А что же это, если не сигнал! В данном случае представлено два импульса.

Профиль  

мат-ламер 

Re: Нахождение АКФ

Сообщение07.05.2012, 20:43 

Заслуженный участник


30/01/09
5727

Я знаю только АКФ для случайного процесса. А то, что Вы назвали АКФ — это скорее свёртка. Но это вопрос терминологии. Если считать по определению, то как-то занудно получается. В компютер бы ввести. Пусть Матлаб считает.

Профиль  

profrotter 

 Re: Нахождение АКФ

Сообщение07.05.2012, 20:55 

Модератор
Аватара пользователя


16/02/11
3788
Бурашево

Barlo

, уточните пожалуйста Вам задан периодический или непериодический сигнал?

Профиль  

Barlo 

 Re: Нахождение АКФ

Сообщение07.05.2012, 21:14 


07/05/12
7

Сигнал не периодический.

АКФ я правильно записал.

Свертка вот:
$S(c)=intlimits_{-infty}^{+infty}S_1(t)S_2(t-c)dt$

У меня возникают сложности с заданием функции данного сигнала в MathCad

Профиль  

profrotter 

Re: Нахождение АКФ

Сообщение07.05.2012, 21:33 

Модератор
Аватара пользователя


16/02/11
3788
Бурашево

У меня возникают сложности с заданием функции данного сигнала в MathCad

Опишите сначала один импульс, рассматривая его как сумму прямоугольного и симметричного треугольного импульсов. Описание второго получите путём введения параметра временного запаздывания. Маткад насчитает бяку, так как в описании АКФ будут фигурировать функции Хевисайда. Но попробовать, конечно же, стоит, хотя бы для того, чтобы в этом убедиться.

Профиль  

Barlo 

 Re: Нахождение АКФ

Сообщение07.05.2012, 22:01 


07/05/12
7

Еще встает вопрос как задать функцию одиночного импульса в MathCad.
Я понимаю, что данный сигнал можно представить как сумму прямоугольных и треугольных импульсов.

Как я понимаю, одиночный импульс будет задана на интервалах:
$[1;2]$ как $y=kx+a$
$(2;3]$ как $y=-kx+b$
Как его задать в MathCad?

Я пробовал подойти с другой стороны: нашел спектральную плотность всего сигнала, и уже искал АКФ от $S(omega)$, но MathCad впадал в долгие раздумья, и ничего не мог найти.

Спасибо всем, за проявленный интерес к моей проблеме!

Профиль  

profrotter 

 Re: Нахождение АКФ

Сообщение07.05.2012, 22:24 

Модератор
Аватара пользователя


16/02/11
3788
Бурашево

Вот и я о том же. Предлагаю сначала рассмотреть один импульс и найти его спектральную плотность. Спектральная плотность выразится через $sinc$ и $sinc^2$. Найти спектральную плотность энергии сигнала и попробывать привести к сумме $sinc$ в разных степенях. Каждому $sinc$ со степенью соответствует $B$ — сплайн такого-то там порядка. В результате АКФ одного импульса будет выражена через $B$ — сплайны. Это на вскидку. То, что получится всё так, как я написал, совершенно не гарантируется. А дальше решить задачу о том, как АКФ двух одинаковых импульсов, где один запаздывает относительно другого на столько то, выражается через АКФ одного импульса.

Что касается маткада, там есть условный переход:

Код:

s(t):=if(t<0,1,0)

В приведённом примере если $t<0$, возвращается значение $1$, иначе — $0$.

Профиль  

Barlo 

Re: Нахождение АКФ

Сообщение18.05.2012, 16:01 


07/05/12
7

Снова всем здравствуйте.

Из выше написанного, мне не все понятно. Я решил попробовать это сделать в MathCAd.

Сначала просто попробовал задать функцию одиночного прямоугольного импульса и попробовать вычислить для него АКФ. Но не получилось. Вот привожу фото рабочей области.

Выдает ошибку «pattern match exception»:

Изображение

Профиль  

profrotter 

Re: Нахождение АКФ

Сообщение18.05.2012, 16:16 

Модератор
Аватара пользователя


16/02/11
3788
Бурашево

задать функцию одиночного прямоугольного импульса и попробовать вычислить для него АКФ

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

http://strts-online.narod.ru/files/mukrrtc2011.pdf

на стр. 31 есть пример расчёта АКФ, когда сигнал представлен в виде суммы сигналов. (В вашей задаче такое представление при расчёте по прямой формуле придётся использовать два раза.) И посмотрите в той же методичке стр.41 — там пример описания сигнала и расчёта АКФ в маткаде. Кстати, символические вычисления при наличии разрывных функций маткад, увы, не тянет, о чём я уже писал Вам.

Профиль  

spctr 

Re: Нахождение АКФ

Сообщение18.05.2012, 16:38 


01/05/11
79

Вообще такие задачки на бумажке за минуту решаются без всяких интегралов. Сначала возьмите два прямоугольника, мысленно надвигайте один на другой и смотрите, как меняется площадь перекрытия. Потом проделайте то же для треугольников. Тогда уже и сможете эту задачу решить.

Профиль  

Barlo 

Re: Нахождение АКФ

Сообщение18.05.2012, 17:16 


07/05/12
7

Я могу нарисовать график функции. Я понимаю смысл АКФ. Мне нужно задать аналитически АКФ.

Если я правильно понял пересечение треугольников даст какую-то экспоненту -> тогда мне нужен коэфициент.
Мы на занятиях не разбирали примеры решений. Вот поэтому и возникают проблемы.

Спасибо за предоставленную литературу, изучаю….

Профиль  

spctr 

Re: Нахождение АКФ

Сообщение18.05.2012, 21:05 


01/05/11
79

Если вы можете нарисовать график, то не вижу проблемы в том, чтобы найти аналитическое выражение. Уравнение прямой и параболы вам наверняка известны, их сумма находится элементарно, тем более у вас самый приятный случай. А коэффициенты можно найти из двух положений, например когда они только начинают совпадать и когда они полностью совпали. В общем иногда инженерный подход быстрее и легче :-)

Профиль  

Barlo 

Re: Нахождение АКФ

Сообщение23.05.2012, 21:29 


07/05/12
7

Спасибо всем, кто помог! Преподавателя устроило мое решение.

Для расчета АКФ просто разбил сигнал на уравнения прямых и посчитал уже АКФ для 4 прямых. Решал, как в примере в пособии на стр. 31.

Всем спасибо, тема закрыта!

Профиль  

Модераторы: Модераторы Математики, Супермодераторы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Понравилась статья? Поделить с друзьями:
  • Как найти файлы сохраненные как текст
  • Как в вк найти записи по датам
  • Как найти папку найдено в ноутбуке
  • Как найти бригаду бетонщиков
  • Как составить локальную смету в фер