Ru-Board.club
← Вернуться в раздел «Программы»

» MathWorks MATLAB

Автор: Pavel80
Дата сообщения: 05.05.2006 23:29
Всех кто интерисуется вейвлетами прошу сюда
Автор: Andrei_Latyshau
Дата сообщения: 09.06.2006 16:45
dj=0.25;
dj0=0.6;
dj0steps=dj0/(dj*2);

kernel=[mod(dj0steps,1); ones(2 * round(dj0steps)-1,1); ...
mod(dj0steps,1)]./(2*round(dj0steps)-1+2*mod(dj0steps,1));

Помогите, пожалйста, расшифровать приведенный код.. Т.е. объясните что он значит. Это должно быть тривиально, но я не пишу под матлаб (перевожу алгоритм просто на другой язык ).

также возможно вы знаете чему соответствует вот это:
conv2(twave,kernel,'same');
в математике ? (соответствующая функция ListConvolve)
Автор: Yuk
Дата сообщения: 09.06.2006 18:47
Andrei_Latyshau
Первые 3 оператора, думаю, нет проблем.
Далее сначала создается вектор-столбец ([...;...;...]), размер зависит от dj0steps:
0.2 - остаток от деления (mod) dj0steps(0.2) на 1
1.0 - ones(1,1) создает матрицу из единиц размера 1х1, то есть просто число 1. Этих единиц может быть большо в зависимости от dj0steps.
0.2 - как и первое число
Затем каждый элемент этого вектора делится на результат выражения после ./ (1.4)
Точка здесь в принципе не обязательна, поскольку в знаменателе скалярная величина, а не матрица.
Результат - вектор
0.142857142857143
0.714285714285714
0.142857142857143


Документация к conv2:
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/conv2.html
http://matlab.exponenta.ru/ml/book2/chapter8/conv2.php
Чему соответствует в Математика не знаю.
Автор: irys3
Дата сообщения: 12.06.2006 12:07
Задаю функцию в матлабе (в м.файле).
function res=test(n)
res=n*n
В матлабе функция работает.
Дальше в фемлабе 3.2 в меню Options->Functions создаю функцию с таким же именем как и в матлабе - test
argument: n
expression: test(n)
В Physics->Subdomain Settings-> Init задаю test(10)
Фемлаб все решает никаких ошибок не выдает только начальное условие берет не 100 как должно быть а 0...
Как передавать функцию из матлаба в фемлаб?
Автор: Andrei_Latyshau
Дата сообщения: 12.06.2006 14:29
Yuk


Цитата:
Результат - вектор
0.142857142857143
0.714285714285714
0.142857142857143


Спасибо большое. Как это формируется я не доконца понял, но пожалуй мне подойдет и просто этот результат. Входные параметры у меня все равно фиксированы
Автор: 0315
Дата сообщения: 27.06.2006 03:03
Народ, я в матлабе полный ноль, тут в симулинке построил модель, даже работает, но появилась необходимость к этой модели сделать форму, на которой можно было бы задать исходные данные и после нажатия на кнопку увидеть результат. Подскажите как в матлабе создавать формы, если можно с примером кода, про хелп можете не говорить, я бы посмотрел но у меня матлаб глюкованый, хелп не работает.
Автор: Yuk
Дата сообщения: 27.06.2006 17:16
0315
Используй GUIDE.
А помощь и онлайн имеется (если по-английски читаешь):
http://www.mathworks.com/access/helpdesk/help/techdoc/creating_guis/creating_guis.html
Автор: Yuk
Дата сообщения: 14.07.2006 08:59
Есть специалисты по функции FILTER? А то я только знаю как с помощью нее локальное среднее считать (не лучший вариант кстати), но совершенно не врубаюсь как это работает. Очень хотелось бы разобраться. Может кто-нибудь понятными словами объяснить для не математика, или ссылочку бросить (можно по английски)?
Автор: MorSe
Дата сообщения: 16.07.2006 18:35
Yuk

Цитата:
Может кто-нибудь понятными словами объяснить для не математика

А разве в хелпе непонятно написано? Функция осуществляет фильтрацию. Если не хочется разбираться, что такое фильтрация, представь себе некоторую систему с параметрами a и b, на вход которой поступает сигнал x, а на выходе получается сигнал y. Формула, описывающая получение выходного сигнала, приводится в хелпе, в разделе Algorithm.
Автор: Yuk
Дата сообщения: 17.07.2006 18:23
MorSe

Извиняюсь, может я такой тупой, но ни фига там не понятно. Что такое filter order (n-1)? Что такое Z-1 в схеме? Откуда берутся z(1)...z(n-1)? Я понимаю, что из формулы, но какой физический смысл этих величин? В частности, какие они для примера в хелпе. Что изменится, если я введу zi?

Я действительно не занимаюсь обработкой сигналов. Но меня очень интересуют возможности применения этой функции.
Автор: MorSe
Дата сообщения: 17.07.2006 19:09
Yuk

Цитата:
Что такое filter order (n-1)?

Порядок фильтра.

Цитата:
Что такое Z-1 в схеме?

Это так задержку в схеме обозначают.

Цитата:
Откуда берутся z(1)...z(n-1)?

Если имеются в виду элементы массива zi, то zi служит для задания начальных условий, инициализирует все элементы задержки фильтра (по умолчанию все элементы равны нулю). Задержка используется, в основном, тогда, когда фильтруем не весь сигнал целиком (в один приём), а по секциям, т.е. в цикле. Инициализация задержки фильтра для следующей секции (zi) возвращается в выходной переменной zf.
Автор: Yuk
Дата сообщения: 18.07.2006 00:19
MorSe
Спасибо за ответы. Но вопросов все больше.

Цитата:
Порядок фильтра.

На русский перевести я могу без проблем, а что это означает? Например, какой порядок у фильтра в примере с локальным средним? 5?
Почему в примере b - вектор [1/5; 1/5; 1/5; 1/5; 1/5], a а - число 1, хотя в формулах алгоритма оба и a, и b упоминаются как a(n), b(n)?


y(m), x(m) - это вектор или число? А z1(m-1)?
Автор: Yuk
Дата сообщения: 18.07.2006 18:33
Нашел книгу The Scientist and Engineer's Guide to Digital Signal Processing. Разбираюсь...

Кстати, а есть ли тема по DSP на ru-board? Нужна ли? Или можно вопросы здесь задавать?
Автор: MorSe
Дата сообщения: 18.07.2006 21:28
Yuk
А чем вот эта формула не нравится?

Код: y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)
- a(2)*y(n-1) - ... - a(na+1)*y(n-na)
Автор: Yuk
Дата сообщения: 18.07.2006 23:20
MorSe
Спасибо, буду изучать.

Вот такой вопрос, на который я пока не нашел ответ (по крайней мере в первых главах). Если у меня неодинаковое расстояние между точками по оси х, могу ли я использовать методы DSP, или равномерность независимой переменной - обязательное требование? В каком-то приближении я, конечно, мог бы этим пренебречь, но не хотелось бы.

Автор: TCPIP
Дата сообщения: 20.07.2006 08:07
Yuk
19:33 18-07-2006
Цитата:
Нужна ли?

Нужна!
Автор: Yuk
Дата сообщения: 16.08.2006 00:19
Вот такая задачка:

Вектор А содержит координаты точек в одномерном пространстве, около 50 000, может и больше.
Матрица В состоит из 2-х столбцов, определяющих координаты начала и конца отрезков в этом же пространстве, около 5 000 отрезков.
Известно, что ни один отрезок не содержит внутри себя точек из вектора А.
Сами отрезки могут как пересекаться, так и входить один в другой целиком.
Отрезки отсортированы по первому столбцу.

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

Задачу надо решить в векторном формате, без циклов. Может кто-нибудь помочь раскинуть мозгами?

Вот простой пример:
A=[1 2 5 6 7 12 13 14 19 20]';
B=[3 4; 8 10; 9 11; 15 18; 16 17];

Ответ:
C=[2 5; 7 12; 7 12; 14 19; 14 19];
Автор: DedPanas
Дата сообщения: 20.08.2006 18:02
C = [interp1(A,A,B(:,1),'nearest') interp1(A,A,B(:,2),'nearest')]
Автор: Yuk
Дата сообщения: 21.08.2006 06:09
DedPanas
Спасибо. Красиво. Я про interp1 даже не подумал.

Но работает не всегда правильно. Например, если
A=[1 10]'
B=[2 3]
C будет [1 1], а надо [1 10].
То есть мне надо, чтобы interp1 возвращало меньшее ближайшее и большее ближайшее значение из А.
Автор: DedPanas
Дата сообщения: 21.08.2006 09:20
Da, ne dodumal
Автор: Yuk
Дата сообщения: 06.09.2006 22:37
[more=Ответ]
%% Data
A=[1 2 5 6 7 12 13 14 30]';
B=[3 4; 8 10; 9 11; 15 18; 16 17; 16 19];

%%
k=zeros(size(B));
k(:,1) = dsearchn(A,B(:,1));
k(:,2) = dsearchn(A,B(:,2));
C = A(k);
% in case of one segment
if size(C) - size(k)
C = C';
end
% corrections
C(C(:,1) > B(:,1) & k(:,1) > 1,1) = ...
A(k(C(:,1) > B(:,1) & k(:,1) > 1)-1);
C(C(:,2) < B(:,2) & k(:,1) < numel(A),2) = ...
A(k(C(:,2) < B(:,2) & k(:,2) < numel(A))+1);
[/more], кому интересно. Для порядку.
(Давно сделал, да выложить забыл.)
Автор: cogni
Дата сообщения: 07.09.2006 10:17
Никому не попадались файлы с описанием пакетов Матлаб в формате .pdf (старые версии) или .chm? Особенно интересует Нечеткая логика и Нейронные сети.
Автор: MorSe
Дата сообщения: 07.09.2006 20:11
cogni

Цитата:
Никому не попадались файлы с описанием пакетов Матлаб в формате .pdf (старые версии) или .chm? Особенно интересует Нечеткая логика и Нейронные сети.

Могу посоветовать книгу: Дьяконов В., Круглов В. Математические пакеты расширения Matlab. Специальный справочник. Там как раз каждой из интересующих тебя тем отведено по отдельной главе.
Автор: smt
Дата сообщения: 28.09.2006 19:14
Работаю с Matlab недавно поэтому вопрос может из серии для чайников, но для меня важен.

Необходимо загрузить в Matlab кучу файлов (результаты измерений) ... как загрузить один понятно, но вот что мне не ясно это как загрузить все файлы из директории?
Автор: MorSe
Дата сообщения: 28.09.2006 20:03
smt

Цитата:
как загрузить один понятно, но вот что мне не ясно это как загрузить все файлы из директории?

В цикле . Воспользуйся командой dir.
Автор: smt
Дата сообщения: 29.09.2006 16:27
В курсе что через цикл и используя команду DIR ... вот это именно не получается!
Если не сложно черкните листинг
Автор: Yuk
Дата сообщения: 29.09.2006 17:52
smt
Типа такого:

Код:
fdir = 'C:\TEMP\';
files = dir([fdir '*.txt']);
for i=1:numel(files)
disp([num2str(i) ' ' files(i).name])
end
Автор: smt
Дата сообщения: 30.09.2006 09:39
Большое человеческое спасибо!
Автор: vsumw
Дата сообщения: 23.10.2006 22:29
Проблема при попытке поставить на компьютер матлаб 7.1.
Начинаю установку, вбиваю ключ, он приниается, все нормально
потом выбираешь папку для установки
Комп спрашивает, мол такой папки нет, создать? жмешь ок. (папка создается, проверяла)
далее - выскакивает ошибка:
You must install matlab with your other products. Please select matlab
Что бы я не делала - бестолку.
Есть хоть какиенить идеи?!

Система: WinXp, SP2
Компьютер: AMD, 1.61 ГГц, 512 ОЗУ
Автор: Djin22
Дата сообщения: 13.12.2006 22:04
Подсажите плиз, как решить дифференциальное уравнение 2-ого порядка в матлабе?

Типа такого, к примеру - d2 i/ d t2 + (R* di) /L* dt) + i/ (L*c)= 0
, где R, L, c - константы : t - переменная времени , i -то что надо найти при решении (d - деффиренциал )

Страницы: 123456789101112

Предыдущая тема: Переставить заново зарегенную прогу.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.