Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » помогите с Matlab

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12

Открыть новую тему     Написать ответ в эту тему

crays

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://rghost.ru/36552998  
вот эта фотография.... если сможешь помоги))) Заранее спасибо

Всего записей: 10 | Зарегистр. 14-02-2012 | Отправлено: 19:54 16-02-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогу, если объяснишь, что такое "n%,x!(n),y!(n)"
Ну не умею блок-схемы разбирать...
 
А остальное (кроме непонятного 1-го блока) так:

Код:
 
sx=0;
sy=0;
sx2=0;
sxy=0;
for i=1:1:n
    sx=sx+x(i);
    sy=sy+y(i);
    sx2=sx2+x(i)*x(i);
    sxy=sxy+x(i)*x(i);
end;
b=(n*sxy-sx*sy)/(n*sx2-sx*sx);
a=(sy*sx2-sx*sxy)/(n*sx2-sx*sx);
disp(['a=',num2str(a)]); % вывод значения a
disp(['b=',num2str(b)]); % вывод значения b
 

 
 
Добавлено:
PS
А i лучше не использовать - ибо зарезервировано за (-1)^(1/2)

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 23:26 16-02-2012 | Исправлено: dimitriy7, 00:36 17-02-2012
crays

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо большое..

Всего записей: 10 | Зарегистр. 14-02-2012 | Отправлено: 16:26 18-02-2012
crays

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто сможет помочь сделать матрицы в матлабе??

Всего записей: 10 | Зарегистр. 14-02-2012 | Отправлено: 19:57 10-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В смысле?

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 20:04 10-03-2012
Raskolbasss

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста:
С Матлабом знаком очень плохо..
Идея работы в том, чтобы загрузить в матлаб записанный голос, изменить фазу данного сигнала и произвести полученную запись. Все это для субъективной оценки влияния изменения фазы.
Мне сказали, что это сделать достаточно просто, в справочнике я нашел только как загрузить аудио и как сделать СПМ или спектр амплитуд, а как до фазы докапаться?...
Заранее очень благодарен.

Всего записей: 24 | Зарегистр. 10-03-2012 | Отправлено: 22:01 10-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а как до фазы докапаться?

А это уже не к матлабу, а к науке акустике... Вот что такое у тебя "изменить фазу"? Ты б хоть определение дал, или формулы для расчета показал, что ли.  
Ну и уже сделанное покажи (загрузка аудио) - чтобы знать, какое там представление данных

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 23:42 10-03-2012
VeronicKa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...

Всего записей: 3 | Зарегистр. 11-03-2012 | Отправлено: 01:41 11-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VeronicKa
Ну а что тут с блок-схемой? У вас просто набор последовательно идущих команд; никаких явных ветвлений, циклов, и т.п. нету... Выпишите команды одну за другой, цепочкой, - вот вам и блок-схема.
 
А уж смотреть внутрь стандартных ф-ций (figure, plot, sqrt, atan, ...) лучше даже не пытаться - во-первых, сложно; во-вторых - ну не принято так делать (если язык по стандарту предусматривает какие-то сложные операторы, то внутрь них и не лезут - так и рисуют на блок-схеме какой-нибудь plot одним квадратиком)

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 14:15 11-03-2012
Raskolbasss

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как я изначально представлял эту работу: создать фильтр, который имел бы постоянную амплитудную характеристику и постоянную фазовую характеристику( в целях того, чтобы моя запись, проходя через него не усиливалась, а только "искажалась", т.к. фаза будет изменяться на постоянную величину, не зависящую от частоты). Но полазив в интернете и полистав книги не нашел решения проблемы как таковой..  что нашел, так это что чтение\запись wavread\wavwrite.. еще фазовая характеристика есть аргумент от частотной характеристики.  фазовая характеристика есть частотная зависимость разности фаз между выходным и входным сигналами.

Всего записей: 24 | Зарегистр. 10-03-2012 | Отправлено: 19:43 11-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raskolbasss
Так тебе что, надо оцифрованный аудиосигнал по времени сдвинуть?
Или сначала по частотам разложить (фурье?) и двигать уже их?

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 20:13 11-03-2012
Raskolbasss

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужно разложить сигнал по Фурье. т.е. получить его частотную характеристику. Далее из нее взять аргумент - это и будет фазо-частотная характеристика, которая нам нужна. Далее нужно изменять эту -фазо-частотную характеристику(ФЧХ), чтобы прослушивая выходной сигнал можно было "прочувствовать" изменения фазы. во времени двинать не нужно ничего. вот так вот.

Всего записей: 24 | Зарегистр. 10-03-2012 | Отправлено: 23:18 11-03-2012
VeronicKa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimitriy7, спасибо, я просто плохо поняла, как записать ode45 ? Через подпрограмму?

Всего записей: 3 | Зарегистр. 11-03-2012 | Отправлено: 00:10 12-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raskolbasss
Дискретное Фурье в матлабе есть, и обратное тоже - fft() и ifft()
Выдаёт коэффициенты для экспоненциального ряда. Вроде, можно как-то в синусы-косинусы переписать, и выудить частоту - лично этим не занимался (и так всё устраивало) - штатных ф-ций для этого нет, надо искать по учебникам...
 
Вот если t-й отсчёт в исходном сигнале будет xt, и для всех 1<=t<=N (N= полное кол-во отсчётов) будет
xt = (1/N)*sumk=1N (Fk*ei*2*pi*(k-1)*(n-1)/N) - фурье ведь? -  
то Fk матлаб посчитает, но что-то частоты явно не видны...
Или я опять не о том?...

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 00:22 12-03-2012 | Исправлено: dimitriy7, 00:25 12-03-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VeronicKa
ode45() -- встроенная (внутренняя) функция matlab'а, её надо рисовать как "внешний вызов"...
 
Raskolbasss
ты бы лучше формулы написал, а то эти твои определения...
такое ощущение, что ты сам неуверенно всё это понимаешь...

Всего записей: 24845 | Зарегистр. 06-12-2002 | Отправлено: 00:25 12-03-2012 | Исправлено: akaGM, 00:30 12-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VeronicKa
А что ode45? Это ж стандартная функция, для решения дифференциальных уравнений.
Вот и нарисуй её на блок-схеме как одну стандартную функцию (ну вроде как + или sin, ты же внутрь них не лезешь?)
 
Добавлено:
akaGM

Цитата:
как "внешний вызов"...  

А это как? Она ж стандартная... А по "блок-схемной" сути чем от того же plus() (он же просто +) отличается?

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 00:33 12-03-2012 | Исправлено: dimitriy7, 00:38 12-03-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
cимвол отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании -- вызов процедуры или функции.

http://ru.wikipedia.org/wiki/Блок-схема

Всего записей: 24845 | Зарегистр. 06-12-2002 | Отправлено: 00:41 12-03-2012 | Исправлено: akaGM, 00:43 12-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Это понял.
Просто я к тому, что в матлабе таким образом придётся вообще все операторы рисовать, включая элементарную арифметику?... (там же даже обычное сложение или перемножение 2-х чисел - уже
Цитата:
выполнение процесса ... который определен в другом месте программы
и
Цитата:
вызов процедуры или функции
)...

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 00:49 12-03-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
встроенная операция
х = х + 1
вообще-то принципиально отличается от
call external_subroutine(x, y, z)
 
поэтому и введён отдельный "квадратик" в ГОСТ

Всего записей: 24845 | Зарегистр. 06-12-2002 | Отправлено: 00:52 12-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Да понял я про ГОСТ, понял...
Я про конкретную реализацию в матлабе, где по любому чиху зовётся внешняя процедура (вроде plus(x,1) вместо x=x+1, причём на разных данных идёт вызов разных ВНЕШНИХ функций-плюсов...) Там вообще непонятно как отличать "встроенные" функи от "внешних" - особенность такая...

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 01:05 12-03-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » помогите с Matlab


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru