С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Rushtoday
0 / 0 / 0
Регистрация: 01.04.2015
Сообщений: 21
1

Массив: Как переменные G0...G45 записать в виде страниц многомерного массива?

20.11.2016, 18:48. Просмотров 758. Ответов 5
Метки нет (Все метки)

Доброго времени суток дорогие форумчане!

Есть скрипт, обрабатывающий исходные эксп данные:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for l=0:45
    k=1;
    while k <= length(y)
        n=1;
        while n <= length(x)
            i=find (TS(:,3)==x(n)&TS(:,4)==y(k));%находим № строки соот-й интересующим координатам
            G(k,n)=TS(i+l+2,2);
            Trend(k,n)=TS(i+l+2,3);
            n=n+1;
        end
        k=k+1;
    end
    eval(['G', num2str(l),'=G'])
   
end
Меня интересует, фактически:
Matlab M
1
2
3
for l=0:45
eval(['G', num2str(l),'=G'])
end
Собственно вопрос:
1) как сделать так, чтобы созданные в рабочей области переменные G0, G1, G2, G3...G45 записывались в виде страниц многомерного массива?
2) как сделать так, чтобы, например, записать все G(G0, G1, G2, G3...G45) в структуру Gstr.G0, Gstr.G1 и т.д.

Пытался реализовать через eval, но синтаксически не удается записать правильно
Интересует оба варианта или хотя бы один...
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2016, 18:48
Ответы с готовыми решениями:

Как записать формулу в виде функции
Понимаю, что задание легкое и мог бы сам разобраться, но как-то не получилось....

Как, используя FileStream, записать в переменные данные в заданном виде...
В документе &quot;in&quot; содержатся данные в таком виде: Как, используя Stream,...

Как по очереди записать переменные в массив байт
Есть массив байтов, и 3 переменные типа float, как мне по очереди засунуть их в...

Как разбить файл по частям и записать одни значения в переменные, другие в массив?
Доброго времени суток! Возник вопрос, как разбить файл по частям и записать...

Как записать двумерный массив в виде матрицы?
Привет, форумчане,находил ответ на данный вопрос в разделе ВБА , но все они...

5
minore
251 / 125 / 43
Регистрация: 05.02.2015
Сообщений: 745
20.11.2016, 20:38 2
цитата: как сделать так, чтобы созданные в рабочей области переменные G0, G1, G2, G3...G45 записывались в виде страниц многомерного массива?
а двумерный массив, т.е. матрица не подойдет? тогда без eval можно обойтись:
Matlab M
1
2
3
4
j =1:1:100;
for i =1:50;
x(i, :) =j;
end;
таким образом каждую переменную j сохранили в строку переменной x.
1
Rushtoday
0 / 0 / 0
Регистрация: 01.04.2015
Сообщений: 21
20.11.2016, 21:36  [ТС] 3
Если бы так все было просто...

К сожалению, так сделать нельзя, потому что исходные элементы уже являются матрицами 30x30 и привязаны к сетке. Конечно из них можно сделать вектор-столбцы или строки, но тогда с ними невозможно будет работать, так как они есть функции пространственных координат долготы и широты.

Cпасибо Вам, в любом случае!
0
Миниатюры
Массив: Как переменные G0...G45 записать в виде страниц многомерного массива?   Массив: Как переменные G0...G45 записать в виде страниц многомерного массива?  
minore
251 / 125 / 43
Регистрация: 05.02.2015
Сообщений: 745
20.11.2016, 22:40 4
ладно, уговорили ленивого но код по минимому.
Matlab M
1
2
3
4
5
j = 1:1:100 % для примера, можно и матрицу
for i =1:50;
q =['h.k' num2str(i) ' =j'] % формируем поле  многомерной структуры
eval(q) % запускаем
end;
1
R2D2
898 / 807 / 112
Регистрация: 23.11.2012
Сообщений: 2,387
20.11.2016, 23:34 5
Лучший ответ Сообщение было отмечено Rushtoday как решение

Решение

Цитата Сообщение от Rushtoday Посмотреть сообщение
как сделать так, чтобы созданные в рабочей области переменные G0, G1, G2, G3...G45 записывались в виде страниц многомерного массива?
Matlab M
1
2
3
4
for k = 1:45
    eval(['G' num2str(k) ' = rand(30);'])
    eval(['G(:,:,k) = G' num2str(k) ';'])
end
1
Rushtoday
0 / 0 / 0
Регистрация: 01.04.2015
Сообщений: 21
21.11.2016, 00:03  [ТС] 6
Спасибо, именно это синтаксически у меня не получалось написать. По смыслу вроде понятно, но вылезали ошибки...Спасибо Вам за Ваше время.
0
21.11.2016, 00:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2016, 00:03

Как массив цифр записать в виде одного числа?
Как массив цифр записать в виде одного числа? Например: есть массив...

Как клики по компоненту записать в массив в виде координат точек
Пытаюсь написать форму, но у меня никак не получается вот такой момент. В...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru