Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 7

Автоматизировать определенное действие с матрицами в матлабе

20.06.2015, 11:32. Показов 781. Ответов 5
Метки нет (Все метки)

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

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

Что я имею: импорт двух .тхт файлов: один содержит набор значений реальной части комплексной амплитуды электрического поля, а второй файл соответственно мнимую, для всех значений этих амплитуд так же импортирована координата Z, так же из .тхт файла.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
%Clight, phase,%
clight=299792458;
phase=30;
 
% Import Files
    data = importdata( 'Re(Ez).txt', ' ', 2 );
        z = data.data( :, 1 )/1000;
        Ez = data.data( :, 2 );
    data = importdata( 'Img(Ez).txt', ' ', 2 );
        Ez = Ez + 1i*data.data( :, 2 );
 
% Concat
    z = [z; z + (n-1)*Lc];
По сути есть электромагнитный расчет с периодическими граничными условиями ( Теорема Флоке) и есть некие данные, которые нужно обработать в матлабе. Выше приведен кусок программы, которая уже работает. Кусок под комментарием %Concat это та часть, которую я хотел бы автоматизировать. Здесь Lc это некий период, который я прибавляю к элементам матрицы Z и добавляю полученный z+Lc столбец в существующий столб значений Z. Соответственно в моем коде сейчас описана модель с двумя периодами (n=2). Вопрос заключается в следующем, допустим мне нужен результат для n=50 периодов, тогда мне нужно вручную описать добавление столбцов на подобие того как это сделано для двух, а потом предположим нужно посмотреть 150 периодов, возможно это ли это каким то образом автоматизировать? Пробовал гуглить ничего подобного не нашел.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.06.2015, 11:32
Ответы с готовыми решениями:

Реестр Windows. Задать определенное действие на определенное событие
итак, мне интересно, можно ли в реестре виндовс задать определенное действие на определенное событие, например на открытие файла png?

Матрица и действие над матрицами
Вот собственно сами задания,ниже решение.Првоерьте пожалуйста,и если есть ошибки укажите где и какие.

Матрицы. Действие над матрицами
ПОМОГИТЕ СРОЧНО РЕШИТЬ ЭТО! 1) Выполнить действия над матрицами 3A + 2B; A*B; B*A; A*C. 2) Вычислить det A. 3) Найти определитель...

5
Эксперт по электронике
 Аватар для R2D2
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,488
20.06.2015, 18:20
Dmitry_k, если у Вас периоды ничем не отличаются то прочитайте данные об одном периоде системы, а дальше дублируйте нужное количество раз с помощью repmat либо матричного умножения.
1
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 7
21.06.2015, 13:39  [ТС]
Спасибо за совет, изучил хелп про данную функцию, единственное что хотел бы сказать, сами периоды одинаковые, но каждый раз необходимо добавлять значение Lc к координате, так как далее будут графики E(z) и интегрирование, так же стоит отметить, что поле тоже будет меняться в зависимости от числа периодов n, но если понять как решить вопрос с координатой, там можно будет сделать по аналогии. Т.е в идеале хотелось бы при вводе n=50, скрипт 49 раз добавил бы столбцы в существующий Z, последовательно: [z, z+Lc; z+2*Lc;...z+(n-1)*Lc]

Добавлено через 3 часа 1 минуту
Code
1
repmat([z;z+(n-1)*Lc],1,(n-1))
с помощью этого получаю желаемый результат, но почему то уже не один столб, а два идентичных

Добавлено через 18 минут
поспешил с выводами) выдает ерунду
0
21.06.2015, 23:54

Не по теме:

Dmitry_k, файл с Вашими данными может несколько ускорить процесс.

0
 Аватар для Norwall
177 / 143 / 50
Регистрация: 07.02.2014
Сообщений: 489
22.06.2015, 11:30
Dmitry_k, Здравствуйте!
А что, если сделать как-то так:
Matlab M
1
2
3
4
5
6
7
8
9
10
clc, clear all, close all
 
Lc = 13;
z = 19;
n = 10;
Z = zeros(n-1,1);
 
for i = 1:(n-1)
    Z(i,:) = z + i*Lc;
end
Matlab M
1
2
3
4
5
6
7
8
9
10
Z = 
    32
    45
    58
    71
    84
    97
   110
   123
   136
1
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 7
22.06.2015, 21:47  [ТС]
В итоге решил задачу с помощью циклов, спасибо за полезные советы и примеры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.06.2015, 21:47
Помогаю со студенческими работами здесь

Действие над матрицами 2AB-B^2-4BA
Напишите код на паскале действие над матрицами. 2AB-B^2-4BA. Я не понимаю как выполнить данную задачу. Заранее благодарю

В определенное время запускать действие
Как реализовать планировщик заданий? В приложении написано некоторые действие, которые надо запускать каждый день в определённое время....

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

Действие через определенное время
Возник вопрос, как сделать что бы скажем через 1 секунду выполнялось определенное действие? Вот код, но приходится нажимать на кнопку, а...

Действие через определенное количество запросов
Хотел узнать возможно ли как нибудь выполнять запуск скрипта через определенное количество обращений к серверу. Какую сторону надо изучать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru