Autor Tema: Funcion Casteljau en Matlab

0 Usuarios y 1 Visitante están viendo este tema.

20 Octubre, 2010, 07:38 pm
Leído 1790 veces

PoOosye

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
Necesito ayuda para poder hacer este ejercicio porque no tengo mucha idea de programar en Matlab...alguien me podria ayudar? El enunciado del problema es el siguiente:

Escribir el código de una función en Matlab casteljau (M,t) donde M es una matriz cuyas filas son las coordenadas de los puntos de control y t es el valor del intervalo en el que se evalúa el algoritmo. El resultado de la función debe ser el punto c(t).

La función debe ser válida para cualquier dimensión y cualquier grado.

He visto que hay un post que ya hicieron esta función pero no me funciona. Un saludo y gracias por ayudarme

21 Octubre, 2010, 08:14 am
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,907
  • País: es
  • Karma: +0/-0
Hola

 Efectivamente esta cuestión ya se planteó en el foro y se respondió aquí:

http://rinconmatematico.com/foros/index.php/topic,8670.0.html

 Tanto a mi como a laura el programa nos funcionaba; otro participante tuvo ciertos problemas al intentar copiarlo:

http://rinconmatematico.com/foros/index.php/topic,26656.0.html

 que al final fueron resueltos.

 Lee esos dos hilos, asegúrate de que copias bien el programa, entiéndelo y luego si sigue sin funcionar vuelve a preguntar. Mejor en el primer hilo dónde el programa está detallado. Indica exactamente en que medida no funciona (da error, no devuelve el resultado correcto,...).

Saludos.

21 Octubre, 2010, 09:45 am
Respuesta #2

PoOosye

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
lo que pasa esque ahora como se que el programa esta bien hecho?no tiene un ejecutable?porque es solo texto!perdona pero esque no se muy bien como va este programa y esto de programar nunca lo he entendido xd..se me da fatal. Pero gracias por tu ayuda

21 Octubre, 2010, 09:52 am
Respuesta #3

PoOosye

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
en concreto esto es lo que me sale cuando escribo la funcion :

function y=castel(p,n,t)
c=zeros(n+1,n+1,2);
for i=1:n
    c(1,i,:)=(1-t)*p(i,:)+t*p(i+1,:);
end   
for r=2:n
    for i=1:n+1-r
        c(r,i,:)=(1-t)*c(r-1,i,:)+t*c(r-1,i+1,:)
    end
end   
y(1)=c(n,1,1);
y(2)=c(n,1,2);
??? function y=castel(p,n,t)
    |
Error: Function definitions are not permitted at the prompt or in scripts.

21 Octubre, 2010, 10:00 am
Respuesta #4

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,907
  • País: es
  • Karma: +0/-0
Hola

 Yo hay cosas que no comprendo; ¿cómo vamos a pretender saber programar un método numérico en Matlab sino sabemos programar en Matlab?. No sólo eso, si ni tan siquiera sabemos introducir un programa en Matlab.

 La crítica no es porque no sepas: nadie nace sabiendo y es bueno preguntar. Pero entonces antes de preocuparte por hacer tal o cual programa, debes de preocuparte (leyendo y preguntando) sobre como se usa el Matlab. Como le gusta decir al ilustre Phidias, "no se pueden quemar etapas".

 Para introducir el programa necesitas abrir un archivo de nombre castel.m y grabarlo. El propio matlab tiene un editor que te permite hacerlo.

Saludos.

P.D. Un libro para aprender Matlab:

http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf