Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
Suggestion on what im doing wrong.
조회 수: 1 (최근 30일)
이전 댓글 표시
I need to write a code that exclude the 2 smallest elements
clear all;clc
A=[8 1 -2 9 5 11 6]; %Should print A=[8 9 5 11 6]
B=[];
C=[];
for i=1:length(A)
if A(i)==min(A)
else
B=[B A(i)];
if A(i)==min(A)
else
C=[C A(i)];
end
end
end
C
This is a homework question and I am not looking for someone to do the work for me. I just need to know what I'm doing wrong.
So I just came up with this and I'm testing multiple numbers. Does it make sense and is there a way to simplify it?
clear all;clc
A=[8 1 -2 9 5 6];
B=[];
C=[];
for i=1:length(A)
if A(i)==min(A)
else
B=[B A(i)];
end
end
for i=1:length(B)
if B(i)==min(B)
else
C=[C B(i)];
end
end
C
So far it seems to work but I would appreciate any constructive input.
댓글 수: 2
Walter Roberson
2020년 10월 22일
What is the expected result if the vector contains duplicate values that are equal to the minimum? What is the expected result if the vector contains duplicate values that are equal to the second-smallest original value?
Can we assume that the values are non NaN (Not A Number)?
답변 (1개)
Sudhakar Shinde
2020년 10월 22일
The 'min' function and for loop will help:
A=[8 1 -2 9 5 11 6];
n=2; % Exclude 2 smallest elements
for i=1:n
[num,id]=min(A);
A(id)='';
end
disp(A)
댓글 수: 3
이 질문은 마감되었습니다.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!