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

Как преобразовать числовой вектор в матрицу

27.11.2016, 20:19. Показов 1277. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
изначально была строка: msg='010101100';
я ее преобразовала в числовой вектор: msg=str2num(msg);
как можно в итоге получить: msg=[0 1 0 1 0 1 1 0 0];
так как на самом деле исходная строка в разы больше..вручную расставлять пробелы долго очень
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2016, 20:19
Ответы с готовыми решениями:

Преобразовать вектор в матрицу
Здравствуйте, возникла следующая проблема: есть три вектора одинакового размера B, theta и Ur. B...

Создать и преобразовать вектор
Доброго времени суток. Помогите, пожалуйста! есть вектор-строка dt= (к примеру). как создать вектор...

Как преобразовать колонку значений (вектор) в матрицу?
Имеется ряд значений, расположенный в виде столбца из трех колонок: две колонки с "координатами" и...

Как два (и более) вектор-столбца преобразовать в матрицу?
Как два(и более) вектор-столбца преобразовать в матрицу: каждый вектор-столбец будет являться...

7
6830 / 4890 / 2065
Регистрация: 02.02.2014
Сообщений: 13,048
27.11.2016, 20:35 2
решение "в лоб"
Matlab M
1
2
3
4
5
6
clc;
msg='010101100'
for i=1:length(msg)
    v(i)=str2num(msg(i));
end
v
1
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
27.11.2016, 23:46 3
Krasme, может быть лучше просто:
msg='010101100';
vmsg = double(msg)-48;
?
0
0 / 0 / 0
Регистрация: 13.12.2015
Сообщений: 16
28.11.2016, 01:15  [ТС] 4
а почему - 48?
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
28.11.2016, 02:34 5
Masha109, потому что в применении к строковой переменной функция double вернет ASCII-коды символов. А Вам надо САМИ символы (единицы и нули). ASCII-код нуля = 48, единицы - 49. Поэтому если из ASCI-кодов мы вычтем 48, то и получим сами цифры. Причем, работает это не только на нуле и единице, а на всех цифрах от 0 до 9.
0
Krasme
28.11.2016, 07:11
  #6

Не по теме:

R2D2, с коооооодами еще возиться... :smoke:

0
5242 / 3570 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
28.11.2016, 09:21 7
R2D2, я обычно так пишу: vmsg = msg - '0';
1
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
28.11.2016, 14:24 8
Зосима, изящно

Добавлено через 2 минуты
Krasme, в контексте того, что
Цитата Сообщение от Masha109 Посмотреть сообщение
исходная строка в разы больше
игра стоит свеч.
"Think vectorized" ©
0
28.11.2016, 14:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2016, 14:24
Помогаю со студенческими работами здесь

Преобразовать матрицу в вектор
создать подпрограмму преобразующую матрицу размерностью n*m в вектор соответствующей размерности

Преобразовать вектор в матрицу.
Составить только алгоритм решения задачи: Преобразовать вектор из 16 элементов в матрицу 4x4. ...

Матрицу произвольного размера преобразовать в вектор
ребят такое дело. сам с++ норм знаю, но давно не работал (1 год) все по забывал вот снова...

Преобразовать вектор из 9 элементов в матрицу 3x3.
Народ, выручайте! Не силён в Паскале, а очень срочно нужны эти задачи. Плиз!Для всех задач надо...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru