Help for a function which works like triu function in matlab

3 次查看(过去 30 天)
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 个评论
Anastasia Kyriakou
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
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
}
}

请先登录,再进行评论。

回答(1 个)

Sai Sri Pathuri
Sai Sri Pathuri 2020-3-4
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

类别

Help CenterFile Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by