Навигация по странице:1-й вариант //Вариант 2 - второй вариант A=Вариант 3 Найти сумму положительных элементов введенного вектора , стоящих на местах, кратных числуВариант 4 Все отрицательные элементы матрицы С(3х4) умножить на х1 , а положительные – разделить на х2Вариант 5 Найти сумму отрицательных элементов введенного вектора, расположенных на нечетных местах.Вариант 7 Элементы квадратной матрицы ниже главной диагонали уменьшить на х1, а элементы выше главной диагонали увеличить на х2 .Вариант 8 Среди n первых элементов введенного вектора найти сумму отрицательных элементов.Вариант 9. Найти номера столбцов матрицы А(4,5), состоящих из одинаковых элементовВариант 10 Подсчитать количество элементов введенного вектора , принадлежащих интервалу[ a,bВариант 11 Максимальный элемент каждой строки матрицы D(4,4) заменить числом х .Вариант 12 Найти количество элементов введенного вектора, меньших единицы.Вариант 13 В каждой строке матрицы К(mxn) найти количество элементов больше х1Вариант 14 Найти произведение ненулевых элементов вектора.Вариант 15 Минимальный элемент в каждом из столбцов матрицы заменить нулевым значением.
|
Матрицы задачи 1-15 ТИ. Вариант 1 Ввести 3 вектора разной длины и найти суммы отрицательных элементов каждого из них
Вариант 1
Ввести 3 вектора разной длины и найти суммы отрицательных элементов каждого из них.
-> a=[2 -5 -7 5];
--> b=[-4 -6 -8 9];
--> c=[-8 4 5 6 7 -1];
--> exec('sumot.sce',1);
function s=sumot(x)
s=sum(x(x<0));
endfunction
--> suma=sumot(a)
suma =
-12.
--> suma=sumot(b)
suma =
-18.
--> suma=sumot(c)
suma =
-9. Вариант 2
Элементы каждой строки матрицы, значения которых больше среднеарифметического значения данной строки, заменить этим значением.
1-й вариант
//Вариант 2 - второй вариант
A=[1 3 5 8;-5 6 5 1;3 4 5 7]
A =
1. 3. 5. 8.
-5. 6. 5. 1.
3. 4. 5. 7.
[n,m]=size(A)
m = 4.
n = 3.
c=mean(A,'c')// средние значения строк
c =
4.25
1.75
4.75
Am=repmat(c,1,m)//Заполнение строк ср.ариф.
Am =
4.25 4.25 4.25 4.25
1.75 1.75 1.75 1.75
4.75 4.75 4.75 4.75 //B = Am>A
x=find(Am>A)
x =
1. 2. 3. 4. 6. 11.
A(x)=Am(x) A =
4.25 4.25 5. 8.
1.75 6. 5. 1.75
4.75 4.75 5. 7.
3-й вариант
--> A=[1 3 5 8; -5 6 5 1;3 4 5 7]
A =
1. 3. 5. 8.
-5. 6. 5. 1.
3. 4. 5. 7.
--> [n,m]=size(A)
m =
4.
n =
3.
-->c=mean(A,'c') // средние значения строк
c =
4.25
1.75
4.75
--> Am=repmat(c,1,m) //Заполнение строк ср.ариф.
Am =
4.25 4.25 4.25 4.25
1.75 1.75 1.75 1.75
4.75 4.75 4.75 4.75
--> X=A(A>Am); //Индексированиие
--> A(X)=Am(X) //Матрица индексированная по условию Х
A =
1. 3. 4.25 8.
-5. 1.75 1.75 1.
3. 4.75 5. 7.
Вариант_3_Найти_сумму_положительных_элементов_введенного_вектора_,_стоящих_на_местах,_кратных_числу'>Вариант 3
Найти сумму положительных элементов введенного вектора, стоящих на местах, кратных числу n.
--> a=[1 2 -3 4 5 6 7 8 9];
--> n=3;
--> a3=a(n:n:$);
--> aa=a3(a3>0)
aa =
6. 9.
--> s=sum(aa)
s =
15.
Вариант 4
Все отрицательные элементы матрицы С(3х4) умножить на х1, а положительные – разделить на х2. Подсчитать количество нулевых элементов.
--> C=[1 -5 0 4;4 -6 -1 0;-3 4 1 2]
C =
1. -5. 0. 4.
4. -6. -1. 0.
-3. 4. 1. 2.
--> x1=2;x2=4;
--> L1=C>0; L2=C<0; L3=C==0;
--> C(L1)=C(L1)*x1 //положительные *х1
C =
4. -5. 0. 16.
16. -6. -1. 0.
-3. 16. 4. 8.
--> C(L2)=C(L2)/x2 //отрицательные /x2
C =
4. -1.25 0. 16.
16. -1.5 -0.25 0.
-0.75 16. 4. 8.
--> kol=length(C(L3)) //количество нулевых
kol = 2.
Вариант_5_Найти_сумму_отрицательных_элементов_введенного_вектора,_расположенных_на_нечетных_местах.'>Вариант 5
Найти сумму отрицательных элементов введенного вектора, расположенных на нечетных местах.
--> a=[5 13 -4 11 7 -9 1];
--> b=a(1:2:$)
b =
5. -4. 7. 1.
--> c=b(b<0)
c =
-4.
--> summa=sum(c)
summa =
-4.
Вариант 6.
Найти произведение элементов введенного вектора, больших или равных, введенному значению х.
--> x=5;
--> y=[5 7 8 9 2 3];
--> yy=y(y>=x)
yy =
5. 7. 8. 9.
--> p=prod(yy)
p =
2520. Вариант 7
Элементы квадратной матрицы ниже главной диагонали уменьшить на х1, а элементы выше главной диагонали увеличить на х2.
--> C=[1 -5 -1 4 ; 4 6 2 -1; -3 4 1 2;-3 5 6 8] //Квадратная матрица
C =
1. -5. -1. 4.
4. 6. 2. -1.
-3. 4. 1. 2.
-3. 5. 6. 8.
--> x1-2; x2=3; //Множители
--> a1=tril(C,-1)*x1 //под гл. Диагональю *x1=2
a1 =
0. 0. 0. 0.
8. 0. 0. 0.
-6. 8. 0. 0.
-6. 10. 12. 0.
--> a2=C-tril(C,0)*x2 //Над главной диагональю *x2=3
a2 =
-2. -5. -1. 4.
-8. -12. 2. -1.
6. -8. -2. 2.
6. -10. -12. -16.
--> D=C-tril(C,-1)-(C-tril(C,0)) //Выделяем матрицу –диагональ D =
1. 0. 0. 0.
0. 6. 0. 0.
0. 0. 1. 0.
0. 0. 0. 8.
--> R=a1+D+a2
R =
1. -15. -3. 12. Вариант 8
Среди n первых элементов введенного вектора найти сумму отрицательных элементов.
--> a=[4 -5 -3 7 -1 -2];
--> n=5;
--> a1=a(1:n)
a1 =
4. -5. -3. 7. -1.
--> a2=a1(a1<0)
a2 =
-5. -3. -1.
--> summa=sum(a2)
summa =
-9. Вариант 9. Найти номера столбцов матрицы А(4,5), состоящих из одинаковых элементов
--> A=[4 4 4 6 4; 4 3 4 6 3; 4 5 5 6 5; 4 7 6 6 5]
A =
4. 4. 4. 6. 4.
4. 3. 4. 6. 3.
4. 5. 5. 6. 5.
4. 7. 6. 6. 5.
--> [n,m]=size(A) //Определяем размер матрицы
m =
5.
n =
4.
--> Am=(A(1,:)) //выбираем 1-ю строку
Am =
4. 4. 4. 6. 4.
--> An=repmat(Am,n,1) //Создаем матрицу из n строк из копий Am
An =
4. 4. 4. 6. 4.
4. 4. 4. 6. 4.
4. 4. 4. 6. 4.
4. 4. 4. 6. 4.
--> B = (A==An) //Логическая матрица, созданная по условию A==An
B =
T T T T T
T F T T F
T F F T F
T F F T F
--> x = sum(B,1) //суммы элементов B по столбцам
x =
4. 1. 2. 4. 1.
--> i = find(x==n) //Определение номеров столбцов с одинаковыми элементами
i = 1. 4. Вариант 10
Подсчитать количество элементов введенного вектора, принадлежащих интервалу[a,b].
--> x=[-2 5 8 1 -1 10 11 4];
--> a=1;b=10; // границы интервала
--> x1=x(x>a & x x1 =
5. 8. 4.
--> kol=length(x1) //количество элементы, принадлежащих отрезку
kol =
3. Вариант 11
Максимальный элемент каждой строки матрицы D(4,4)заменить числом х.
--> D=[1 3 0 5; 2 3 7 2; 4 3 5 4; 6 3 9 2]
D =
1. 3. 0. 5.
2. 3. 7. 2.
4. 3. 5. 4.
6. 3. 9. 2.
--> x=30;
--> m=max(D,'c') //вектор максимальных элементов строк
m =
5.
7.
5.
9.
--> Dm=repmat(m,1,4) //заполнение строк значениями m
Dm =
5. 5. 5. 5.
7. 7. 7. 7.
5. 5. 5. 5.
9. 9. 9. 9.
--> L=find(D==Dm); //логическая матрица T- если истина
--> D(L)=x
D =
1. 3. 0. 30.
2. 3. 30. 2.
4. 3. 30. 4.
6. 3. 30. 2.
m Вариант 12
Найти количество элементов введенного вектора, меньших единицы.
--> a=[0 -1 5 -0.5 0.5 4 8];
--> a1=a(a<1)
a1 =
0. -1. -0.5 0.5
--> kol=length(a1)
kol =
4. Вариант 13
В каждой строке матрицы К(mxn) найти количество элементов больше х1 и заменить их на значение последнего элемента строки. Вывести полученную матрицу по столбцам.
x1=2 //значение на которое заменяются элементы >x1
D=[1 3 0 5;2 3 7 2;4 3 5 4;6 3 9 2]
[n,m]=size(D)
SSB=D(:,$) //создание вектора из последних элементов
SSM(:)=repmat(SSB,1,m) //создание матрицы, строки = посл. элеменам
xx=find(D<=x1) //номера элементов матрицы D kol= 16-length(xx) //кол-во заменяемых элементов
SSM(xx)=D(xx) //замена элементов, отвечающих условию хх посл. x1 =
2.
D =
1. 3. 0. 5.
2. 3. 7. 2.
4. 3. 5. 4.
6. 3. 9. 2.
m = 4.
n = 4.
SSB =
5.
2.
4.
2.
SSM =
5. 5. 5. 5.
2. 2. 2. 2.
4. 4. 4. 4.
2. 2. 2. 2.
xx =
2. 9. 14. 16.
SSM =
1. 5. 0. 5.
2. 2. 2. 2.
4. 4. 4. 4.
2. 2. 2. 2. Вариант 14
Найти произведение ненулевых элементов вектора.
--> a=[1 2 0 3.6 0 -4];
--> ano=a(a=0)
ano =
1. 2. 3.6 -4.
--> prod(ano)
ans =
-28.8 Вариант 15
Минимальный элемент в каждом из столбцов матрицы заменить нулевым значением.
--> K=[2 3 4 1; -4 5 7 2;6 5 4 1]
K =
2. 3. 4. 1.
-4. 5. 7. 2.
6. 5. 4. 1.
--> m=min(K,'r') //вектор минимальных элементов
m =
-4. 3. 4. 1.
--> Km=repmat(m,3,1)
Km =
-4. 3. 4. 1.
-4. 3. 4. 1.
-4. 3. 4. 1.
--> L=find(K==Km);
--> K(L)=0
K =
2. 0. 0. 0.
0. 5. 7. 2.
6. 5. 0. 0. |
|
|