- m=m/x is unlikely to be useful.
- the for loop as you have written it is superfluous and can be replaced with x=2;
- you need to think about the while loop condition (e.g. consider what happens if m is any prime number), or use a for loop.
While loop into vector
조회 수: 12 (최근 30일)
이전 댓글 표시
I'm trying to make this function output into a vector on every loop so it stores the variable numbers into the vector but i'm struggling to do so.
function f = primefactors(m)
p=[]
for x = 2;
while m > 1
if mod (m,x) == 0
m=m/x
fprintf('The Prime factors are: %d\n', x)
else
x = x+1;
fprintf(' ')
end
end
end
댓글 수: 1
Stephen23
2020년 4월 11일
Storing the output is easy, just use indexing to store the values in the output variable, e.g.:
function p = ...
p = []
...
p(end+1) = x;
...
Note that
채택된 답변
madhan ravi
2020년 4월 11일
Example for storing values in a loop:
N = 10;
X = zeros(1,N);
k = 1;
while k <= N
X(k) = k;
k = k + 1;
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!