Creating Loop using while

function [r] = func(~)
r = 10000;
m = 3;
while (m ~=0);
r = (10^(-m)*r);
m = m - 1;
end
I keep getting an error stating that m is undefined and not sure why

Answers (1)

I have no trouble saving the M-file func.m in a folder on the MATLAB path, then executing
>> r = func
which returns 0.01
You don't need the ~ by the way
function r = func
r = 10000;
m = 3;
while (m ~=0);
r = (10^(-m)*r);
m = m - 1;
end
How are you trying to call the function?

3 Comments

I think i got something but i dont think this is the answer
function[m] = func(~)
r = 10000;
m = 1;
while m ~= 1
r = (10^(-m)*r);
m = m - 1;
end
The answer im getting is 1
That can't be what the above returns, the above returns 10000. In the code above you have m=1, then you have while m~=1 so the while loop never executes and the answer is simply what you have declared r to be which is 10^4.
I dont know now its not running. Is there something i need to add

This question is closed.

Tags

Asked:

on 30 Sep 2013

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!