how to write a loop that finds the best fit value for each given input pair and plot all the resulted points?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Anitha Limann
el 14 de Oct. de 2021
Comentada: Mathieu NOE
el 28 de Oct. de 2021
Hello,
I have t and vl observed data that i plotted first and then find the theoritical points and plot them in the same graph.
To construct the model to find the theoritical values i have to write a code according to following steps.
- select a starting pair for t1 and vl1. (in this case t=10 and vl = 3.61).
- Calculate A
- Calculate B
- Calculate A-B
- Test abs(A-B); if abs(A-B) < 0.001 stop, then go to 8. if not go to 6
- increment vl=vl+0.005
- goto 2.
- increment t=t+5
- goto 1
- finally plot each pair for A=B (approximately, within given tolerance)
Below is the draft loop I wrote but i am not sure how to actually make it work. Please help me.
for T=10; % tmax = 90;
for VL=3.61
A = atan((vs2.^2).*D2.*(sqrt(1-(VL.^2/vs2.^2)))./(vs1.^2.)*D1.*(sqrt(1-(VL.^2/vs1.^2))));
B = (((2.*pi.*z)./(VL.*T)).*(sqrt((VL.^2/vs1.^2)-1)));
while abs(A-B)<0.001
T=T+5;
A=A
B=B
break
end
while abs(A-B)>=0.001
VL=VL+0.005;
A=A
B=B
end
end
end
6 comentarios
Respuesta aceptada
Mathieu NOE
el 15 de Oct. de 2021
hello Anitha
so yes there was a small bug in your equations
when you do the computation of A, you fliiped the terms
(vs1.^2.)*d1.*(sqrt(1-(VL.^2/vs1.^2)))
must be replaced by
(vs1^2)*d1*(sqrt((vl^2/vs1^2)-1))
that's the reason I got A complex numbers and not reals numbers because the ter under the square root was negative
I am still working on the code ....
6 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!