"For" loop to test every value and count the points that satisfy the statement
Afficher commentaires plus anciens
I'm working on an assignment and I have to write a "for" loop code, here's the question:
Write a code to count the number of points for which the normalised residual is greater than 3 or less than -3 – To do this you should set up a ‘for’ loop, that tests every normalised residual (using an ‘if’ statement). To count the points you should create a scalar variable that increases by one, every time a suspiciously large normalised residual is found. You should write to the screen the element number, the value yi and the normalised residual for this element (Use the ‘sprintf’ statement to format the output).
I'm completely stuck on this one, and this is how far I've gotten, with absolutely no luck, any help would be really appreciated.
i=0
for(i=1:15)
if Rn>3 or Rn<-3,i=i+1
end
Here's the rest of my code:
clear
clc
close all
load Matlab2Data.mat;
plot(x,y);
figure;
errorbar(x,y,dy,'bo');
xy=mean(x.*y);
xx=mean(x);
yy=mean(y);
x2=mean(x.^2);
m=(xy-(xx.*yy))/(x2-(xx.^2))
c=yy-(m.*xx)
yexp=(m.*x+c);
hold on;
plot(x,yexp,'--b')
hold off;
legend('Data set 1', 'Line of best fit');
Rn=((y-yexp)./dy)
chi2=sum(((y-yexp).^2)./(dy.^2))
reduced=(chi2/15)
i=0
for(i=1:15)
if Rn>3 or Rn<-3,i=i+1
end
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!