Given a matrix, the task is to find the minimum element of each row and each column.
Examples:
Input: [1, 2, 3] [1, 4, 9] [76, 34, 21] Output: Minimum element of each row is {1, 1, 21} Minimum element of each column is {1, 2, 3} Input: [1, 2, 3, 21] [12, 1, 65, 9] [11, 56, 34, 2] Output: Minimum element of each row is {1, 1, 2} Minimum element of each column is {1, 2, 3 , 2}
Approach: The idea is to run the loop for no_of_rows. Check each element inside the row and find for the minimum element. Finally, print the element. Similarly, check each element inside the column and find for the minimum element. Finally, print the element.
Below is the implementation of the above approach:
C++
#include<bits/stdc++.h>
using
namespace
std;
const
int
MAX = 100;
void
smallestInRow(
int
mat[][MAX],
int
n,
int
m)
{
cout <<
" { "
;
for
(
int
i = 0; i < n; i++) {
int
minm = mat[i][0];
for
(
int
j = 1; j < m; j++) {
if
(mat[i][j] < minm)
minm = mat[i][j];
}
cout << minm <<
", "
;
}
cout <<
"}"
;
}
void
smallestInCol(
int
mat[][MAX],
int
n,
int
m)
{
cout <<
" { "
;
for
(
int
i = 0; i < m; i++) {
int
minm = mat[0][i];
for
(
int
j = 1; j < n; j++) {
if
(mat[j][i] < minm)
minm = mat[j][i];
}
cout << minm <<
", "
;
}
cout <<
"}"
;
}
int
main()
{
int
n = 3, m = 3;
int
mat[][MAX] = { { 2, 1, 7 },
{ 3, 7, 2 },
{ 5, 4, 9 } };
cout <<
"Minimum element of each row is "
;
smallestInRow(mat, n, m);
cout <<
"nMinimum element of each column is "
;
smallestInCol(mat, n, m);
return
0;
}
C
#include <stdio.h>
#define MAX 100
void
smallestInRow(
int
mat[][MAX],
int
n,
int
m)
{
printf
(
" { "
);
for
(
int
i = 0; i < n; i++) {
int
minm = mat[i][0];
for
(
int
j = 1; j < m; j++) {
if
(mat[i][j] < minm)
minm = mat[i][j];
}
printf
(
"%d, "
,minm);
}
printf
(
"}"
);
}
void
smallestInCol(
int
mat[][MAX],
int
n,
int
m)
{
printf
(
" { "
);
for
(
int
i = 0; i < m; i++) {
int
minm = mat[0][i];
for
(
int
j = 1; j < n; j++) {
if
(mat[j][i] < minm)
minm = mat[j][i];
}
printf
(
"%d, "
,minm);
}
printf
(
"}"
);
}
int
main()
{
int
n = 3, m = 3;
int
mat[][MAX] = { { 2, 1, 7 },
{ 3, 7, 2 },
{ 5, 4, 9 } };
printf
(
"Minimum element of each row is "
);
smallestInRow(mat, n, m);
printf
(
"nMinimum element of each column is "
);
smallestInCol(mat, n, m);
return
0;
}
Java
public
class
GFG {
final
static
int
MAX =
100
;
static
void
smallestInRow(
int
mat[][],
int
n,
int
m) {
System.out.print(
" { "
);
for
(
int
i =
0
; i < n; i++) {
int
minm = mat[i][
0
];
for
(
int
j =
1
; j < m; j++) {
if
(mat[i][j] < minm) {
minm = mat[i][j];
}
}
System.out.print(minm +
", "
);
}
System.out.println(
"}"
);
}
static
void
smallestInCol(
int
mat[][],
int
n,
int
m) {
System.out.print(
" { "
);
for
(
int
i =
0
; i < m; i++) {
int
minm = mat[
0
][i];
for
(
int
j =
1
; j < n; j++) {
if
(mat[j][i] < minm) {
minm = mat[j][i];
}
}
System.out.print(minm +
", "
);
}
System.out.print(
"}"
);
}
public
static
void
main(String args[]) {
int
n =
3
, m =
3
;
int
mat[][] = {{
2
,
1
,
7
},
{
3
,
7
,
2
},
{
5
,
4
,
9
}};
System.out.print(
"Minimum element of each row is "
);
smallestInRow(mat, n, m);
System.out.print(
"nMinimum element of each column is "
);
smallestInCol(mat, n, m);
}
}
Python3
MAX
=
100
def
smallestInRow(mat, n, m):
print
(
"{"
, end
=
"")
for
i
in
range
(n):
minm
=
mat[i][
0
]
for
j
in
range
(
1
, m,
1
):
if
(mat[i][j] < minm):
minm
=
mat[i][j]
print
(minm, end
=
","
)
print
(
"}"
)
def
smallestInCol(mat, n, m):
print
(
"{"
, end
=
"")
for
i
in
range
(m):
minm
=
mat[
0
][i]
for
j
in
range
(
1
, n,
1
):
if
(mat[j][i] < minm):
minm
=
mat[j][i]
print
(minm, end
=
","
)
print
(
"}"
)
if
__name__
=
=
'__main__'
:
n
=
3
m
=
3
mat
=
[[
2
,
1
,
7
],
[
3
,
7
,
2
],
[
5
,
4
,
9
]];
print
(
"Minimum element of each row is"
,
end
=
" "
)
smallestInRow(mat, n, m)
print
(
"Minimum element of each column is"
,
end
=
" "
)
smallestInCol(mat, n, m)
C#
using
System;
class
GFG
{
readonly
static
int
MAX = 100;
static
void
smallestInRow(
int
[,]mat,
int
n,
int
m)
{
Console.Write(
" { "
);
for
(
int
i = 0; i < n; i++)
{
int
minm = mat[i, 0];
for
(
int
j = 1; j < m; j++)
{
if
(mat[i, j] < minm)
{
minm = mat[i, j];
}
}
Console.Write(minm +
", "
);
}
Console.WriteLine(
"}"
);
}
static
void
smallestInCol(
int
[,]mat,
int
n,
int
m)
{
Console.Write(
" { "
);
for
(
int
i = 0; i < m; i++)
{
int
minm = mat[0, i];
for
(
int
j = 1; j < n; j++)
{
if
(mat[j, i] < minm)
{
minm = mat[j, i];
}
}
Console.Write(minm +
", "
);
}
Console.Write(
"}"
);
}
public
static
void
Main()
{
int
n = 3, m = 3;
int
[,]mat = {{2, 1, 7},
{3, 7, 2},
{5, 4, 9}};
Console.Write(
"Minimum element of "
+
"each row is "
);
smallestInRow(mat, n, m);
Console.Write(
"nMinimum element of "
+
"each column is "
);
smallestInCol(mat, n, m);
}
}
PHP
<?php
$MAX
= 100;
function
smallestInRow(&
$mat
,
$n
,
$m
)
{
echo
" { "
;
for
(
$i
= 0;
$i
<
$n
;
$i
++)
{
$minm
=
$mat
[
$i
][0];
for
(
$j
= 1;
$j
<
$m
;
$j
++)
{
if
(
$mat
[
$i
][
$j
] <
$minm
)
$minm
=
$mat
[
$i
][
$j
];
}
echo
$minm
.
", "
;
}
echo
"}"
;
}
function
smallestInCol(&
$mat
,
$n
,
$m
)
{
echo
" { "
;
for
(
$i
= 0;
$i
<
$m
;
$i
++)
{
$minm
=
$mat
[0][
$i
];
for
(
$j
= 1;
$j
<
$n
;
$j
++)
{
if
(
$mat
[
$j
][
$i
] <
$minm
)
$minm
=
$mat
[
$j
][
$i
];
}
echo
$minm
.
", "
;
}
echo
"}"
;
}
$n
= 3;
$m
= 3;
$mat
=
array
(
array
( 2, 1, 7 ),
array
( 3, 7, 2 ),
array
( 5, 4, 9 ));
echo
"Minimum element of each row is "
;
smallestInRow(
$mat
,
$n
,
$m
);
echo
"nMinimum element of each column is "
;
smallestInCol(
$mat
,
$n
,
$m
);
?>
Javascript
<script>
let MAX = 100;
function
smallestInRow(mat,n,m) {
document.write(
" { "
);
for
(let i = 0; i < n; i++) {
let minm = mat[i][0];
for
(let j = 1; j < m; j++) {
if
(mat[i][j] < minm) {
minm = mat[i][j];
}
}
document.write(minm +
", "
);
}
document.write(
"}"
+
"<br>"
);
}
function
smallestInCol(mat,n,m) {
document.write(
" { "
);
for
(let i = 0; i < m; i++) {
let minm = mat[0][i];
for
(let j = 1; j < n; j++) {
if
(mat[j][i] < minm) {
minm = mat[j][i];
}
}
document.write(minm +
", "
);
}
document.write(
"}"
);
}
let n = 3, m = 3;
let mat = [[2, 1, 7],
[3, 7, 2],
[5, 4, 9]];
document.write(
"Minimum element of each row is "
);
smallestInRow(mat, n, m);
document.write(
"nMinimum element of each column is "
);
smallestInCol(mat, n, m);
</script>
Output
Minimum element of each row is { 1, 2, 4, } Minimum element of each column is { 2, 1, 2, }
Complexity Analysis:
- Time complexity: O(n*m), as we are using nested for loops to traverse the Matrix.
- Auxiliary Space: O(1), as we are not using any extra space.
Last Updated :
09 Sep, 2022
Like Article
Save Article
Решение писать не буду, но направлю твоё мышление, потому-что у тебя сейчас код написан просто “от балды”, и не делает вообще ничего
Первым дело ты определил что размер матрицы (i x j), где i – высота матрицы (строки), j – ширина (столбцы)
По заданию, нужно найти минимальное значение в каждой строке матрицы, соответственно перебираем строки
for (let i = 0, i < mass.length, i++) {
// mass[i] это строка массива в каждой итерации цикла
}
до этого момента у тебя всё правильно, а теперь начинаются ошибки. По логике, чтобы найти минимальное значение в строке, нужно пройтись по каждому элементу в текущей строке mass[i], соответственно количество итераций, во втором цикле, должно быть равно mass[i].length, а не mass.length, как у тебя сейчас
for (let j = 0, j < mass[i].length, j++) {
// mass[i][j] это каждый столбец в строке
}
теперь, остаётся только сравнивать каждый элемент mass[i][j], и найти минимальный, для этого перед началом цикла, тебе нужно создать переменную, в которую ты запоминаешь минимальное значение. Ты пытался это сделать, но присваиваешь s = 0, хотя лучше занести сюда первое значение в массиве let min = mass[i][0] (задаю название переменной так, чтобы было понятно что она означает)
И перебирая элементы в цикле, ты должен сравнивать значение текущего минимального (min) и значение текущего элемента (mass[i][j]), если элемент текущий получился меньше, то присваиваешь его значение в минимальному
// вариант 1.
if (min > mass[i][j]) min = mass[i][j];
// вариант 2.
min = Math.min(min, mass[i][j]);
по окончанию цикла, у тебя в переменной min, будет минимальное значение в строке матрицы
for (let i = 0, i < mass.length, i++) {
// mass[i] это строка массива в каждой итерации цикла
// тут создавай переменную min
for (let j = 0, j < mass[i].length, j++) {
// mass[i][j] это каждый столбец в строке
// тут сравнивай текущее значение с минимальным
}
// тут у тебя min будет минимальным в строке
}
0 / 0 / 0 Регистрация: 10.12.2011 Сообщений: 36 |
|
1 |
|
В каждой строке матрицы найти минимальный элемент31.05.2012, 19:42. Показов 40948. Ответов 6
Дана матрица размера M × N. В каждой строке матрицы найти минимальный элемент
0 |
AAA- 14 / 14 / 5 Регистрация: 14.02.2012 Сообщений: 46 |
||||
31.05.2012, 20:18 |
2 |
|||
2 |
HappyAndRu 13 / 13 / 7 Регистрация: 19.05.2012 Сообщений: 46 |
||||
31.05.2012, 21:02 |
3 |
|||
вот мой вариант:
1 |
DanilAREFY 19 / 19 / 6 Регистрация: 12.04.2011 Сообщений: 35 |
||||
31.05.2012, 21:55 |
4 |
|||
1 |
Заблокирован |
||||
31.05.2012, 22:33 |
5 |
|||
1 |
MrGluck Форумчанин 8194 / 5044 / 1437 Регистрация: 29.11.2010 Сообщений: 13,453 |
||||
01.06.2012, 01:02 |
6 |
|||
1 |
Aniotri 0 / 0 / 0 Регистрация: 22.12.2020 Сообщений: 2 |
||||
01.01.2021, 21:59 |
7 |
|||
0 |
Минимальные элементы массива
Синтаксис
Описание
пример
возвращает минимальные элементы массива.M
= min(A
)
-
Если
A
вектор, затемmin(A)
возвращает минимумA
. -
Если
A
матрица, затемmin(A)
вектор-строка, содержащий минимальное значение каждого столбца. -
Если
A
многомерный массив, затемmin(A)
действует вдоль первого измерения массива, размер которого не равняется1
, обработка элементов как векторы. Размер этой размерности становится1
в то время как размеры всех других размерностей остаются то же самое. ЕслиA
пустой массив с первой размерностью0
, затемmin(A)
возвращает пустой массив с тем же размером какA
.
пример
возвращает минимальный элемент по измерению M
= min(A
,[],dim
)dim
. Например, если A
матрица, затем min(A,[],2)
вектор-столбец, содержащий минимальное значение каждой строки.
пример
задает, включать ли или не использовать M
= min(A
,[],nanflag
)NaN
значения в вычислении. Например, min(A,[],'includenan')
включает весь NaN
значения в A
в то время как min(A,[],'omitnan')
игнорирует их.
также задает размерность, которую задает направление расчета при использовании M
= min(A
,[],dim
,nanflag
)nanflag
опция.
пример
[
также возвращает индекс в операционную размерность, которая соответствует минимальному значению M
,I
] =
min(___)A
для любого из предыдущих синтаксисов.
пример
находит минимум по всем элементам M
= min(A
,[],'all'
)A
. Этот синтаксис допустим для MATLAB® версии R2018b и позже.
пример
вычисляет минимум по размерностям, заданным в векторном M
= min(A
,[],vecdim
)vecdim
. Например, если A
матрица, затем min(A,[],[1 2])
вычисляет минимум по всем элементам в A
, поскольку каждый элемент матрицы содержится в срезе массивов, заданном размерностями 1 и 2.
вычисляет минимум по всем элементам M
= min(A
,[],'all'
,nanflag
)A
при использовании nanflag
опция.
задает несколько размерностей, которых задают направление расчета при использовании M
= min(A
,[],vecdim
,nanflag
)nanflag
опция.
[
возвращает линейный индекс в M
,I
] =
min(A
,[],'all'
,___)A
это соответствует минимальному значению в A
при определении 'all'
.
пример
[
возвращает линейный индекс в M
,I
] =
min(A
,[],___,'linear')A
это соответствует минимальному значению в A
.
пример
возвращает массив с самыми маленькими элементами, взятыми из C
= min(A
,B
)A
или B
.
также задает, как обработать C
= min(A
,B
,nanflag
)NaN
значения.
___ = min(___,'ComparisonMethod',
опционально задает, как сравнить элементы для любого из предыдущих синтаксисов. Например, для векторного method
)A = [-1 2 -9]
, синтаксис min(A,[],'ComparisonMethod','abs')
сравнивает элементы A
согласно их абсолютным значениям и возвращает -1
.
Примеры
свернуть все
Самый маленький векторный элемент
Создайте вектор и вычислите его самый маленький элемент.
A = [23 42 37 15 52]; M = min(A)
Самый маленький комплексный элемент
Создайте комплексный вектор и вычислите его самый маленький элемент, то есть, элемент с наименьшей величиной.
A = [-2+2i 4+i -1-3i]; min(A)
Самый маленький элемент в каждом столбце матрицы
Создайте матрицу и вычислите самый маленький элемент в каждом столбце.
Самый маленький элемент в каждой матричной строке
Создайте матрицу и вычислите самый маленький элемент в каждой строке.
A = [1.7 1.2 1.5; 1.3 1.6 1.99]
A = 2×3
1.7000 1.2000 1.5000
1.3000 1.6000 1.9900
Самое маленькое включение элемента NaN
Создайте вектор и вычислите его минимум, исключая NaN
значения.
A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
M = min(A,[],'omitnan')
min(A)
также приведет к этому результату начиная с 'omitnan'
опция по умолчанию.
Используйте 'includenan'
отметьте, чтобы возвратить NaN
.
M = min(A,[],'includenan')
Самые маленькие индексы элемента
Создайте матричный A
и вычислите самые маленькие элементы в каждом столбце, а также индексах строки A
в котором они появляются.
Минимум страницы массивов
Создайте трехмерный массив и вычислите минимум по каждой странице данных (строки и столбцы).
A(:,:,1) = [2 4; -2 1]; A(:,:,2) = [9 13; -5 7]; A(:,:,3) = [4 4; 8 -3]; M1 = min(A,[],[1 2])
M1 = M1(:,:,1) = -2 M1(:,:,2) = -5 M1(:,:,3) = -3
Начиная в R2018b, вычислять минимум по всем размерностям массива, можно или задать каждую размерность в векторном аргументе размерности или использовать 'all'
опция.
Возвратите линейные индексы
Создайте матричный A
и возвратите минимальное значение каждой строки в матричном M
. Используйте 'linear'
опция, чтобы также возвратить линейные индексы I
таким образом, что M = A(I)
.
[M,I] = min(A,[],2,'linear')
Самое маленькое сравнение элемента
Создайте матрицу и возвратите наименьшее значение между каждым из его элементов по сравнению со скаляром.
Входные параметры
свернуть все
A
— Входной массив
скаляр | вектор | матрица | многомерный массив
Входной массив, заданный как скалярный, векторный, матричный или многомерный массив.
-
Если
A
является комплексным, затемmin(A)
возвращает комплексное число с наименьшей величиной. Если величины равны, тоmin(A)
возвращает значение с наименьшей величиной и самым маленьким углом фазы. -
Если
A
скаляр, затемmin(A)
возвращаетA
. -
Если
A
пустой массив 0 на 0, затемmin(A)
также.
Если A
имеет вводят categorical
, затем это должно быть порядковым.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| categorical
| datetime
| duration
Поддержка комплексного числа: Да
dim
— Размерность, которая задает направление расчета
положительный целочисленный скаляр
Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.
Размерность dim
указывает на размерность, длина которой уменьшает до 1
. size(M,dim)
1
, в то время как размеры всех других размерностей остаются то же самое, если size(A,dim)
0
. Если size(A,dim)
0
, затем min(A,dim)
возвращает пустой массив с тем же размером как A
.
Рассмотрите двумерный входной массив, A
:
-
Если
dim = 1
, затемmin(A,[],1)
возвращает вектор-строку, содержащий самый маленький элемент в каждом столбце. -
Если
dim = 2
, затемmin(A,[],2)
возвращает вектор-столбец, содержащий самый маленький элемент в каждой строке.
min
возвращает A
если dim
больше ndims(A)
.
vecdim
— Вектор из размерностей
вектор из положительных целых чисел
Вектор из размерностей в виде вектора из положительных целых чисел. Каждый элемент представляет размерность входного массива. Продолжительности выхода в заданных операционных размерностях равняются 1, в то время как другие остаются то же самое.
Рассмотрите 2 3х3 входным массивом, A
. Затем min(A,[],[1 2])
возвращает 1 1 3 массивами, элементами которых являются минимумы, вычисленные по каждой странице A
.
Типы данных: double |
single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
B
— Дополнительный входной массив
скаляр | вектор | матрица | многомерный массив
Дополнительный входной массив в виде скаляра, вектора, матрицы или многомерного массива. Входные параметры A
и B
должен или быть одного размера или иметь размеры, которые совместимы (например, A
M
– N
матрица и B
скаляр или 1
– N
вектор-строка). Для получения дополнительной информации см. “Совместимые размеры массивов для основных операций”.
-
A
иB
должен быть совпадающий тип данных, если каждый неdouble
. В этом случае типом данных другого массива может бытьsingle
длительность
, или любой целочисленный тип. -
Если
A
иB
порядковыйcategorical
массивы, у них должны быть те же наборы категорий с тем же порядком.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| categorical
| datetime
| duration
Поддержка комплексного числа: Да
nanflag
NaN
условие
'omitnan'
(значение по умолчанию) | 'includenan'
NaN
условие в виде одного из этих значений:
-
'omitnan'
— Проигнорируйте весьNaN
значения во входе. Если всеми элементами являетсяNaN
, затемmin
возвращает первый. -
'includenan'
— ВключайтеNaN
значения во входе для вычисления.
Для datetime
массивы, можно также использовать 'omitnat'
или 'includenat'
не использовать и включать NaT
значения, соответственно.
Для categorical
массивы, можно также использовать 'omitundefined'
или 'includeundefined'
не использовать и включать неопределенные значения, соответственно.
Типы данных: char
method
‘ComparisonMethod’
'auto'
(значение по умолчанию) | 'real'
| 'abs'
Метод сравнения для числового входа в виде одного из этих значений:
-
'auto'
— Для числового входного массиваA
, сравните элементыreal(A)
когдаA
действительно, иabs(A)
когдаA
является комплексным. -
'real'
— Для числового входного массиваA
, сравните элементыreal(A)
когдаA
является действительным или комплексным. ЕслиA
имеет элементы с равными действительными частями, затем используйтеimag(A)
повредить связи. -
'abs'
— Для числового входного массиваA
, сравните элементыabs(A)
когдаA
является действительным или комплексным. ЕслиA
имеет элементы с равной величиной, затем используйтеangle(A)
в интервале (-π,π], чтобы повредить связи.
Выходные аргументы
свернуть все
M
— Минимальные значения
скаляр | вектор | матрица | многомерный массив
Минимальные значения, возвращенные как скаляр, вектор, матрица или многомерный массив. size(M,dim)
1
, в то время как размеры всех других размерностей совпадают с размером соответствующей размерности в A
, если size(A,dim)
0
. Если size(A,dim)
0
, затем M
пустой массив с тем же размером как A
.
I
— Индекс
скаляр | вектор | матрица | многомерный массив
Индексируйте, возвращенный как скаляр, вектор, матрица или многомерный массив. I
одного размера с первым выходом.
Когда 'linear'
не задан, I
индекс в операционную размерность. Когда 'linear'
задан, I
содержит линейные индексы A
соответствие минимальным значениям.
Если самый маленький элемент происходит несколько раз, то I
содержит индекс к первому вхождению значения.
C
— Минимальные элементы от A
или B
скаляр | вектор | матрица | многомерный массив
Минимальные элементы от A
или B
, возвращенный как скаляр, вектор, матрица или многомерный массив. Размер C
определяется неявным расширением размерностей A
и B
Для получения дополнительной информации см. “Совместимые размеры массивов для основных операций”.
Тип данных C
зависит от типов данных A
и B
:
-
Если
A
иB
совпадающий тип данных, затемC
совпадает с типом данныхA
иB
. -
Если любой
A
илиB
single
, затемC
single
. -
Если любой
A
илиB
целочисленный тип данных с другим скалярныйdouble
, затемC
принимает целочисленный тип данных.
Расширенные возможности
“Высокие” массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Указания и ограничения по применению:
-
Если вы задаете пустой массив для второго аргумента для того, чтобы предоставить
dim
илиnanflag
, второй аргумент должен иметь фиксированный размер и размерности0
–0
. -
Если вы задаете
dim
илиnanflag
, затем они должны быть константами. -
Если вход является массивом переменного размера, длина размерности, которой задает направление расчета не должна быть нулем во времени выполнения.
-
“Смотрите информацию о генерации кода функций Toolbox (MATLAB Coder) в разделе “”Ограничения переменных размеров””.”.
-
Смотрите генерацию кода для комплексных данных с мнимыми частями с нулевым знаком (MATLAB Coder).
Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.
Указания и ограничения по применению:
-
Если вы задаете пустой массив для второго аргумента для того, чтобы предоставить
dim
илиnanflag
, второй аргумент должен иметь фиксированный размер и размерности0
–0
. -
Если вы задаете
dim
илиnanflag
, затем они должны быть константами. -
“Смотрите информацию о генерации кода функций Toolbox (MATLAB Coder) в разделе “”Ограничения переменных размеров””.”.
-
Смотрите генерацию кода для комплексных данных с мнимыми частями с нулевым знаком (MATLAB Coder).
Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
Представлено до R2006a
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Введите размерность матрецы n m = "); int m = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("n n = "); int n = Convert.ToInt32(Console.ReadLine()); // Объявляем двумерный массив int[,] matrix = new int[m, n]; Random ran = new Random(); // Инициализируем данный массив for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { matrix[i, j] = ran.Next(1, 15); Console.Write("{0}t", matrix[i, j]); } Console.WriteLine(); } Console.WriteLine("nМинимальное значение в строках: "); for (int i = 0; i < m; i++) { int minLine = matrix[i, 0]; for (int j = 0; j < n; j++) { if (matrix[i, j] < minLine) { minLine = matrix[i, j]; } } Console.WriteLine("Строка {0}, значение: {1}", i, minLine); Console.WriteLine(); } Console.ReadKey(); } } }