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

Найти среднее значение элементов матрицы

23.06.2016, 17:17. Показов 17613. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, не подскажете как найти среднее значение элементов матрицы, усреднение провести через while?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2016, 17:17
Ответы с готовыми решениями:

Найти среднее значение отрицательных элементов матрицы
Вечер добрый, проблема у меня заключается в том, что по заданию функцию mean использовать нельзя....

Найти среднее арифметическое элементов матрицы
Столкнулся с проблемой , что никак не могу найти среднее арифметическое элементов матрицы A(4)...

Как найти среднее значение элементов массива, которые больше 10-ти?
Определить среднее значение всех элементов массива, чьи факториалы больше 10.

Найти среднее арифметическое всех элементов матрицы, меньших заданного значения
Найти среднее арифметическое всех элементов матрицы,меньших заданного значения.

16
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
24.06.2016, 23:01 2

Не по теме:

zymlanin, вот жадины, никто и не муркнул до сих пор.


zymlanin, все просто. Функция mean по умолчанию ищет среднее по строкам матрицы. Если надо - можно и по столбцам (см. дополнительные аргументы).
0
93 / 91 / 23
Регистрация: 08.05.2016
Сообщений: 521
24.06.2016, 23:07 3
А что значит "усреднение провести"?
0
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 895
24.06.2016, 23:55 4
Зачем смотреть дополнительные аргументы? достаточно вызывать функцию min для транспонированной матрицы.

Matlab M
1
[m,k]  =min(a')
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
24.06.2016, 23:59 5
minore, почему min, если надо усреднение?
1
93 / 91 / 23
Регистрация: 08.05.2016
Сообщений: 521
25.06.2016, 00:04 6
А ответ не mean(mean())?
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
25.06.2016, 00:14 7
Matasin, вполне возможно.
0
93 / 91 / 23
Регистрация: 08.05.2016
Сообщений: 521
25.06.2016, 00:25 8
А зачем тогда while?
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,365
25.06.2016, 05:15 9
Цитата Сообщение от Matasin Посмотреть сообщение
А зачем тогда while?
Очевидно, для решения через цикл while, т.е. без использования функции mean.
0
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 895
25.06.2016, 14:33 10
ну не min а mean, суть от этого не меняется ) все равно с транспонированной матрицей вызвать можно.
0
R2D2
25.06.2016, 15:10
  #11

Не по теме:

minore, оно то так. Для двумерной матрицы - можно. Но разработчики старались, вводили дополнительный аргумент для "общего случая". Что б можно было среднее посчитать по любому направлению многомерной матрицы. не хочется людей огорчать...

0
minore
25.06.2016, 15:22
  #12

Не по теме:

не путайте народ) вы имели ввиду не "двумерную и многомерную матрицу" а "двумерный и многомерный массив", так как любая матрица - это по определению двумерный массив )).

0
R2D2
25.06.2016, 15:35
  #13

Не по теме:

minore, именно это имел ввиду. Простите. Позволяю себе иногда, грешным делом, нечеткую формулировку. Главное - что Вы меня поняли))

0
Krasme
25.06.2016, 15:40
  #14

Не по теме:

непонятно, зачем матрицу транспонировать, если в задаче стоит

найти среднее значение элементов матрицы
ни слова про строки или про столбцы...

0
93 / 91 / 23
Регистрация: 08.05.2016
Сообщений: 521
25.06.2016, 19:15 15
Вариант
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
26
27
28
29
clc, clear all
format long
A=randi(10,5,5)
q=2;
D=A-A(1)*ones(size(A));
W=abs(sum(sum(D)));
e=1e-3;
while W>e
    q=q/2;
    k=min(A(:)):q:max(A(:));
    l=1;
    D=A-k(l)*ones(size(A));
    W=abs(sum(sum(D)));
    while W>e
        l=l+1;
        if l<=size(k,2)
            D=A-k(l)*ones(size(A));
            W=abs(sum(sum(D)));
        else
            l=size(k,2);
            break
        end
    end
    D=A-k(l)*ones(size(A));
    W=abs(sum(sum(D)));
end
a=k(l)
b=mean(A(:))
a-b
Скорее всего, можно упростить.

Добавлено через 10 минут
Только это более похоже на забивание гвоздя микроскопом.
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,365
25.06.2016, 20:07 16
Matasin, ну-у, чего-то вы слишком перемудрили...
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
A=randi(10,5); % создание матрицы 5х5
B=A(:); % переформирование матрицы в одномерный массив
n=length(B); % определение длины одномерного массива
s=0; % начальное значение суммы элементов
k=0; % инициализация счётчика элементов
%----цикл while----------
while k<n
  k=k+1;
  s=s+B(k);
end
%---------------------------
sred=s/k % вычисление среднего значения элементов матрицы
2
93 / 91 / 23
Регистрация: 08.05.2016
Сообщений: 521
25.06.2016, 20:27 17

Не по теме:

Это всего лишь вариант (только e не стоит меньше 1e-3 задавать). :D Не написано же, что именно должно находиться в while.
P.S.Любая программа для нахождения среднего арифметического матрицы, отличающаяся от mean(A(: )), уже выглядит неэффективной (всё тот же микроскоп).
P.P.S. Нашёл, что можно упростить, но пока не понимаю как.


zymlanin, любопытно, а откуда у Вас такая задача появилась?
0
25.06.2016, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2016, 20:27
Помогаю со студенческими работами здесь

Найти среднее арифметическое положительных элементов матрицы, лежащих выше главной диагонали.
Разработать блок-схему алгоритма и программу в среде матлаб для нахождения среднего арифметического...

Найти среднее арифметическое нечетных элементов матрицы, лежащих ниже побочной диагонали
Нужно найти среднее арифметическое нечетных элементов матрицы, лежащих ниже побочной диагонали ...

Найти среднее арифметическое элементов матрицы и заменить им элементы последнего столбца и строки.
Найти среднее арифметическое значений элементов матрицы и заме¬нить этим значением элементы...

Найти среднее геометрическое отрицательных элементов матрицы 9х9 лежащих на главной диагонали.
Найти среднее геометрическое отрицательных элементов матрицы 9х9 лежащих на главной диагонали. ...


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

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

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