Help for a function which works like triu function in matlab

2 visualizaciones (últimos 30 días)
Anastasia Kyriakou
Anastasia Kyriakou el 1 de Mzo. de 2020
Respondida: Sai Sri Pathuri el 4 de Mzo. de 2020
we have seen the function triu(A,k) which extracts upper triangular part of A. But i have to write my own function with the header U = myTriu(A,k) which does the same thing and apply it with A= (2 5 6 4 8 9 10 15 12),k) where k=-2,-1,1
Could anyone help me,please?
  3 comentarios
Anastasia Kyriakou
Anastasia Kyriakou el 1 de Mzo. de 2020
clc
clear all
close all
function U = myTriu(A,k)
for i=1:10
for j=1:10
if (i==1|| j==1 || i=10|| j=10
fprintf('i');
else fprintd('j');
end
end
end
I have written this but it does not seem to be correct
Anastasia Kyriakou
Anastasia Kyriakou el 1 de Mzo. de 2020
clear all
close all
function U = myTriu(A,k)
for (i=0 ; i<row; i++
{
for (j=0; j<col ;j++)
{
if (i>j)
{
matrix[i][j]=0;
}
count << matrix[i][j] << '' '' ;
}
count << end1
}
}

Iniciar sesión para comentar.

Respuestas (1)

Sai Sri Pathuri
Sai Sri Pathuri el 4 de Mzo. de 2020
I think the first code you posted is not relevant to this question and the second code is written in C++ for k = 0 case.
You may use the following code which has a slight modification (checking for i + k > j) for all values of k
function U = myTriu(A,k)
for i = 1: size(A,1)
for j = 1:size(A,2)
if i + k > j
A(i,j) = 0;
end
end
end
U = A;
end

Categorías

Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by