Русскоязычный форум закрыт из-за отсутствия активности (доступен только для чтения).
Пожалуйста, пользуйтесь англоязычной его версией. Приносим извинения за неудобства
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Вход


Опции
К последнему сообщению К первому непрочитанному
Offline уни  
#1 Оставлено : 14 октября 2010 г. 11:54:45(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Если включите метод БПФ, то можно показать интересный пример из области рядов и обработки сигналов:
Mathcad. Примеры разложения сигналов.pdf
Россия навсегда!
Вячеслав Мезенцев

Wanna join the discussion?! Login to your Форум проекта SMath forum account. Новые регистрации запрещены.

Offline smath  
#2 Оставлено : 14 октября 2010 г. 14:19:29(UTC)
smath


Статус: Administration

Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Мужчина
Российская Федерация

Сказал «Спасибо»: 640 раз
Поблагодарили: 262 раз в 102 постах
Реализация БПФ в программе есть, хоть она и не документирована. Подробности здесь.
Offline уни  
#3 Оставлено : 14 октября 2010 г. 17:55:26(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Да, с трудом программа справляется. Возникли проблемы при определении единичного импульса с помощью оператора if(). Просто не работает, картинка не соответствует записи неравенств ( if 0 <= t <= Tu ...).

При n=10 и более выводится ошибка: "Значение вышло за пределы максимально-допустимого положительного числа"

Россия навсегда!
Вячеслав Мезенцев
Offline уни  
#4 Оставлено : 15 октября 2010 г. 9:43:24(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Андрей, как задать пилообразный сигнал как в pdf? График 2D ведёт себя неадекватно.
Версия: 0.89 (сборка 8)
Россия навсегда!
Вячеслав Мезенцев
Offline smath  
#5 Оставлено : 15 октября 2010 г. 13:51:44(UTC)
smath


Статус: Administration

Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Мужчина
Российская Федерация

Сказал «Спасибо»: 640 раз
Поблагодарили: 262 раз в 102 постах
Я бы смог значительно быстрее давать фидбэк, если бы мне не приходилась делать повторную работу по переписи формул с картинки в программу. Пожалуйста, прикрепите файл расчёта, что бы я смог разобраться где конкретно произошла ошибка и посоветовал как с ней бороться.

Заранее благодарю.
Offline уни  
#6 Оставлено : 15 октября 2010 г. 14:34:48(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Вот файл: Разложение в ряд Фурье
Мне тоже лень пользоваться сторонними сервисами. Ради одного файла в пару десятков килобайт затевать файлообмен не интересно.

Ещё интересно узнать как можно отобразить коэффициенты a и b в документе на 2D графике?
Можно ли как-нибудь ускорить расчёты?
Россия навсегда!
Вячеслав Мезенцев
Offline уни  
#7 Оставлено : 15 октября 2010 г. 19:31:58(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Цитата:
Ещё интересно узнать как можно отобразить коэффициенты a и b в документе на 2D графике?

Нашёл возможность как отобразить коэффициенты и даже пилообразный сигнал, но проблемы только умножились Good



Интегралы в коэффициентах не хотят считаться.

На счёт if() с тремя операндами. Видимо в программе операция вида 0 < x выглядит как operatorLESS( var1; var2 ), а Mathcad выражение вида 0 < x < num автоматически переводит в operatorLESSLESS( var1; var2; var3 ) или скорее всего в operatorLESS( var1; var2 ) AND operatorLESS( var2; var3 ), чего не делается в SMath. В последнем, видимо, это выглядит как: 0 < x < num => ( 0 < x ) < num => 1 < num или 0 < num.

Вот файл: Пилообразный сигнал
Здесь я заменил условие на: ( 0 <= x ) AND ( x <= Tn ).

Отредактировано пользователем 15 октября 2010 г. 19:56:04(UTC)  | Причина: Не указана

Россия навсегда!
Вячеслав Мезенцев
Offline OchkovVF  
#8 Оставлено : 15 октября 2010 г. 20:25:10(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 209 раз
Поблагодарили: 3 раз в 3 постах
уни написал:
Если включите метод БПФ, то можно показать интересный пример из области рядов и обработки сигналов:
Mathcad. Примеры разложения сигналов.pdf

См. communities.ptc.com/videos/1416
Offline уни  
#9 Оставлено : 15 октября 2010 г. 20:38:12(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Наконец получилось, что хотел:


Вот полуокончательный файл: Разложение в ряд пилообразного сигнала

Да, Валерий Фёдорович, я этот пример помню.
Россия навсегда!
Вячеслав Мезенцев
Offline уни  
#10 Оставлено : 15 октября 2010 г. 21:24:53(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Треугольный сигнал.



Исходник: Треугольный сигнал
Россия навсегда!
Вячеслав Мезенцев
Offline уни  
#11 Оставлено : 15 октября 2010 г. 22:35:20(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Тот же треугольный сигнал, но вычисление идёт без интегралов при помощи БПФ. К сожалению, в БПФ нет мнимой части, поэтому восстановить можно только симметричные сигналы (как косинус).


Исходник давать не буду, т.к. вычисления слишком долгие. Толку мало.
Россия навсегда!
Вячеслав Мезенцев
Offline smath  
#12 Оставлено : 16 октября 2010 г. 1:21:17(UTC)
smath


Статус: Administration

Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Мужчина
Российская Федерация

Сказал «Спасибо»: 640 раз
Поблагодарили: 262 раз в 102 постах
уни, большое спасибо и за попытку решения задачи в SMath Studio и за прикреплённые файлы расчётов. Сегодня занимался ошибкой из-за которой не удаётся вычислить u10(x) и т.д. К сожалению проблема серьёзная и заставить существующую версию программы проделать это врятли возможно, но вот усовершенствовать программу так, что бы проблема более не возникала вполне можно, чему и посвящу своё время.

Насчёт ускорения расчётов.
Значения a и b зависят от вычисления интегралов и здесь есть простой способ ускорения. Дело в том, что если справа от знака присваивания стоит линия (функция line), то программа не производит никаких вычислений при встрече такого выражения, но вычисляет его при каждом вызове. Поэтому a и b вычисляются в Вашем расчёте каждый раз при вызове, что, конечно, очень негативно сказывается на скорости работы.
Сейчас вычисление a выглядит так:
a←line(for(ii←1,ii≤n,ii←ii+1,el(вых,ii)←2/T.u*int(s(x)*cos(ii*ω.1*x),x,0,T.u)),вых,2,1)
Ускорить можно переписав формулу таким образом:
for(ii←1,ii≤n,ii←ii+1,el(a,ii)←2/T.u*int(s(x)*cos(ii*ω.1*x),x,0,T.u))
Т.е. тут SMath Studio определит переменную единожды и дальнейшие расчёты с переменной будут происходить намного быстрее.

уни написал:
Мне тоже лень пользоваться сторонними сервисами. Ради одного файла в пару десятков килобайт затевать файлообмен не интересно.

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