0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 8
1

Любимая матрица

27.10.2014, 19:11. Показов 853. Ответов 9
Метки нет (Все метки)

мне даже не удобно спрашивать((
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
a=3 
a =
     3
>> b=6
b =
     6
>> A=[1 4 7 12; 2 6 8 5; 3 2 4 6; 11 4 5 8]
A =
     1     4     7    12
     2     6     8     5
     3     2     4     6
    11     4     5     8
Есть матрица и дан предел 3<=a<=6 Вопрос: как мне решить эту задачу так чтобы окончательный ответ был в виде:
Matlab M
1
2
3
4
5
M =
     0     4     0     0
     0     6     0     5
     3     0     4     6
     0     4     5     0
Мой преподаватель хочет чтобы я действиями показал как этого добился,как он выражается через (0 и 1) Был вариант от пользователя S_elA A(A<3 | A>6)=0(я ему очень благодарен) и матрица была в верном виде, но этого не достаточно.(такой ответ его не удовлетворил)
Help me!!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2014, 19:11
Ответы с готовыми решениями:

Любимая vs Сборка системника
Всем привет,в общем существует у меня в голове такой вопрос.Любимая собралась собирать себе для...

Какая ваша любимая ОС?
Часто ли вы ее юзаете?

Какая ваша любимая компьютерная игра?
Сабж Добавлено через 3 минуты Мне больше всего нравится ГТА и ФарКрай, еще про снайперов :)

Логическая задачка Любимая еда и страхи
Здравствуйте, коллеги! Подскажите пожалуйста по синтаксису пролога. Задача: Решить задачу...

9
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
27.10.2014, 19:49 2
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
>> a=3
a =
     3
>> b=6
b =
     6
>> A=[1 4 7 12; 2 6 8 5; 3 2 4 6; 11 4 5 8]
A =
     1     4     7    12
     2     6     8     5
     3     2     4     6
    11     4     5     8
>> mask=A>=a&A<=b %Вот они 0 и 1
mask =
     0     1     0     0
     0     1     0     1
     1     0     1     1
     0     1     1     0
>> A(~mask)=0
A =
     0     4     0     0
     0     6     0     5
     3     0     4     6
     0     4     5     0
>>
Какие нынче вредные преподаватели
2
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 8
27.10.2014, 19:56  [ТС] 3
Я не очень шарю в матлабе, а что означает (~mask)?
0
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
27.10.2014, 20:06 4
mask это матрица с логическими елементами: 1=правда, 0=ложь. Логический оператор отрицания ~(не) делает из правды(=1) неправду (ложь=0), а из лжи правда получается.
Скобки обозначают индексирование, которое в даном случае выплолняется с помощью логической матрицы (маски)
2
2429 / 1829 / 404
Регистрация: 15.12.2013
Сообщений: 8,080
27.10.2014, 20:10 5
Похоже здесь преподаватель хочет увидеть реализацию через циклы.
0
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 8
27.10.2014, 20:12  [ТС] 6
Через циклы другое решение будет?
0
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
27.10.2014, 20:53 7
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for ik=1:size(A,1)% возьмём отдельную строку матрицы с номером ik
  for ig=1:size(A,2)% в этой строке возьмём номер ig
    if A(ik,ig)<a|A(ik,ig)>b %Используя номера ik и ig достанем из матрицы 
      % отдельный елемент под этими номерами, сравним его с нижним пределом a, 
      % в результате сравнения получится какое-то логическое значение (правда или ложь)
      % далее сравним этот же елемент с верхним пределом b, в результате тоже получим 
      % логическое значение, далее будет выполнятся логическая операция или |,
      % так как она имеет меньший приоритет чем операторы сравнения < и > 
      % если хотя бы одно из полученых логических значений окажется правдой,
      % то результатом оператора или будет правда, и идущее далее выражение будет выполнено,
      % если нет, то оно будет пропущено, и произойдёт переход к следующей итерации ig=ig+1
      A(ik,ig)=0; %елемантам, содержащим значения не попавшие в заданый интервал, присваивается 0
    end
  end
end
A
1
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 8
27.10.2014, 21:17  [ТС] 8
Я думаю это через циклы, но мы их просто не проходили. Но спасибо, за объяснение.
Может быть у кого-нибудь есть ещё варианты?(((
0
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
27.10.2014, 21:38 9
В программировании как в математике, вариантов решения может быть много:
Matlab M
1
2
3
4
a=3
b=6
A=[1 4 7 12; 2 6 8 5; 3 2 4 6; 11 4 5 8]
(A>=a&A<=b).*A
0
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 8
27.10.2014, 21:56  [ТС] 10
Такое решение препод отверг(
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2014, 21:56
Помогаю со студенческими работами здесь

Любимая часть серии Call of Duty
У кого какая самая любимая???

Таго из фильма Моя любимая бедная мама
люди,кто знает этот фильм?я короче услышал по телеку танго,красиве,уже 6-7 лет не могу в нете найти...

Корпускула и ее любимая потенциальная яма решают уравнение Шредингера...
НУЖНО РЕШИТЬ ДВЕ ЗАДАЧИ(В АРХИВЕ) В МАТКАДЕ

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


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

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

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