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

» MathWorks MATLAB

Автор: pastorm
Дата сообщения: 18.12.2007 17:19
Скажите, пожалуйста, как сделать так, чтобы при экспорте фигур из матлаба в формат EPS русские названия графиков и осей передавались в корректной кодировке. Может, после создания файла в нём что-то подправить? Matlab вставляет ISOLatin1Encoding и WindowsLatin1Encoding, так, естественно, рисуются крючки, а не кириллица.
Автор: djp
Дата сообщения: 20.01.2008 21:39
matlab5/power systems toolbox?
Автор: ZXAZX
Дата сообщения: 19.02.2008 16:24
Добрый день.
у кого есть s\n и линк на версию по-новее(сейчас у меня 6.0)

2 z_IFIR

Цитата:
Проблема: инсталлятор Matlab 6.0 при запуске выдает сообщение что версия ява-машины устарела, и перед установкой ее необходимо обновить. После этого инсталляция прекращается. Обновил - не помогло. Переустановил систему - не помогло. Глюк проявляется только на ВыньХР, на ВыньМЕ встало нормально. Если кто сталкивался - объясните плиз в чем дело.


трабл устраняется установкой Java VM(есть в инсталяхе матлаба)
Автор: MorSe
Дата сообщения: 19.02.2008 19:52
ZXAZX

Цитата:
у кого есть s\n и линк на версию по-новее
Тебе нужно в Варезник.
Автор: ZXAZX
Дата сообщения: 28.02.2008 17:52
Добрый день.
подскажите как в матлабе(R12) считать данные из файла. Данные представлены в виде:
2,62E-01
2,58E-01
2,60E-01
2,60E-01
2,58E-01
Автор: MorSe
Дата сообщения: 28.02.2008 20:02
ZXAZX

Цитата:
подскажите как в матлабе(R12) считать данные из файла

Почти как в С:
Код: fid = fopen('data.txt', 'r');
a = fscanf(fid, '%f');
fclose(fid);
Автор: Jenyay
Дата сообщения: 28.02.2008 20:47
А еще есть функция load

Добавлено:
что-то вроде a = load ('file.txt', '-ascii')
Автор: ging
Дата сообщения: 28.02.2008 23:45

Цитата:
как в матлабе(R12) считать данные из файла

А еще есть полезная функция dlmread
Автор: MorSe
Дата сообщения: 04.03.2008 20:17
Как и планировалось, 1 марта вышла новая версия — 2008a.
What's New in Release 2008a
Автор: summonxx
Дата сообщения: 16.03.2008 00:35
С Матлабом знаком поверхностно.., и очень нужна помощь специалистов.
В Matlab 6.1 строится фигура в трехмерном пространстве:


Код:
x0=0;
y0=0;
N=256;
k=3;
[x,y]=meshgrid(-N:N-1);
f=2*pi*k/N;
z=0.5.*sin(sqrt((f.*(x-x0)).^2+(f.*(y-y0)).^2));
mesh(x,y,z)
Автор: Kobmat
Дата сообщения: 16.03.2008 23:34
вопрос к опытным от начинаюшего
Как в матлабе реализовать что бы по кнопке он выводил результат вычислениее в среде GUI (в каком окошке это можно делать, какие функции)
матлаб 7

ЗЫ Где можно в интернет скачать или посмотреть примеры по решение легких и сложных задач
Автор: laranika
Дата сообщения: 05.04.2008 10:59
Смотри вверху страницы, где "Полезные ссылки". Сходи по последней на Exponenta - информации там море, в том числе и с примерами.
Автор: Graach
Дата сообщения: 06.04.2008 14:47
не поможете новичку: хочу в Matlab'е в nntool загрузить данные в input, targets и network.
Перед этим работала и сохранила все эти данные в файл *.mat.
В ледующий раз открываю матлаб, захожу в нс и нажимаю на импорт, получаю: причем все dataX - это входящие данные и цели. Экспортировать их не дает, а это же самое для меня важное: у меня БД в несколько тысяч записей
Второй способ импорта из пространства имен самого матлаба дает такой же результат: т.е. открываю тот же файл в матлабе, запускаю нс, импорт из матлаба и ... ничего.
Дает загрузить только саму сеть, а у меня сеть из аж одного перспетрона, я ее если надо могу за пару минут заново создать, это не проблема. А вот данные входящие и цели для обучения и тестирования очень нужны.
Если где-то уже рассказывалось как это сделать, киньте ссылку пожалуйста

PS. Кстати, можно как-то перебросить входные данные из файла так, чтобы матлаб понял что имеется в виду? т.е. есть у меня база данных (обычный текстовый файл) из 4-х колонок и неколько тысяч строк. Я могу ее обработать в делфи или с++ так, чтобы колонки были разделены конкретным разделителем, чтоб были пробелы в соответствующих местах и т.п. В общем могу над ней поиздеваться как только понадобиться. Но надо потом как-то это все чудо отправить в матлаб, чтобы он понял, что, допустим, первые три колонки - входящие данные, а последняя - цели.

PPS. Версия матлаба 6.5.0.18091 3а
Автор: MorSe
Дата сообщения: 06.04.2008 17:17
Graach

Цитата:
первые три колонки - входящие данные, а последняя - цели

Не понял, что означают цели.
Что касается сохранения и чтения данных в Матлабе, то он имеет много общего с С++. Даже многие функции ввода-вывода одинаково называются.
Автор: Graach
Дата сообщения: 06.04.2008 17:25
При работе с нейронными сетями для обучения сети используються данные: inputs и targets. мне надо каким-то образом пробразовать текстовый файл с базой данных в понятный матлабу формат, чтобы он сам правильно занес данные во входящие данные(inputs) и цели (targets).

Т.е. когда сеть обучается, она сичтывает данные из inputs, распределяет веса для каждого параметра и сравнивает полученный результат с targets. Если полученный результат и цель равны, то ошибка = 0.
Автор: MorSe
Дата сообщения: 06.04.2008 17:59
Graach
Если я правильно понял, то надо первые три колонки из файла считать в одну переменную (inputs), а четвертую - в другую (targets). Если так, то это можно сделать с помощью цикла, т.е. в одну итерацию цикла считывать из файла одну строку...
Автор: Graach
Дата сообщения: 06.04.2008 19:14
Да, вот именно это мне и надо сделать, проблема в том, что я во второй раз в жизни вижу Матлаб в глаза и немного смутно представляю себе как это сделать.
И еще мне не совсем ясно надо ли считывать каждую строку в отдельную переменную (тогда у меня их будет приблизительно 1100), или надо считать в один массив. Как потом строить персептрон, чтобы результатом каждой строки было одно число?
Автор: MorSe
Дата сообщения: 06.04.2008 20:46
Graach

Код: f = fopen('data.txt', 'r');
N = 1100; %число строк
M = 3; %число столбцов
inputs = zeros(N,M);
targets = zeros(N,1);
for i=1:N
inputs(i, = fscanf(f, '%f %f %f', M); %считываем первые M столбцов i-й строки
targets(i) = fscanf(f, '%f', 1); %считываем (M+1)-й столбец i-й строки
end
fclose(f);
Автор: Graach
Дата сообщения: 06.04.2008 20:57
MorSe Спасибо огрооомное, сейчас попробуем что получиться

Добавлено:
Мталаб написал мне все что он обо мне думает:
In an assignment A(matrix, = B, the number of elements in the subscript of A and
the number of rows in B must be the same.

Error in ==> C:\MATLAB6\work\prog.m
On line 7 ==> inputs(i, = fscanf(f, '%f %f %f', M); %считываем первые M столбцов i-й строки

Кстати, fscanf считывает строку до ентера, или просто три в данном случае значения и останавливается? А то у меня в файле в принципе отсутствуют \n , но при этом есть какие-то непонятные значки после каждого набора из четырех цифр.
Автор: MorSe
Дата сообщения: 06.04.2008 21:21
Graach

Цитата:
Мталаб написал мне все что он обо мне думает

Он думает, что размерности не совпадают. Массив inputs правильно инициализирован?
Автор: Graach
Дата сообщения: 06.04.2008 21:24
Да, вроде. Вот пример двух строк из файла:
1 1 1 1
1 1 1 1
В конце каждой последовательности из 4-х цифер стоит переход на следующую строку. У него могут из-за этого быть проблемы?
Автор: MorSe
Дата сообщения: 06.04.2008 21:25

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

Цитата:
при этом есть какие-то непонятные значки после каждого набора из четырех цифр



Добавлено:

Цитата:
Вот пример двух строк из файла:
Если там везде целые числа, то вместо %f лучше поставить %d.


Цитата:
стоит переход на следующую строку. У него могут из-за этого быть проблемы?
Вообще-то, нет.
Автор: Graach
Дата сообщения: 06.04.2008 21:32
Ставила %d ему поровну

Он в хинте при работе программы пишет f=3. так и должно быть?
Между цифрами пробелы - ему это не должно мешать?
Автор: MorSe
Дата сообщения: 06.04.2008 21:39
Graach
А ошибка срабатывает при первом же прохождении этой строки в цикле? Точку останова (breakpoint) пробовали ставить?

Добавлено:

Цитата:
Он в хинте при работе программы пишет f=3. так и должно быть?
Да.

Цитата:
Между цифрами пробелы - ему это не должно мешать?
Не должно.
Автор: Graach
Дата сообщения: 06.04.2008 21:43
Ставила считывать только первую строку.
Breakpoint ставила, срабатывает ошибка на входе в цикл (на первом обращении к строке) и после этого останавливается. Массив создается (оно понятно), но он пустой (в нем все нули)
Автор: MorSe
Дата сообщения: 06.04.2008 21:57
Массив создается после его инициализации функцией zeros.
Ещё раз спрошу: массив inputs правильно инициализирован?
Автор: Graach
Дата сообщения: 06.04.2008 22:08
Да, inputs 2200x3 52800 double array (если это инициализация)
Попробовала с одномерным массивом, все работает:

Код:
w1 = zeros(M);
w1 = fscanf(f, '%d %d %d', M);
Автор: MorSe
Дата сообщения: 06.04.2008 22:18

Цитата:
Попробовала с одномерным массивом, все работает:

Код:
w1 = zeros(M);

Вообще-то, так инициализируется двумерный массив размером МхМ.

Цитата:
Может ему не нравится запись inputs( i , : )

У меня приведенный код срабатывает без ошибок.
Автор: Graach
Дата сообщения: 06.04.2008 22:23
Странно, если закомментировать строку inputs(1,: ) = fscanf(f, '%d %d %d', M); то следующая работает. Данные конечно там какие-то левые вводятся, но работает
Может версии разные?

В общем считала вот так:

Код: for i=1:N
inputs(i,1) = fscanf(f, '%d', 1); %считываем первые M столбцов i-й строки
inputs(i,2) = fscanf(f, '%d', 1); %считываем первые M столбцов i-й строки
inputs(i,3) = fscanf(f, '%d', 1); %считываем первые M столбцов i-й строки
targets(i) = fscanf(f, '%d', 1); %считываем (M+1)-й столбец i-й строки
end
Автор: Jelossi
Дата сообщения: 07.04.2008 22:07
Скажите, ПОЖАЛУЙСТА, с чего вообще начинается компиляция программы в Matlab?
Может, книгу какую посоветуете?
Заранее огромное спасибо.

Страницы: 123456789101112

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


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