Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Matlab БПФ для прямоугольного и треугольного импульсов https://www.cyberforum.ru/ matlab/ thread1919041.html
Здравствуйте! Я понимаю, что тема заезжена, но я не могу сообразить, как сделать. Подскажите, пожалуйста, мне надо получить БПФ для импульсов на рисунке №1 и №3. у меня не получается задать такой прямоугольный импульс (и треугольный тоже. даже не знаю, с какого края начинать) вот код clear all; clc; T0=1; x0=1; w_0 = 2*pi/T0;
Matlab Ограничить область графика
Добрый день. Есть код в MATLAB который строит график нескольких функций. Необходимо ограничить область красного графика, что бы не было горизонтальных полос. Код прилагаю. Помогите, пожалуйста. Сам пробовал - не получилось. x4 = ; y4 = 1-cos(x4-1); y5 = asin(1.6 - 2*x4); = solve('cos(x-1)+y = 1','asin(y)+2*x = 1.6'); subplot(1,3,3) xlabel('x') ylabel('LAB2-3')
Matlab Трендовая модель методом полиномов Чебышева https://www.cyberforum.ru/ matlab/ thread1918505.html
Здравствуйте! Мне было дано задание: "Решить задачу структурно - параметрической идентификации трендовой модели методом полиномов Чебышева" и реализовать это в Matlabе. Подскажите пожалуйста, как это можно реализовать, какими функциями? Или хотя бы подскажите литературу, где это может быть описано.
Matlab Выполнить операцию логарифмического контрастирования изображения https://www.cyberforum.ru/ matlab/ thread1918477.html
Задано цифровое изображение в формате jpeg (24 битное). Для изображения выполнить операцию логарифмического контрастирования.
Matlab Функция solve на разных компьютерах работает по-разному
Здравствуйте. вот такая интересная задача: matlab 2014 b, и на том и на другом компьютере. на одном все правильно, а на другом получаю такой ответ: solve('z = a*X^b*Y^c', 'X') ответ: ans = / (-c)\(1/b) |z Y |
Matlab Прямой метод Хироты, N- солитонное решение https://www.cyberforum.ru/ matlab/ thread1918441.html
Здравствуйте, форумчане. Помогите, пожалуйста, с написанием программы решения функции искомая функция {f_N} = \sum\limits_{\mu = 0,1} {\exp \left( {\sum\limits_{i = 1}^N {{\mu _i}\left( {{\eta_i} + \frac{{i\pi }}{2}} \right)} + \sum\limits_{1 \le i < j}^N {{\mu _i}{\mu _j}{A_{ij}}} } \right)} с условием, что массив значений \eta нам известен. Понимаю как написать программу в...
Matlab Вычислить N значений функции на заданном отрезке https://www.cyberforum.ru/ matlab/ thread1918347.html
Вычислить N значений функции на заданном отрезке. На экран вывести значения аргумента и значения функции N=10 отрезок y(x)=sinxcosx/x+l Правила форума, пункт 4.7. Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены. пункт 4.9. Используйте тэги форматирования текста и редактор формул для удобства восприятия ваших сообщений...
Matlab Создание простейшей модели радиолокационной станции
Здравствуйте. Нужна помощь в создании простейшей модели радиолокационной станции. Модель должна быть написана программой в Matlab. Требуется сделать упор на разрешающую способность, т.е. показать, как с уменьшением длины волны и с уменьшением ширины луча диаграммы направленности, меняются данные на приеме. Нужно сгенерировать импульсный сигнал, который будет отражаться от двух целей с...
Matlab Где можно скачать программу MATLAB? https://www.cyberforum.ru/ matlab/ thread1917617.html
Обыскал весь интернет. Скачивал отовсюду - везде требует запись на диск. Пробовал записать на диск - не записывает. вот что пишет
Matlab COM интерфейс https://www.cyberforum.ru/ matlab/ thread1916695.html
Здравствуйте. Проблема такая. Есть программа-симулятор IPSEpro, необходимо организовать обмен данными между ней и Matlab посредством COM интерфейса. Поскольку я в этом не разбираюсь совсем, нашел примерное описание того как это делается. app = actxserver('PSE.Application'); % Запуск сервера proj = invoke(app,'openProject','D:\example.pro'); %Запуск файла, содержащего модель run =...
Моделирование одноканальной системы массового обслуживания с отказом Matlab
Мне нужна помощь с моделированием одноканальной системы массового обслуживания с отказом, модель должна быть сделана в Matlab, есть книга с алгоритмом модели и его описанием, если будет надо, то отправлю по почте или и вк
Matlab Математический модель траектории полета самолета во время поворота https://www.cyberforum.ru/ matlab/ thread1916069.html
Добрый вечер/день/утро. Обращаюсь сюда за помощью что бы вы помогли мне сделать математическую модель траектории полета самолета во время поворота. Если есть желающие помочь то могу скинуть формулы и материал в ВК (так как файл слишком большой для нашего форума) Добавлено через 12 минут И нужно сделать в матлабе
1 / 1 / 1
Регистрация: 11.09.2013
Сообщений: 79
20.02.2017, 06:16  [ТС] 0

Можно ли векторизовать операцию, избавившись от цикла for? - Matlab - Ответ 10133315

20.02.2017, 06:16. Показов 1530. Ответов 15
Метки (Все метки)

Ответ

Цитата Сообщение от Centurio Посмотреть сообщение
Вот вам код, который считает гораздо быстрее цикла
Если позволите, задам еще вопрос. Попытался аналогичным способом векторизовать цикл расчета средних и дисперсий - не получилось. Не подскажете, можно ли векторизовать такой цикл? Сначала экспонируем матрицу L и приводим к единице каждую строку.
Matlab M
1
2
3
4
5
6
7
maxll = max(L,[],2);
%minus maxll to avoid underflow
post = exp(bsxfun(@minus, L, maxll));
%density(i) is \sum_j \alpha_j P(x_i| \theta_j)/ exp(maxll(i))
density = sum(post,2);
%normalize posteriors
L = bsxfun(@rdivide, post, density);
Это что бы был понятен смысл самого цикла - L после этой операции содержит статистические веса, т.е. вероятность принадлежности строки матрицы X распределению с центром и дисперсией в строках матриц Y и V соответственно (и таких распределений k штук). Цикл расчета взвешенных средних и дисперсий такой
Matlab M
1
2
3
4
5
6
7
pSum1=1./sum(L,1);
for i=1:k;
  Y(i,:)=L(:,i)'*X*pSum1(i);
  xProm=bsxfun(@minus,X,Y(i,:));
  xProm=bsxfun(@times, xProm.*xProm, L(:,i));
  V(i,:)=sum(xProm,1)*pSum1(i);
end;
Сложность в том, что если развернуть матрицы и они будут содержать по n*k строк, то суммы придется считать не по всему столбцу, а по кусочкам длиной n.

Вернуться к обсуждению:
Можно ли векторизовать операцию, избавившись от цикла for? Matlab
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2017, 06:16
Готовые ответы и решения:

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

Показать, что любой оператор цикла while можно записать с помощью цикла repeat
Показать, что любой оператор цикла с предусловием можно записать с помощью условного оператора и...

Векторизовать размытую линию
Доброго времени! Собственно сабж. Проблема в том что линия на картинке не чёткая. Из-за...

Как векторизовать этот цикл?
Всем привет. Есть проблема с векторизацией одного цикла в программке, которая создает массив...

15
20.02.2017, 06:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2017, 06:16
Помогаю со студенческими работами здесь

Можно ли применять операцию взятия к выражениям?
применять операцию взятия к выражениям?

Найти предел, избавившись от неопределённости
\lim_{x \rightarrow \infty } {({x}^{3}+4)}^{1/3}- {({x}^{5}-5)}^{1/5} Понимаю, что нужно домножать...

Улучшить калькулятор, чтобы можно было продолжить операцию
Написал простейший калькулятор,но нужно сделать так,что бы можно было продолжить операцию var...

Как ускорить работу кода, избавившись от Memo?
Всем привет! Есть у меня парсер данных со спорт сайта, так вот в нем я паршу коеффициенты (кто...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru