- 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!