Store prime and non-prime numbers in two diferent vectors from a .txt

조회 수: 1 (최근 30일)
ABG
ABG 2022년 9월 29일
댓글: ABG 2022년 9월 30일
Hi guys!
I am really new at programming with matlab, and I am stuck with one problem.
I need to read a bunch of numbers from a .txt file, determine whether this numbers are prime or not and finally store them in two diferent files.
With the code attached, what happens is that all the values from the .txt are stored in the nonprime_num vector, and I don't know why (I have tried many ways but none of them have worked).
If you could help me with this, I would be really grateful! Thank you very much!
load('Natural_numbers.txt'); %loading the data
x=Natural_numbers;
x=x'; % i want the data in a row
i=2;
prime=1;
n=length(x);
prime_num=[];
nonprime_num=[];
while i<=sqrt(x)
if rem(x,i)==0
prime=0;
break
end
i=i+1;
end
if prime==1
nonprime_num=[x, i];
else
prime_num=[x, i] ;
end

채택된 답변

Eric Delgado
Eric Delgado 2022년 9월 29일
% x = load('Natural_numbers.txt');
x = [1, 11, 21, 23, 25, 27, 29, 30, 31, 44];
idx = isprime(x);
Prime = x(idx)
Prime = 1×4
11 23 29 31
nonPrime = x(~idx)
nonPrime = 1×6
1 21 25 27 30 44
% writematrix(Prime, "Prime.txt")
% writematrix(nonPrime, "nonPrime.txt")

추가 답변 (1개)

David Hill
David Hill 2022년 9월 29일
편집: David Hill 2022년 9월 29일
Attach Natural_numbers.txt is below does not work
m=readmatrix('Natural_numbers.txt');
idx=isprime(m);
nonprime_num=m(~idx);
prime_num=m(idx);

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by