• Lunes 29 de Abril de 2024, 12:03

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - jkmilo933

Páginas: [1]
1
Visual C++ / Re: libreria cientifica Microsoft Visual Studio 2005
« en: Sábado 23 de Abril de 2011, 18:04 »
muchas gracias por tu ayuda... voy a tener muy encuenta tus consejos

2
Visual C++ / Re: libreria cientifica Microsoft Visual Studio 2005
« en: Viernes 22 de Abril de 2011, 17:35 »
La solucion que tu me das necesariamente tiene que tener Wolfram Research Mathematica instaldo? Si no es asi pues si me sirve porque uno de los requerimientos de la aplicacion es que sea como un Plug and Play.
Los calculos matematicos ya estan hechos, es decir que el algoritmo ya esta en Matlab. Mi trabajo es pasar todo ese algoritmo a c++ he integralo con OGRE. Voy a presentar el codigo donde tengo problemas.

MGI=MGI_HIBOU(px,py,pz,R,P,W,X1i,X2i,X3i,X4i,X5i)

global  R4 D3 D6 tx ty tz x y z
%*********************************
% MODELO GEOMETRICO INVERSO
syms x y z xt yt zt sx sy sz nx ny nz ax ay az tx ty tz real

%%%*******CALCULO DEL MGI*******%%%%
 sx=(cos(W)*cos(P));  nx=((cos(W)*sin(P)*sin(R))-(sin(W)*cos(R)));  ax=((cos(W)*sin(P)*cos(R))+(sin(W)*sin(R)));
 sy=(sin(W)*cos(P));  ny=((sin(W)*sin(P)*sin(R))+(cos(W)*cos(R)));  ay=((sin(W)*sin(P)*cos(R))-(cos(W)*sin(R)));
 sz=(-sin(P));        nz=(cos(P)*sin(R));                           az=(cos(P)*cos(R));
 %****** t1,t2,t3,t4 y t5***********
%********solucion numerica*********
%******** Distancias entre ejes*****
D3=0.3;
R4=0.4;
D6=0.3;

%******* Ubicacion del trocar*******
tx=0.4;
ty=0;
tz=0.23;

%----------------------------------------
x=px;
y=py;
z=pz;

% Método numérico Levenberg Marquardt
    options = optimset('NonlEqnAlgorithm','lm','FunValCheck','on','TolFun',1e-15);  

    optnew = optimset(options,'TolX',1e-100,'MaxFunEvals',30000);
   
    [u,Fx] = fsolve(@f_solveDOS,[X1i X2i X3i X4i X5i],optnew);       % Obtención de r1,t2,t3 con el menor error
Fx;

 t1=u(1);
 t2=u(2);
 t3=u(3);
 t4=u(4);
 t5=u(5);

Como pueden en la primeras lineas hay funciones que se pueden resolver con un simple math.h el problema viene en esta linea
 
[u,Fx] = fsolve(@f_solveDOS,[X1i X2i X3i X4i X5i],optnew);

Esta linea resuelve la ecuacion no lineal f_solveDOS con los valores iniciales [X1i X2i X3i X4i X5i] con unas opciones ya configuradas en optnew. Lo que me gustaria saber es si Wolfram Research Mathematica hace eso o que otras soluciones podria encontrar para el lengauje de programacion en c++. GRaCIAS

3
Visual C++ / libreria cientifica Microsoft Visual Studio 2005
« en: Viernes 15 de Abril de 2011, 07:43 »
Hola a todos

Soy estudiante de ingenieria en automatica industrial de la Universidad del Cauca - Colombia y como trabajo de grado estoy desarrollando un software para simular un robot porta endoscopio para cirugia laparoscopica.

Utilice el motor grafico Ogre3D para crear el ambiente tridimensional pero nesecito una libreria cientifica que me permita el manejo y operacion de vectores, a demas de una funcion que solucione ecuaciones, en otras palabras que optimice. He encontrado una que se llama GSL (GNU Scientific Library), pero genera problemas a la hora de utilizar el solucionador de ecuaciones o fsolver.

Si alguien tiene alguna herramienta que sirva para solucionar ecuaciones con multiples variables le pide el favor que me ayude.

Mi mail es jkmilo933@gmail.com

Muchas gracias.

Páginas: [1]