Matlab - AYUDA con un problema de Matlab

   
Vista:

AYUDA con un problema de Matlab

Publicado por ordel kokolox@hotmail.com (2 intervenciones) el 28/04/2015 18:50:05
Hola!
Tengo que realizar un programa en Matlab y no consigo obtener ningun resultado.
El problema consiste en teniendo una función compleja función de 3 variables (a,b,c):
1. Separar parte real de parte imaginaria
2. Hacer un primer bucle en el que se varía el valor de a de 1 a 40
3. Dentro de ese bucle se hace otro bucle en el que se varía el valor de b de 1 a 50
4. Dentro de ese bucle, teniendo los valores de a y b se iguala la parte real que se ha obtenido previamente a 0 y se depeja c.
5. Se sustituyen los valores de a, b y c que se han obtenido en la parte imaginaria y se guarda este valor en una variable d.
6. Si este valor es diferente de 0, se vuelve al principio del bucle y se realiza el calculo con el siguiente valor de b. Si es igual a 0, se guardan los valores de b y c correspondientes a este iteracion en unos vectores B y C.

Si teneis alguna duda, no dudeis en poneros en contacto conmigo.
Muchas gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jesús David Royeth

AYUDA con un problema de Matlab

Publicado por Jesús David Royeth jesus.royeth@gmail.com (760 intervenciones) el 29/04/2015 01:15:38
tengo 3 dudas :

Dónde está la función ?

el código que has intentado?

los inconvenientes que se te han presentado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

AYUDA con un problema de Matlab

Publicado por ordel (2 intervenciones) el 29/04/2015 07:14:59
La función puede ser cualquier función que tenga las 3 variables tanto en la parte real como en la parte imaginaria.
En este caso he utilizado una función sencilla para probar si funciona el programa o no.
El código que he realizado es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
clear all
close all
 
s=input(Introducir s (1-40): ');
n=input('Introducir n (1-100): ');
af=zeros(1,s);
bf=zeros(s,n);
cf=zeros(s,n);
B=zeros(1,s); 
C=zeros(1,s);
 
syms a b c;
F=6*a^3-10*b^2+c+i*(2*a+b+c);
Re=real(F)      %Parte real
Im=imag(F)      %Parte imaginaria
 
for i=1:s
    af(i)=i;
    a=af(i);
    for j=1:n
        bf(i,j)=j;
        b=bf(i,j);
        PRe(i,j)=subs(Re);  		%Sustituye los valores numericos en la ecuacion de la parte real
        cf(i,j)=solve(PRe,c);
        c=cf(i,j);
        PImag(i,j)=subs(Im);        %Sustituye los valores numericos en la ecuacion de la parte imaginaria 
        if PImag(i,j)==0
            B(1,i)=bf(i,j);
            C(1,i)=cf(i,j);
            break;
        else
           bf(i,j)=bf(i,j);
        end
        j=j+1;
    end
    i=i+1;
end
 
disp('B es: ' )
B


El error que me da Matlab se da en la linea de cf(i,j)=solve(PRe,c);

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar