How to run a function for each rows and columns?
Afficher commentaires plus anciens
I have a function called distance, where the values of x0 and y0 are taken from data,
data = 150*(4*rand(2,100)-1); data = data.*rand(2,100);
where, x0 is the value of first row & y0 is the value of second row, now my concern, how to run the function to each values of x0 and y0 in data and store them in list_d
below are the A, B, C parameters,
A=0.0022;B=0.0061;c=0.4229;
Thanks in advance
function list_d = distance(x0,y0,A,B,C)
P=[x0; y0 ];
Q =-C+P(2);
n1 = 2*A^2;
n2= 3*A*B;
n3=(B^2-2*A*Q+1);
n4=-B*Q-P(1);
N = [n1 n2 n3 n4];
xT=roots(N);
list_d=[]; %list of distance
d_min = Inf;
for i =1:size(xT,1)
if isreal(xT(i)) %Test each xT
T=[xT(i); A.*xT(i)^2+B.*xT(i)+C];
d =norm(P-T);
list_d = [list_d d];
if (d < d_min)
d_min=d;
end
end
end
7 commentaires
Jan
le 5 Août 2018
What is the problem with the shown code?
vigneshwaran Loganathan
le 5 Août 2018
Modifié(e) : dpb
le 5 Août 2018
dpb
le 5 Août 2018
So why can't you put another loop around this function passing the needed inputs?
Jan
le 5 Août 2018
I don't get it: What is the problem you want to solve?
vigneshwaran Loganathan
le 5 Août 2018
Modifié(e) : vigneshwaran Loganathan
le 5 Août 2018
dpb
le 5 Août 2018
Well, there's no cell in sight so why use it?
Again, what's the problem in just putting your function in a loop and pass the necessary vectors to it?
vigneshwaran Loganathan
le 5 Août 2018
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!