Ошибка маткад это вычисление не приближается к решению

1 / 1 / 0

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

Сообщений: 56

1

Это вычисление не приближается к решению

29.03.2017, 11:02. Показов 7706. Ответов 8


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

Доброго дня!
Есть совокупность графиков.
Которые нужно проинтегрировать.
Цель интегрирования получить некоторые значения.
На картинке понятна суть.
При расчете интеграла говорит

Это вычисление не приближается к решению — MathCAD



0



2159 / 1508 / 769

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

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

29.03.2017, 11:27

2

а,может,так надо?

Изображения

 



1



1 / 1 / 0

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

Сообщений: 56

29.03.2017, 11:31

 [ТС]

3

Формула такая, что не по скорости нужно интегрировать, а по параметру 1/J
https://www.cyberforum.ru/cgi-bin/latex.cgi?t=int_{v1}^{v2}1/3.6*1/j*dv



0



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

2615 / 2229 / 684

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

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

Записей в блоге: 13

29.03.2017, 11:36

4

Цитата
Сообщение от Костярик
Посмотреть сообщение

нужно проинтегрировать.

Вы неправильно задаете функции. Если писать j1(v1):= , то определится целая reexf одинаковых векторов. Это вам надо?
Вам нужен один вектор значений функции. Аргумент не нужно писать. Далее можно сгладить данные с помощью интерполяции (например, кубическими сплайнами), затем уже интегрировать. См рис.

Это вычисление не приближается к решению



1



1 / 1 / 0

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

Сообщений: 56

29.03.2017, 11:44

 [ТС]

5

один график можно победить, а когда все ? тогда как быть ?



0



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

2615 / 2229 / 684

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

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

Записей в блоге: 13

29.03.2017, 12:54

6

Цитата
Сообщение от Костярик
Посмотреть сообщение

один график можно победить, а когда все ? тогда как быть ?

Остальные уж сами. по аналогии.



0



1 / 1 / 0

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

Сообщений: 56

29.03.2017, 12:57

 [ТС]

7

это решение если каждый график отдельно рассматривать
а если все таки в таком виде в котором они есть
почему же все таки
Это вычисление не приближается к решению — MathCAD



0



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

2615 / 2229 / 684

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

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

Записей в блоге: 13

29.03.2017, 14:48

8

Цитата
Сообщение от Костярик
Посмотреть сообщение

все таки в таком виде в котором они есть

Почему вы пытаетесь заставлять маткад делать то, чего он не хочет и не умеет?.
Повторяю. У вас под знаком интеграла стоит вектор из десяти элементов, причем каждый элемент является вектором из десяти чисел. Маткад не умеет вычислять интеграл от вектор-функции (даже из двух элементов).
Определоитесь, что вам надо. Вычислять интеграл от каждого элемента вектора или интеграл от функции, заданной таблицей значений. Я подозреваю, что вам все же надо последнее. Поэтому показал, как это нужно делать.
Далее. Под знаками всех ваших интегралов стоит один и тот же вектор j1. Правда с разными аргументами. Но вектор j1
фактически не зависит от аргументов (см. свое определение этого вектора — в правой части не фигурирует аргумент v1). А где используются вектора j2,…?



0



1 / 1 / 0

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

Сообщений: 56

29.03.2017, 18:04

 [ТС]

9

может как то по другому задать ?



0



1 / 1 / 0

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

Сообщений: 56

1

Это вычисление не приближается к решению

29.03.2017, 11:02. Показов 6813. Ответов 8


Доброго дня!
Есть совокупность графиков.
Которые нужно проинтегрировать.
Цель интегрирования получить некоторые значения.
На картинке понятна суть.
При расчете интеграла говорит

Это вычисление не приближается к решению — MathCAD

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

2045 / 1434 / 728

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

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

29.03.2017, 11:27

2

а,может,так надо?

Изображения

 

1

1 / 1 / 0

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

Сообщений: 56

29.03.2017, 11:31

 [ТС]

3

Формула такая, что не по скорости нужно интегрировать, а по параметру 1/J
https://www.cyberforum.ru/cgi-bin/latex.cgi?t=int_{v1}^{v2}1/3.6*1/j*dv

0

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

2613 / 2227 / 684

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

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

Записей в блоге: 13

29.03.2017, 11:36

4

Цитата
Сообщение от Костярик
Посмотреть сообщение

нужно проинтегрировать.

Вы неправильно задаете функции. Если писать j1(v1):= , то определится целая reexf одинаковых векторов. Это вам надо?
Вам нужен один вектор значений функции. Аргумент не нужно писать. Далее можно сгладить данные с помощью интерполяции (например, кубическими сплайнами), затем уже интегрировать. См рис.

Это вычисление не приближается к решению

1

1 / 1 / 0

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

Сообщений: 56

29.03.2017, 11:44

 [ТС]

5

один график можно победить, а когда все ? тогда как быть ?

0

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

2613 / 2227 / 684

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

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

Записей в блоге: 13

29.03.2017, 12:54

6

Цитата
Сообщение от Костярик
Посмотреть сообщение

один график можно победить, а когда все ? тогда как быть ?

Остальные уж сами. по аналогии.

0

1 / 1 / 0

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

Сообщений: 56

29.03.2017, 12:57

 [ТС]

7

это решение если каждый график отдельно рассматривать
а если все таки в таком виде в котором они есть
почему же все таки
Это вычисление не приближается к решению — MathCAD

0

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

2613 / 2227 / 684

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

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

Записей в блоге: 13

29.03.2017, 14:48

8

Цитата
Сообщение от Костярик
Посмотреть сообщение

все таки в таком виде в котором они есть

Почему вы пытаетесь заставлять маткад делать то, чего он не хочет и не умеет?.
Повторяю. У вас под знаком интеграла стоит вектор из десяти элементов, причем каждый элемент является вектором из десяти чисел. Маткад не умеет вычислять интеграл от вектор-функции (даже из двух элементов).
Определоитесь, что вам надо. Вычислять интеграл от каждого элемента вектора или интеграл от функции, заданной таблицей значений. Я подозреваю, что вам все же надо последнее. Поэтому показал, как это нужно делать.
Далее. Под знаками всех ваших интегралов стоит один и тот же вектор j1. Правда с разными аргументами. Но вектор j1
фактически не зависит от аргументов (см. свое определение этого вектора — в правой части не фигурирует аргумент v1). А где используются вектора j2,…?

0

1 / 1 / 0

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

Сообщений: 56

29.03.2017, 18:04

 [ТС]

9

может как то по другому задать ?

0

1 / 1 / 2

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

Сообщений: 97

1

Система. Это вычисление не приближается к решению

25.04.2015, 17:17. Показов 14279. Ответов 14


Добрый день. Не могу понять в чем ошибка. При попытке посчитать систему выдаёт следующее «Это вычисление не приближается к решению». Подскажите пожалуйста что я не так делаю. Файл прилагается.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Модератор

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

5025 / 3857 / 1325

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

Сообщений: 11,414

25.04.2015, 17:35

2

Козак Алексей, а в самой системе ошибок нет?
Если нет, то попробуйте ПКМ на Odesolve() и из контекстного меню выбрать Adams/BDF…

0

1 / 1 / 2

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

Сообщений: 97

25.04.2015, 18:18

 [ТС]

3

VSI, Дело в том, что сначала, эта система решалась для случая, когда первое уравнение имело вид: G-x(t)*(1-y(t))-A*(B-z(t)). Тогда все работало. Затем условия изменились и пришлось записать систему в теперешнем виде. Все так же работало. После этого я случайно удалил этот файл, и сейчас приходится писать все по новой=). Теперь выдает ошибку…

Добавлено через 34 минуты
VSI, там и так Adams/BDF выбрано

0

Модератор

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

5025 / 3857 / 1325

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

Сообщений: 11,414

25.04.2015, 18:18

4

Козак Алексей, может вместо x(t) надо набрать y(t)…

1

1 / 1 / 2

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

Сообщений: 97

25.04.2015, 18:20

 [ТС]

5

VSI, Да нет, x(t) надо. Ладно, спасибо, буду думать.

0

VSI

25.04.2015, 18:21

Не по теме:

Козак Алексей, успехов…

0

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

2613 / 2227 / 684

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

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

Записей в блоге: 13

25.04.2015, 19:39

7

Цитата
Сообщение от Козак Алексей
Посмотреть сообщение

Не могу понять в чем ошибка.

В левых частях уравнений Вы поставили знаки умножения между оператором дифференцирования и именем функции, которую пытаетесь дифференцировать

0

1 / 1 / 2

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

Сообщений: 97

25.04.2015, 19:50

 [ТС]

8

Symon, Вы о чем? Нет здесь никаких знаков умножения..

0

Модератор

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

5025 / 3857 / 1325

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

Сообщений: 11,414

25.04.2015, 19:58

9

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

В левых частях уравнений Вы поставили знаки умножения между оператором дифференцирования и именем функции, которую пытаетесь дифференцировать

Нет там никаких символов умножения… В третьем уравнение системы пропущены 2 символа умножения — это да. Но после их вставки результат расчета НЕ МЕНЯЕТСЯ…

0

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

2613 / 2227 / 684

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

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

Записей в блоге: 13

25.04.2015, 20:43

10

Цитата
Сообщение от Козак Алексей
Посмотреть сообщение

Вы о чем?

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

Нет там никаких символов умножения.

Странно. У меня стоит точка. Исправил — все заработало.
Загрузил ваш файл снова — никаких точек уже нет, и коэффициенты другие. И снова не работает.
Заменил коэффициенты другими — работает. Поиграйте с другими коэффициентами и другими значениями t1/

0

1 / 1 / 2

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

Сообщений: 97

25.04.2015, 20:57

 [ТС]

11

Symon, Вы не могли бы загрузить ваш «рабочий» вариант файла. Может я действительно не замечаю очевидного..

0

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

2613 / 2227 / 684

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

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

Записей в блоге: 13

25.04.2015, 21:32

12

Цитата
Сообщение от Козак Алексей
Посмотреть сообщение

не могли бы загрузить ваш «рабочий» вариант файла.

Пжалста
2015.zip

1

0 / 0 / 0

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

Сообщений: 2

18.05.2015, 16:57

13

Лида.rarДобрый день. Такая же проблема. При попытке посчитать систему выдаёт следующее «Это вычисление не приближается к решению». Подскажите пожалуйста что я не так делаю. Файл прилагается.

0

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

2613 / 2227 / 684

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

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

Записей в блоге: 13

18.05.2015, 17:30

14

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

При попытке посчитать систему выдаёт следующее

Возможно, вы задаете такие начальные значения, к которым ваша функция и приблизиться не смеет.
На графике значения функции лежат в промежутке [0,1] (с каким-то коэффициентом?), а требуете 1.5*10000000.
Если брать показатель степени у десятки в пределах (-3..4). то корни находятся.

1

0 / 0 / 0

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

Сообщений: 2

18.05.2015, 20:47

15

Премного благодарен.

0

Андрей Фомин

@a63826ndrew

Студент, новичок в Python

mathcad

  • Mathcad

Как исправить ошибку «Результаты вычисления не сходятся в решение»?

Здравствуйте!
Использую маткад для выполнения лабораторной работы
Есть вот такие формулы:
608b91b372a17162632643.png
Я записал их в маткаде:
608b91f56106e993160057.png
Все переменные определены, но в чем заключается проблема я так и не понял
608b92a0de059007934429.png
608b92cf48b93998760443.png


  • Вопрос задан

    более года назад

  • 315 просмотров


Комментировать

Подписаться

1

Средний

Комментировать

Пригласить эксперта


Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации


Похожие вопросы

  • mathcad

    • Mathcad


    Простой

    Как установить Mathcad Express?


    • 1 подписчик
    • более года назад


    • 50 просмотров
  • mathcad

    • Mathcad


    Простой

    Что это такое в скобках в верхнем правом?


    • 1 подписчик
    • более двух лет назад


    • 23 просмотра
  • mathcad

    • Mathcad


    Простой

    Как выполнить умножение, где присутствуют две переменные в MathCAD?


    • 1 подписчик
    • более двух лет назад


    • 110 просмотров
  • высшая-математика

    • Высшая математика

    • +3 ещё


    Простой

    Что такое спектральный анализ функции?


    • 1 подписчик
    • более трёх лет назад


    • 134 просмотра
  • веб-разработка

    • Веб-разработка

    • +1 ещё


    Средний

    Как программу, написанную в Mathcad использовать в интернете (на своей странице или сайте) для онлайн расчетов?


    • 1 подписчик
    • более трёх лет назад


    • 196 просмотров
  • mathcad

    • Mathcad


    Средний

    Почему отсутствует в MathCad 15 Language на русском?


    • 1 подписчик
    • более трёх лет назад


    • 3466 просмотров
  • mathcad

    • Mathcad


    Простой

    Почему многие пользуются старой версией Mathcad?


    • 1 подписчик
    • более трёх лет назад


    • 136 просмотров
  • mathcad

    • Mathcad


    Простой

    Как применить оператор Symbolic Evaluation в блоке Programming?


    • 1 подписчик
    • более трёх лет назад


    • 58 просмотров
  • mathcad

    • Mathcad


    Простой

    Как построить матрицу на основе значений другой матрицы в MathCAD Prime 4.0?


    • 1 подписчик
    • более трёх лет назад


    • 80 просмотров

  • Показать ещё
    Загружается…

Вакансии с Хабр Карьеры

Руководитель проекта (ИТ)

Sharesoft

Москва

от 200 000 ₽

DevOps инженер

Ростелеком

от 70 000 до 120 000 ₽

Аналитик (Application Security)

Сбер

Москва

от 150 000 до 200 000 ₽

Ещё вакансии

Заказы с Хабр Фриланса

Пару регулярок на php

29 янв. 2023, в 19:19

500 руб./за проект

Доработки на php

29 янв. 2023, в 18:19

500 руб./за проект

Приложение на flutter для iOS и Android

29 янв. 2023, в 15:55

80000 руб./за проект

Ещё заказы

Минуточку внимания

Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями

Зарегистрироваться

Приложение 4. Сообщения об ошибках

71

Приведенная далее информация об ошибках вычислений выполнена по следующей схеме: текст сообщения об ошибке (перевод сообщения) — вероятная причина ошибки — возможные пути устранения ошибки.

Сообщения об ошибках в численных вычислениях

A «Find» or «Minerr» must be preceded by a matching «Given» (Функциям find или minerr должно предшествовать ключевое слово given). Эта ошибка выделяет функцию find или minerr при их несогласованности с given. Каждый вычислительный блок, который заканчивается функцией find или minerr, должен начинаться с ключевого слова given.

All evaluations resulted in either an error or a complex result (Вычисления приводят к ошибке или к комплексному результату). Mathcad не может начертить некоторые точки, потому что не существует действительных значений для их нанесения на график. Это сообщение может появиться, если имеется ошибка или все значения — комплексные.

Arguments in function definitions must be names (Аргументы в определениях функции должны быть именами). Выделенное определение функции содержит неправильный перечень аргументов. В списке аргументов должны быть правильно поименованы переменные или список имен необходимо отделить запятыми.

All the elements in the vector cannot be the same (Все элементы вектора не могут быть одинаковыми). Если используется встроенная функция, возможно, неправильно указаны ее имя или параметры. Проверьте правильность ввода встроенной функции, установив курсор на имени функции и нажав клавишу F1.

At least one limit must be infinity (По крайней мере один предел должен быть бесконечным). Если для интегрирования выбран алгоритм бесконечного предела, то по крайней мере один из пределов интеграла должен быть бесконечным.

Символ бесконечности вводится нажатием комбинации клавиш Ctrl+Shift+z. Для изменения алгоритма, использующего бесконечный предел, или для вычисления какого-либо другого интеграла щелкните на интеграле правой кнопкой мыши и измените алгоритм с помощью контекстного меню.

Can only evaluate an nth order derivative when n=0, 1..5 (Можно вычислить n

порядок производной, только когда n = 0, 1, 2, , 5). Порядок производной должен быть целым числом от 0 до 5. Если нужно посчитать производную более высокого порядка, сделайте это с помощью символьного дифференцирования.

Can only plot positive values when log axes are used (Только положительные величины могут быть на графике, если используются логарифмические координаты). Двухмерный график в декартовых или полярных координатах строится в логарифмических координатах, в которых не может быть величин отрицательных или равных нулю.

Can’t converge to a solution. Encountered too many integrator steps (Невозможно найти решение. Сделано слишком много шагов интегрирования). Алгоритм решения дифференциального уравнения не позволяет найти решение этого уравнения. Попробуйте изменить начальные или граничные условия. Возможно, решения просто не существует.

Can’t converge to a solution. The integrand may have a singularity or the integral may not be finite (Невозможно найти решение. Подынтегральное выражение может иметь точку сингулярности или интеграл может быть бесконечным). Вычисление интегралов, производных, функций root, find, minerr осуществляется итерационными методами. Вы увидите это сообщение, если после большого числа итераций не получен ответ с требуемой точностью.

Попробуйте изменить значение постоянной TOL. При работе с функциями root, find, minerr попробуйте задавать различные значения начальных приближений.

Can’t define the same variable more than once in the same expression (Невозможно определить ту же самую переменную более одного раза в одном и том же выражении). Вы пытаетесь вычислить одну и ту же переменную дважды в одном выражении. Пример подобной ошибки: если вы создаете вектор с именем a:= и используете это же имя справа, то получите это сообщение.

Can’t determine what units the result of this operation should have (Невозможно определить, в каких единицах должен быть представлен результат операции). Вы возвели выражение, содержащее единицы измерения, в степень, являющуюся переменной или вектором. В итоге невозможно определить размерность результата. Если выражение имеет размерность, то его можно возводить только в действительную фиксированную степень.

Can’t evaluate this expression. It may have resulted in an overflow or an infinite loop

(Невозможно вычислить это выражение. Это может быть результатом переполнения или бесконечным числом циклов). Это выражение может содержать слишком много вложенных функций или функция может быть константой в бесконечных циклах.

Проверьте несколько итераций цикла.

Can’t evaluate this expression because it’s either too complicated or it’s defined in terms of itself (Невозможно вычислить это выражение, потому что оно или слишком сложное,

или определяет само себя). Эта ошибка возникает, если функция определена в 72 терминах самой себя, что ведет к появлению рекурсивной функции, где условие

окончания процесса не определено. Например, f(x) := f(x)+5 ведет к переполнению стека. Необходимо изменить имя функции.

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

Can’t evaluate this function when its argument is zero (Невозможно вычислить эту функцию, если ее аргумент равен нулю). Функция неопределенна, если аргумент равен нулю. Такое сообщение появляется при вычислении логарифма от нуля. Can’t divide by zero (Деление на ноль невозможно). Где-либо в программе или внутри численного метода возникло деление на ноль. Найдите место деления на ноль и устраните его. Попробуйте поменять параметры численного метода, константы точности или сам численный алгоритм.

Can’t find a solution. Encountered too many iterations (Невозможно найти решение.

Слишком много итераций). Это сообщение появляется при использовании функции polyroot, если степень полинома слишком велика. Попробуйте найти корни полинома символьным методом.

Can’t find a solution to this system of equations (Невозможно найти решение системы уравнений). Попробуйте изменить начальные приближения.

Что делать, если функция find не может найти решение, описано в главе 3.

Can’t find the data file you’re trying to use (Невозможно найти файл, который вы пытаетесь использовать). Удостоверьтесь, что такой файл существует в указанном месте.

Can’t have anything with units or dimensions here (Здесь не должно быть единиц измерений или размерностей). Это выражение использует единицы измерений гделибо, где они не разрешены.

Единицы измерений не разрешены:

варгументах большинства функций;

вэкспонентах;

вверхних и нижних индексах.

Для того чтобы использовать выражения с единицами измерений, вначале переведите это выражение в UnitsOf(выражение).

Can’t have more than one array in a contour plot (Не может быть более одного массива в контурном графике). Вы вводите более одного массива в место ввода контурного или поверхностного графика. Разрешается иметь только один массив в данном месте ввода, так как на контурном графике может быть изображена только одна поверхность.

Can’t plot this many points (Невозможно начертить график с таким большим количеством точек). Попытка построения графика с числом точек, превосходящим возможное. Попробуйте сделать число точек меньшим, чем 150 000.

Can’t perform this operation on the entire array at once. Try using «vectorize» to perform it element by element (Невозможно выполнить эту операцию во всем массиве сразу. Попытайтесь использовать векторизацию, чтобы преобразовать элемент за элементом). Это сообщение можно увидеть, например, при попытке разделить один вектор на другой.

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

Can’t raise an expression having units to a complex power (Нельзя возводить в комплексную степень выражение, имеющее единицы измерения). Выражение с единицами измерения можно возводить только в действительную степень. Для того, чтобы возвести в комплексную степень выражение с единицами измерения, вначале переведите это выражение в UnitsOf(выражение) — единицы измерения будут отменены.

Can’t solve a system having this many equations (Невозможно решить систему,

имеющую так много уравнений). Mathcad может решать системы уравнений, содержащие не больше 200 нелинейных уравнений и не больше 500 линейных.

Can’t understand something in this data file. If this file came from a spreadsheet, make sure you saved it as ASCII text only (Невозможно что-либо понять в этом файле данных. Если этот файл взят из откуда-либо из готовых материалов, убедитесь, что он сохранен в формате ASCII). При считывании файла функцией READPRN файл должен быть записан в формате ASCII.

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

Can’t understand the name of this function. If you’re trying to multiply, use «*»

(Невозможно понять имя этой функции. Если вам нужно умножить, используйте знак умножения). Такое сообщение появляется, если выражение, не являющееся функцией, используется как функция или имя функции записано неверно.

Can’t understand the way this range variable is defined (Невозможно понять определение дискретной (ранжированной) переменной). Неверное определение дискретной переменной.

Дискретная переменная может быть определена двумя способами:

var := n1

..n2 ;

var := n1

, n2 ..n3 .

73

Can’t understand this number (Невозможно понять это число). Это выражение содержит символ или десятичную точку там, где это непозволительно. Например, вы увидите этой сообщение об ошибке, если случайно запишете число как .452.

Can’t use a range variable in a solve block (Невозможно использовать дискретную переменную в вычислительном блоке). Эта сообщение об ошибке появляется, если использовать дискретную переменную в неподходящем месте, например, в вычислительном блоке.

Исключите дискретную переменную из вычислительного блока. Попробуйте создать функцию, включающую в себя вычислительный блок.

Cannot evaluate this accurately at one or more of the values you specified (Невозможно точно вычислить выражение в одной или нескольких точках). Эта ошибка указывает, что вы пытаетесь вычислить функцию для аргумента, находящегося за пределами области определения функции.

Cannot perform this operation on a string (Нельзя выполнить эту операцию над строкой). Нельзя выполнить математические операции со строковой переменной. Could not find a solution (Невозможно найти решение). Численный метод расходится (не может найти решения). Возможно, решения не существует. Подробнее об этом написано в главе 3.

Could not find a solution because the root finder failed (Невозможно найти решение.

Сбой при нахождении корней). При решении дифференциального уравнения с граничными условиями функция sbval не может вычислить недостающие начальные условия. Попробуйте изменить начальные приближения.

Cross product is defined only for vectors having exactly three elements (Векторное произведение определяется только для векторов, имеющих ровно три элемента).

Degree of the polynomial must be between 1 and 99 (Степень полинома должна быть от

1 до 99). Вектор коэффициентов полинома, используемый функцией polyroot, должен содержать от 2 до 99 элементов.

Encountered a floating point error (В заданной точке функция не может иметь такого значения).

End of File (Конец файла). Вы пытаетесь функцией READ прочитать больше данных, чем есть в файле.

End points cannot be the same (Конечная и начальная точки не могут быть одинаковыми). При решении дифференциальных уравнений конечные точки интервала интегрирования должны быть разными.

Found a number with a magnitude greater than 10^307 while trying to evaluate this expression (Найдено число, превышающее 10307). Попробуйте поменять параметры численного алгоритма или сам алгоритм.

Found a singularity while evaluating this expression. You may be dividing by zero

(Обнаружена сингулярность при вычислении этого выражения. Возможно деление на ноль). Проверьте численные значения величин в этом выражении.

Illegal context. Press F1 for Help (Недопустимый контекст. Нажмите клавишу F1, чтобы получить помощь). Трудно диагностируемая ошибка. Часто вызывается синтаксическими ошибками при наборе выражений.

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

Illegal dimensions (Недопустимые размеры массива). Массив не имеет столько строк и столбцов, сколько требуется.

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

Invalid expansion point (Невозможно разложить выражение в ряд в окрестности указанной точки). Проверьте правильность использования ключевого слова series при символьном вычислении выражения.

Invalid matrix dimension. The number of rows is less than the number of columns

(Неправильный размер матрицы. Число строк меньше, чем число столбцов). Функция svd требует, чтобы число строк было больше числа столбцов или равно ему.

Live symbolics not available (Символьные вычисления невыполнимы). Это сообщение появляется при использовании символьного знака равенства, если в данной версии Mathcad символьные вычисления отсутствуют.

Loess cannot extrapolate (Функция loess не может экстраполировать выражение). Точки для интерполяции выражения должны лежать между минимальным и максимальным значениями заданных точек.

Matrix is singular. Cannot compute its inverse (Матрица сингулярная. Невозможно вычислить обратную матрицу). Матрица вырожденная или почти вырожденная. Ее определитель равен нулю или число обусловленности очень велико.

Matrix must be positive definite (Матрица должна быть положительно определенной). Это сообщение появляется, когда матричный аргумент функции не является

положительно определенным. Матрица является положительно определенной, если

ее собственные числа действительные и положительные.

Must be 1 complex matrix or 2 real matrices (Должна быть одна матрица комплексных

74

чисел или две матрицы действительных чисел). Это условие необходимо при

построении графика векторного поля.

Must be a vector with real elements (Должен быть вектор действительных чисел).

Вектор не должен иметь мнимых чисел и должен быть столбцом, а не строкой.

Must be between two lock regions (Курсор должен быть между границами запираемой

зоны). При создании закрытой области — команда Format

Area

Lock

(Формат

Зона

Запереть) — необходимо вначале щелкнуть мышью между

границами запираемой зоны.

Must be less than the number of data points (Аргумент должен быть меньше, чем число

точек в массиве данных). Для дополнительной информации установите курсор на

названии встроенной функции и нажмите клавишу F1.

Must be a real scalar (Должно быть действительным числом).

Must have more than four rows (Матрица должна иметь больше четырех рядов).

Must have 1 or 2 columns (Матрица должна иметь один или два столбца). Первый

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

один столбец для одномерной сплайн-интерполяции и два столбца — для

двухмерной.

Must have three vectors or one matrix (Должно быть три вектора или одна матрица).

При построении графика поверхности в поле ввода надо вписать или три вектора,

разделенных запятыми, или одну матрицу.

No bitmaps were found in the worksheet (В документе нет графических объектов). Это

сообщение появляется при выполнении команды Format

Color

Optimize Palette.

(Формат

Цвет

Оптимизировать палитру).

Not enough memory for this operation (Для этой операции недостаточно памяти).

Only positive values are allowed here (Здесь можно использовать только положительные величины).

ORIGIN should be an integer whose magnitude is less than 16 million (ORIGIN должно быть целым числом, меньшим 16 млн).

(Rows – 1) must be power of 2 (Матрица должна иметь 2n рядов).

Something is wrong with the solve block used to define this function. It may need a guess value (Что-то неверно в блоке решения. Возможно, необходимо начальное приближение). Такое сообщение появляется при использовании блока решения внутри функции пользователя. Попробуйте оценить непосредственно сам блок решения вне функции пользователя. Вы получите другое более подробное сообщение об ошибке.

String contains the wrong number of characters or the wrong kind of characters (Строка содержит неверное число символов или неверный вид символов). При использовании смешанных программ необходим ввод символов в строке аргументов: I — для целых чисел, B — для бинарных чисел, С — для любого вещественного числа.

The elements in this vector must be in increasing order (Элементы этого вектора должны быть расположены в порядке возрастания). Такое требование предъявляется к вектору аргументов при работе с массивами данных, например, при интерполяции или построении гистограмм.

The expression to the left of the equal sign cannot be defined (Выражение слева от знака равенства не может быть определено). Возможна синтаксическая ошибка. Слева от оператора присваивания могут находиться имена переменных, векторов, матриц и функций (с аргументами в скобках).

The format of this vector is invalid. Press F1 for help (Неверный размер вектора.

Нажмите клавишу F1 для вызова помощи). Некоторые функции требуют в качестве аргумента вектор, созданный другой функцией. Этот вектор имеет специальный формат, создаваемый другой функцией, например cspline, regress и др.

The function values on the two bracket end points must be of opposite signs (Величины функции в двух крайних точках интервала должны быть разного знака). При задании интервала поиска корней функцией root величины функции в двух крайних точках интервала должны быть разного знака. Выбирайте границы интервала поиска корней после построения графика функции.

The number of rows must be a power of 2 (Число элементов вектора должно быть равно 2n). Ошибка возникает при неверном числе данных для волнового преобразования функцией wave.

The number of rows or columns do not match (Число строк и столбцов в этих матрицах не согласовано). Подобное сообщение об ошибке часто появляется при неправильном перемножении матриц. Нажмите клавиши Shift+F1 и щелкните мышью на имени функции, чтобы узнать необходимые размеры матриц.

The unit placeholder can only have real, non-zero scalars put into it (В место ввода размерности при выводе результатов вычислений можно вводить, кроме размерностей, только действительные, не равные нулю скалярные величины).

The units in this expression do not match (Размерности в этом выражении не согласованы). Несогласованные вычисления с размерными и безразмерными величинами. При вычислениях без учета размерностей, видимо, осталась не заданной

какая-либо величина, обозначенная буквами m, s, N и т. д., которые по умолчанию встроены в Mathcad как стандартные размерности длины, времени и силы.

There is an extra comma in this expression (В этом выражении есть лишняя запятая). 75

Проверьте синтаксис. Видимо, запятая использована вместо точки.

There must be more data points than parameters (В массиве данных должно быть больше точек, чем параметров функции). Такое требование предъявляют, например,

функции regress и genfit.

There must be more than three data points (Эта функция требует вектор, содержащий по крайней мере четыре элемента).

This array must have more than one row or column (Этот массив должен иметь больше,

чем одну строку или столбец). Например, при построении графиков поверхности требуется матрица значений. Некоторые функции требуют матричных аргументов.

This expression has a «(» without a matching «)». (В выражении не хватает скобок).

Проверьте выражение.

This expression is incomplete. You must fill in the placeholders (Выражение неполное.

Вы должны заполнить места ввода).

This expression is incomplete. You must provide an operator (Выражение неполное. Вы должны ввести оператор).

This expression is too complicated. Try defining it in smaller pieces (Выражение слишком сложное. Постарайтесь определить его по частям).

This file could not be opened. Make sure it exists (Этот файл не может быть открыт.

Убедитесь, что он существует). При считывании внешнего файла функцией READPRN возможно, что файл имеет статус «только для чтения». Если считываемый файл не находится в том же каталоге, что и файл, используемый Mathcad, необходимо указать полный путь к нему.

This function has too many arguments (Функция имеет слишком много аргументов). Для встроенных функций щелкните мышью на имени функции и нажмите клавишу F1. Проверьте правильность использования функции. Для функции пользователя проверьте определение функции.

This function is undefined at one or more of the points you specified (Функция не определена в одной или нескольких точках). Вы используете оператор или функцию для неприемлемых значений аргумента, например, lg(0) или –3! (факториал отрицательного числа не определен).

This image format is not supported (Этот формат изображения не поддерживается

Mathcad).

This integer is too large (Величина слишком большая для работы с ней). This integer is too small (Величина слишком мала для работы с ней).

This is invalid. If you are using conditional statements in a Mathcad program, make sure all cases are accounted for (Это неверно. Если вы используете условие в Mathcadпрограмме, убедитесь, что все возможные случаи учтены). В условный оператор программирования добавьте еще одно место ввода и впишите еще одно значение с ключевым словом Otherwise (иначе).

This is not a valid interval (Неправильно указан интервал). Начальное значение интервала должно быть меньше конечного.

This is not allowed inside a solve block. For example, definitions are not allowed in a solve block (Это не разрешено внутри вычислительного блока. Например, определения не могут находиться внутри вычислительного блока). Внутри вычислительного блока могут находиться только решаемые уравнения и ограничения к ним.

This list contains too many items (Список содержит слишком много имен). Вы ввели в список слишком много имен, разделенных запятыми. Чаще всего это случается с графиками.

This matrix must be square. It should have the same number of rows as columns (Матрица должна быть квадратной. Число строк должно быть равно числу столбцов).

This must be an integer. The expression you used appears to have a fractional part (Здесь должно быть целое число. Похоже, что выражение содержит дробную часть). Проверьте верхние и нижние индексы. Они должны быть целыми числами. Некоторые функции, такие как identity и submatrix, требуют целочисленных аргументов.

This must be the name of a function or variable (Здесь должно быть имя функции или переменной).

This must be the name of a mapping function (Здесь должно быть имя функции преобразования координат). Такой аргумент требуется функциям CreateMech и CreateSpace.

This operation can only be performed on a function (Эту операцию можно производить только над функцией). Аргумент функции сам должен быть функцией.

This operation can only be performed on an array. It can’t be performed on a number (Эту операцию можно выполнить только над массивом, но не над числом). Например, если вы пишете имя с верхним индексом, то это должен быть вектор.

This operation can only be performed on a number or an array (Эту операцию можно выполнить только над числом или массивом).

This operation can only be performed on a string (Эту операцию можно выполнить только над строкой). Например, строковые функции требуют хотя бы один строковый аргумент.

скачать

^

Mathcad в функции root использует для поиска корня метод секущей. Начальное значение, присвоенное переменной x, становится первым приближением к искомому корню. Когда значение выражения f(x) при очередном приближении становится меньше значения встроенной переменной TOL, корень считается найденным, и функция root возвращает результат.

Если после многих итераций Mathcad не может найти подходящего приближения, то появляется сообщение об ошибке “отсутствует сходимость”. Эта ошибка может быть вызвана следующими причинами:

  • Уравнение не имеет корней.
  • Корни уравнения расположены далеко от начального приближения.
  • Выражение имеет локальные максимумы или минимумы между начальным приближением и корнями.
  • Выражение имеет разрывы между начальным приближением и корнями.
  • Выражение имеет комплексный корень, но начальное приближение было вещественным (или наоборот).

Чтобы установить причину ошибки, исследуйте график f(x). Он поможет выяснить наличие корней уравнения f(x)=0 и, если они есть, то определить приблизительно их значения. Чем точнее выбрано начальное приближение корня, тем быстрее функция root будет сходиться к точному значению. roots;using plots to find

^

В этом разделе приведены несколько советов по использованию функции root:

  • Для изменения точности, с которой функция root ищет корень, можно изменить значение встроенной переменной TOL. Если значение TOL увеличивается, функция root будет сходиться быстрее, но ответ будет менее точен. Если значение TOL уменьшается, функция root будет сходиться медленнее, но ответ будет более точен. Чтобы изменить значение TOL в определенной точке рабочего документа, используйте определение вида TOL := 0.01. Чтобы изменить значение TOL для всего рабочего документа, выберите из меню Математика команду Встроенные переменные и введите подходящее значение в поле TOL. Нажав “OK”,  выберите из меню Математика команду Пересчитать всё, чтобы обновить все вычисления в рабочем документе с использованием нового значения переменной TOL.
  • Если уравнение имеет несколько корней, пробуйте использовать различные начальные приближения, чтобы найти их. Использование графика функции полезно для нахождения числа корней выражения, их расположения и определения подходящих начальных приближений. Рисунок 1 показывает пример. Если два корня расположены близко друг от друга, можно уменьшить TOL, чтобы различить их.
  • Если f(x) имеет малый наклон около искомого корня, функция может сходиться к значению r, отстоящему от корня достаточно далеко . В таких случаях для нахождения более точного значения корня необходимо уменьшить значение TOL. Другой вариант заключается в замене уравнения f(x)=0 на g(x)=0, где

  • Для выражения f(x) с известным корнем a нахождение дополнительных корней f(x) эквивалентно поиску корней уравнения h(x)=0, где h(x)=f(x)/(x-a). Подобный приём полезен для нахождения корней, расположенных близко друг к другу. Часто бывает проще искать корень выражения h(x), определенного выше, чем пробовать искать другой корень уравнения f(x)=0, выбирая различные начальные приближения.

^

Предположим, что нужно решать уравнение многократно при изменении одного из параметров этого уравнения. Например, пусть требуется решить уравнение для нескольких различных значений параметра a. Самый простой способ состоит в определении функции

f( a, x) := root(ex — a x2, x)

Чтобы решить уравнение для конкретного значения параметра a, присвойте значение параметру a и начальное значение переменной x как аргументам этой функции. Затем найдите искомое значение корня, вводя выражение f(a,x)=.

Рисунок 2 показывает пример того, как такая функция может использоваться для нахождения корней исследуемого уравнения при различных значениях параметра. Обратите внимание, что, хотя начальное значение x непосредственно входит в определение функции, нет необходимости определять его в другом месте рабочего документа.

^

Нахождение корней полинома

Для нахождения корней выражения, имеющего вид

vnxn +…+ v2x2 + v1x + v0,

лучше использовать функцию polyroots, нежели root. В отличие от функции root, функция polyroots не требует начального приближения. Кроме того, функция polyroots возвращает сразу все корни, как вещественные, так и комплексные. На Рисунках 3 и 4 приведены примеры использования функции polyroots.

polyroots(v) Возвращает корни полинома степени . Коэффициенты полинома находятся в векторе v длины n+1. Возвращает вектор длины n, состоящий из корней полинома.

Функция polyroots всегда возвращает значения корней полинома, найденные численно. Чтобы находить корни символьно, используйте команду Решить относительно переменной из меню Символика. См. Главу  “Символьные вычисления”.

Рисунок 3: Использование функции polyroots для решения задачи, изображенной на Рисунке 1.

^

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

Для решения системы уравнений выполните следующее:

  • Задайте начальные приближения для всех неизвестных, входящих в систему уравнений. Mathcad решает уравнения при помощи итерационных методов. На основе начального приближения строится последовательность, сходящаяся к искомому решению.
  • Напечатайте ключевое слово ^ . Оно указывает Mathcad, что далее следует система уравнений. При печати слова Given можно использовать любой шрифт, прописные и строчные буквы. Убедитесь, что при этом Вы не находитесь в текстовой области или параграфе.
  • Введите уравнения и неравенства в любом порядке ниже ключевого слова Given. Удостоверьтесь, что между левыми и правыми частями уравнений стоит символ =. Используйте [Ctrl]= для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов  <, >, , и .
  • Введите любое выражение, которое включает функцию ^ . При печати слова Find можно использовать шрифт любого размера, произвольный стиль, прописные и строчные буквы.
Find(z1, z2, z3, . . . ) Возвращает решение системы уравнений. Число аргументов должно быть равно числу неизвестных.

Функция ^ возвращает найденное решение следующим образом:

  • Если функция Find имеет только один аргумент, то она возвращает решение уравнения, расположенного между ключевым словом Given и функцией Find.
  • Если функция ^ имеет более одного аргумента, то она возвращает ответ в виде вектора. Например, Find(z1, z2) возвращает вектор, содержащий значения z1 и z2 , являющиеся решением системы уравнений.

Ключевое слово Given, уравнения и неравенства, которые следуют за ним, и какое-либо выражение, содержащее функцию ^ называются блоком решения уравнений.

На Рисунке 5 показан рабочий документ, который использует блок решения уравнений для решения одного уравнения с одним неизвестным. Так как имеется только одно уравнение, то только одно уравнение появляется между ключевым словом Given и формулой, включающей функцию Find. Так как уравнение имеет одно неизвестное, то функция Find имеет только один аргумент. Для решения одного уравнения с одним неизвестным можно также использовать функцию root, как показано ниже:

a := root(x2 + 10 — ex , x)

^

Между ключевым словом Given и функцией Find в блоке решения уравнений могут появляться выражения строго определенного типа. Ниже приведен список всех выражений, которые могут быть использованы в блоке решения уравнений. Использование других выражений не допускается. Эти выражения часто называются ограничениями. В таблице, приведенной ниже, через x и y обозначены вещественнозначные скалярные выражения, а через z и w обозначены любые скалярные выражения.

Условие Как ввести Описание
w = z [Ctrl] = Булево равенство возвращает 1, если операнды равны; иначе 0
x > y > Больше чем.
x < y < Меньше чем.
x y [Ctrl]0 Больше либо равно.
x y [Ctrl]9 Меньше либо равно.
w z [Ctrl]3 Не равно.

Следующие выражения недопустимы внутри блока решения уравнений:

  • Ограничения со знаком .
  • Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме.
  • Неравенства вида a < b < c.

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

^

Блоки решения уравнений не могут быть вложены друг в друга. Каждый блок решения уравнений может иметь только одно ключевое слово Given и имя функции Find. Можно, однако, определить функцию f(x) := Find(x) в конце одного блока решения уравнений и затем использовать f(x) в другом блоке. Эта возможность также обсуждена в разделе “Как лучше искать корни” ниже в этой главе.

Как правило, нельзя использовать оператор присваивания (выражения вида x:=1) внутри блока решения уравнений. Mathcad помечает операторы присваивания, которые находятся внутри блока решения уравнений, сообщением об ошибке.

На Рисунке 6 показан блок решения уравнений, в котором использованы некоторые виды ограничений на искомое решение. Решаются два уравнения с двумя неизвестными. В результате функция Find содержит два аргумента, x и y, и возвращает ответ в виде вектора с двумя компонентами.

Как использовать найденное решение

Функция Find, которая завершает блок решения уравнений, может быть использована аналогично любой другой функции. Можно произвести с этой функцией следующие три действия:

  • Можно вывести найденное решение, напечатав выражение вида Find(variable) =. Пример приведен в верхней половине Рисунка 7.    Если решаются уравнения с несколькими неизвестными, то можно вывести вектор результатов, введя выражение вида Find(vari1, var2,…) =. Пример того, как это делается для системы двух уравнений с двумя неизвестными, приведен на Рисунке 8.
  • Можно определить переменную с использованием этой функции. Для этого в конце блока решения уравнений необходимо ввести выражение a := Find(x). Это удобно сделать, если требуется использовать решение системы уравнений в другом месте рабочего документа. Как только переменная a определена таким образом, она сразу же принимает значение искомого корня. Пример, иллюстрирующий такую возможность, приведен в нижней половине Рисунка 7. Если функция Find возвращает вектор значений, можно ввести выражение variable := Find(vari1, var2,…). После такого определения переменная становится вектором (вместо скаляра). Можно также определить переменные, как показано на Рисунке 6.
  • Используя  Find, можно определить другую функцию. Для этого необходимо закончить блок решения уравнений выражением типа f(a, b, c,…) := Find(x, y, z,…). Эта конструкция удобна при многократном решении системы уравнений для различных значений некоторых параметров a, b, с, . . ., непосредственно входящих в систему уравнений. Эта методика описана в разделе “Как лучше искать корни” ниже в этой главе.

^

^

^

^

Mathcad возвращает в блоке решения уравнений только одно решение. Однако система уравнений может иметь несколько различных решений. Если одно из решений найдено, то для поиска других решений можно использовать различные начальные приближения либо дополнительные ограничения в виде неравенств, которым найденное решение не удовлетворяет. На Рисунке 9 показано, как иное начальное приближение может приводить к другому решению задачи, приведенной на Рисунке 8. На Рисунке 10 показано, как добавить ограничения в виде неравенства для поиска другого решения.

^

Если в результате решения уравнений на каком-либо шаге итераций не может быть найдено более приемлемое приближение к искомому решению по сравнению с предыдущим шагом, то поиск решения прекращается, а функция Find помечается сообщением об ошибке “решение не найдено”.

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

На Рисунке 11 приведена задача, для которой Mathcad не смог найти решение.

^

Сообщение об ошибках “решение не найдено” при решении уравнений появляется, когда различие между текущим приближением и приближением, полученным на предыдущем шаге итераций, больше, чем значение встроенной переменной TOL, и выполнено одно из следующих условий:

  • Достигнута точка, из которой не может быть получено более точное приближение к решению.
  • Достигнута точка, из которой невозможно выбрать подходящее направление спуска — направление вдоль которого ищется следующее приближение. В связи с этим продолжать итерации невозможно.
  • Достигнут предел точности вычислений. Дальнейшие вычисления не увеличивают точность найденного решения вследствие влияния ошибок округления. Это часто случается, если установлено значение встроенной переменной TOL меньшее, чем 10-15.

Причиной появления этого сообщения об ошибке может быть следующее:

  • Поставленная задача может не иметь решения.
  • Для уравнения, которое не имеет вещественных решений, в качестве начального приближения взято вещественное число. Если решение задачи комплексное, то оно не будет найдено, если только в качестве начального приближения не взято также комплексное число. На Рисунке 11 приведен соответствующий пример.
  • В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Метод поиска решения, который используется в Mathcad, не позволяет в этом случае построить следующее приближение, которое бы уменьшало невязку. Для поиска искомого решения пробуйте использовать различные начальные приближения или добавьте ограничения на переменные в виде неравенств, чтобы обойти точку локального минимума.
  • В процессе поиска решения получена точка, которая не является точкой локального минимума, но из которой метод минимизации не может определить дальнейшее направление движения. Метод преодоления этой проблемы — такой же, как для точки локального минимума: измените начальное приближение или добавьте ограничения в виде неравенств, чтобы миновать нежелательную точку остановки.
  • Возможно, поставленная задача не может быть решена с заданной точностью. Если значение встроенной переменной TOL слишком мало, то Mathcad может достигнуть точки, находящейся достаточно близко к решению задачи, но уравнения и ограничения при этом не будут выполнены с точностью, задаваемой переменной TOL. Попробуйте увеличить значение TOL где-нибудь выше блока решения уравнений.

^

Если количество ограничений меньше, чем количество переменных, Mathcad вообще не может выполнить блок решения уравнений. Mathcad помечает в этом случае функцию Find сообщением об ошибке “слишком мало ограничений”.

Задача, аналогичная той, которая приведена на Рисунке 12, называется недоопределенной. Ограничений в ней меньше, чем переменных. Поэтому ограничения не содержат достаточной информации для поиска решения. Поскольку функция Find имеет пять аргументов, Mathcad определяет, что требуется решить два уравнения с пятью неизвестными. Вообще говоря, такая задача обычно имеет бесконечное число решений.

При использовании блока решения уравнений в Mathcad необходимо задать количество уравнений по крайней мере не меньшее, чем число искомых неизвестных. Если зафиксировать значения некоторых переменных, удастся решить уравнения относительно оставшихся переменных. На Рисунке 13 показано, как, зафиксировав часть переменных, решить недоопределенную задачу из Рисунка 12. Поскольку функция  Find содержит только два аргумента, z и w, Mathcad определяет переменные x, y и v как имеющие фиксированные значения 10, 50 и 0 соответственно. Блок решения уравнений становится в этом случае корректно определенным, потому что теперь имеются только две неизвестных, z и w, и два уравнения.

^

^

Этот раздел содержит некоторые советы по поводу эффективного использования процедур Mathcad, предназначенных для решения систем уравнений. Описана техника решения уравнений, содержащих параметр.

страница 12/14
Дата 20.09.2011
Размер 1,87 Mb.
Тип Документы, Образовательные материалы

Старый
05.05.2007, 19:11

 

 
# 1

Member

 

Аватар для StRaNNiK

 

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

Адрес: Екатеринбург

Пол: Male

Сообщения: 254

StRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форуме

Помогите с MathCad. Не получается вычислить интеграл.


Не могу понять, как вычислить интеграл от 1/cos(x) в пределах от 0 до pi/2. Почему-то не считает он его, хотя на бумажке если самому считать по формуле, то все нормально считается. может в маткаде что-то задать нужно или еще что?

__________________
Строгость законов в России компенсируется необязательностью их исполнения

StRaNNiK вне форума

Старый
05.05.2007, 20:08

 

 
# 2

::VIP::

 

Аватар для Naked

честно говоря уже не помню чему равна первообразная от 1/cos(x), но мне почему то кажется, что баги с границами — ведь вроде когда считаешь интеграл иногда по хорошему делаешь через всякие пределы и т.д., маткад видимо так не умеет — я из верхнего предела вычел 0.000000001 и получил ответ — посмотри в эту сторону…

__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.

Naked вне форума

Старый
05.05.2007, 20:52

 

 
# 3

Member

 

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

Адрес: Питер

Сообщения: 336

Kvarx Известность не заставит себя ждатьKvarx Известность не заставит себя ждать

Цитата:

Сообщение от Naked
Посмотреть сообщение

честно говоря уже не помню чему равна первообразная от 1/cos(x)

На сколько я помню, ее не существует. А такой интергал, судя по всему просто расходится.

Kvarx вне форума

Старый
05.05.2007, 21:48

 

 
# 4

Member

 

Аватар для StRaNNiK

 

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

Адрес: Екатеринбург

Пол: Male

Сообщения: 254

StRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форуме

первообразная есть:
интеграл от

Цитата:

1/cosx = ln|tg(x/2 +pi/4)| +C

Поробовал сделать, как сказал Naked. Посчитало.
Но если быть точнее, то нужный мне интеграл выглядит так:

Цитата:

1/cos(x^2 + pi/4) в пределах от 0 до pi/2

а вот тут уже вычитание 0.000000001 не помогает
у кого какие идеи есть?

__________________
Строгость законов в России компенсируется необязательностью их исполнения

StRaNNiK вне форума

Здравствуйте!
Использую маткад для выполнения лабораторной работы
Есть вот такие формулы:
608b91b372a17162632643.png
Я записал их в маткаде:
608b91f56106e993160057.png
Все переменные определены, но в чем заключается проблема я так и не понял
608b92a0de059007934429.png
608b92cf48b93998760443.png


  • Вопрос задан

    более двух лет назад

  • 396 просмотров

Your privacy

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Старый
05.05.2007, 18:11

 
 
# 1

Member

 

Аватар для StRaNNiK

 

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

Адрес: Екатеринбург

Пол: Male

Сообщения: 254

StRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форуме

Помогите с MathCad. Не получается вычислить интеграл.


Не могу понять, как вычислить интеграл от 1/cos(x) в пределах от 0 до pi/2. Почему-то не считает он его, хотя на бумажке если самому считать по формуле, то все нормально считается. может в маткаде что-то задать нужно или еще что?

__________________
Строгость законов в России компенсируется необязательностью их исполнения

StRaNNiK вне форума

 

Старый
05.05.2007, 19:08

 
 
# 2

::VIP::

 

Аватар для Naked

честно говоря уже не помню чему равна первообразная от 1/cos(x), но мне почему то кажется, что баги с границами — ведь вроде когда считаешь интеграл иногда по хорошему делаешь через всякие пределы и т.д., маткад видимо так не умеет — я из верхнего предела вычел 0.000000001 и получил ответ — посмотри в эту сторону…

__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.

Naked вне форума

 

Старый
05.05.2007, 19:52

 
 
# 3

Member

 

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

Адрес: Питер

Сообщения: 336

Kvarx Известность не заставит себя ждатьKvarx Известность не заставит себя ждать

Цитата:

Сообщение от Naked
Посмотреть сообщение

честно говоря уже не помню чему равна первообразная от 1/cos(x)

На сколько я помню, ее не существует. А такой интергал, судя по всему просто расходится.

Kvarx вне форума

 

Старый
05.05.2007, 20:48

 
 
# 4

Member

 

Аватар для StRaNNiK

 

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

Адрес: Екатеринбург

Пол: Male

Сообщения: 254

StRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форуме

первообразная есть:
интеграл от

Цитата:

1/cosx = ln|tg(x/2 +pi/4)| +C

Поробовал сделать, как сказал Naked. Посчитало.
Но если быть точнее, то нужный мне интеграл выглядит так:

Цитата:

1/cos(x^2 + pi/4) в пределах от 0 до pi/2

а вот тут уже вычитание 0.000000001 не помогает
у кого какие идеи есть?

__________________
Строгость законов в России компенсируется необязательностью их исполнения

StRaNNiK вне форума

 

Понравилась статья? Поделить с друзьями:
  • Ошибка ман тга збр 03300 03
  • Ошибка маткад эта переменная не определена
  • Ошибка ман тга збр 02987 03
  • Ошибка маткад значение должно быть целым числом
  • Ошибка ман тга збр 01088 04