Matlab - AYUDA con un problema de Matlab

 
Vista:

AYUDA con un problema de Matlab

Publicado por ordel (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
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

AYUDA con un problema de Matlab

Publicado por Jesús David Royeth (1818 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