Write function that returns true if (inputmatrix > 0)

1 次查看(过去 30 天)
I suppost Write a function with given matrix A returns matrix P where element P(i,j) = true if the corresponding elements in (A(i,i)>0) and false otherwise. I don't really udnersatnd the queation, why does it say P(i,j) and then A(i,i)?
it is hinted that we can use nested for-loop but as i stated above i don't really get the question so it makes it hard to execute the code. Any kind soul that can help me get a start?
function P = positive(A)
for
for
end
end
end

采纳的回答

Can Atalay
Can Atalay 2021-10-17
编辑:Can Atalay 2021-10-17
The (i,i) part of the problem is probably a typo, can you ask for clarafication and report back? I don't see how that would be useful.
If they're expecting you to output 1 at J(i,j) if A(i,j)>0 and output 0 at J(i,j) if otherwise, then you could simply write;
A = [1,2,3;1,2,0;1,2,5];
J = check_positivity(A)
function [resulting_logical_matrix] = check_positivity(A)
resulting_logical_matrix = A>0; % this directly calculates the positivity of all elements
end
If they need you to output 1 at J(i,j) if A(i,i)>0 and output 0 at J(i,j) if otherwise, then you need too look at the diagonal elements of A only;
A = [1,2,3;1,2,0;1,2,5];
J = check_positivity(A)
function [resulting_matrix] = check_positivity(A)
[row1,col1] = size(A) ; % good practice to always use size() instead of length()
resulting_matrix = zeros(row1,col1); % good practice to always preallocate when possible
for ii1=1:row1
for ii2 = 1:col1
if A(ii1,ii1)>0 % if the diagonal element at that row is >0
resulting_matrix(ii1,ii2)=1; % elements in that row are 1
else % otherwise
resulting_matrix(ii1,ii2)=1; % elements in that row are 0
end
end
end
end
Hope this was helpful
  4 个评论

请先登录,再进行评论。

更多回答(1 个)

KSSV
KSSV 2021-10-17
A = rand(5) ;
P = A > 0.5
P = 5×5 logical array
1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by