While loop into vector
显示 更早的评论
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
- 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.
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 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!