- if ea eps | i= maxit : this is not Matlab syntax, there's no comparison of the values
- Your function doesn't terminate with an end block
- You are using , instead of ; to terminate lines
can you solve this problem
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I solved this problem but the file didn't run, the codes in the editor are:
function [s,ea,i]=SqRoot(a,eps,maxit)
i = 0;
s = a/2;
ea = 100;
while(1)
sold = s;
s= (s+a/s)/2;
i = i+1;
if s ~= 0, ea=abs((s - sold)/s)*100; end
if ea <= eps | i>= maxit, break, end
end
5 commentaires
Walter Roberson
le 27 Jan 2016
a_arg = rand();
eps_arg = randn() / 10^8;
maxit_arg = randi([10,500]);
[s_ans, ea_ans, i_ans] = Student(a_arg, eps_arg, maxit_arg)
Réponses (1)
Star Strider
le 26 Jan 2016
Your code runs for me, and produces the correct result:
a = 50; % Argument
maxit = 100; % Argument
i = 0;
s = a/2;
ea = 100;
while(1)
sold = s;
s= (s+a/s)/2;
i = i+1;
if s ~= 0, ea=abs((s - sold)/s)*100; end
if ea <= eps || i>= maxit, break, end
end
What problems are you having with it?
0 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!