Matlab - Ayuda con Matlab

   
Vista:
Imágen de perfil de Optymuz

Ayuda con Matlab

Publicado por Optymuz (4 intervenciones) el 18/02/2015 20:35:13
Saludos, tengo un planteamiento sobre como hacer un programa en matlab que me calcule una variable al darle las otras,
La ecuacion es esta:

C=c*(1+r)^n

Debo hacer que al introducirle c, r, y n me calcule C, y que al darle C,n y r , me calcule c, y asi, se que existe el comando solver pero no se como usarlo
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

Ayuda con Matlab

Publicado por Alberto (7 intervenciones) el 19/02/2015 10:22:00
No se si es lo que quieres, pero lo que yo haría sería hacer un script y poner:

function [C]=calcularvariable(c,r,n)
%con esto, para llamar a la funcion has de poner calcularvariable(c,r,n), substituyendo las variables c,r,n por los valores que deseas.
C=c*(1+r)^n
end
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
Imágen de perfil de Daniel

Ayuda con Matlab

Publicado por Daniel (212 intervenciones) el 19/02/2015 22:40:18
Es una pregunta que es común que la gente se haga y pocas veces la vi resuelta así que me puse un rato con tu problema y finalmente salió.

Te dejo el código...

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
syms C c r n
clear nC nc nr nn
nC=input('ingrese C (deje vacio la variable desconocida): ');
nc=input('ingrese c (deje vacio la variable desconocida): ');
nr=input('ingrese r (deje vacio la variable desconocida): ');
nn=input('ingrese n (deje vacio la variable desconocida): ');
 
if isempty(nC)
p=solve(C-c*(1+r)^n ,C);
disp(['C = ' char(p)])
disp('su valor para los datos ingresados es : ')
subs(p,[c r n],[nc,nr,nn])
end
 
if isempty(nc)
p=solve(C-c*(1+r)^n ,c);
disp(['c = ' char(p)])
disp('su valor para los datos ingresados es : ')
subs(p,[C r n],[nC,nr,nn])
end
 
if isempty(nr)
p=solve(C-c*(1+r)^n ,r);
disp(['r = ' char(p)])
disp('su valor para los datos ingresados es : ')
subs(p,[C c n],[nC,nc,nn])
end
 
if isempty(nn)
p=solve(C-c*(1+r)^n ,n);
disp(['n = ' char(p)])
disp('su valor para los datos ingresados es : ')
disp(subs(p,[C c r],[nC,nc,nr]))
end

Probalo y decime después como fue

Saludos

Daniel
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
Imágen de perfil de Optymuz

Ayuda con Matlab

Publicado por Optymuz (4 intervenciones) el 22/02/2015 18:48:45
Salvdos, avn no lo he probado no he podido no he tenido tiempo en lo que pueda lo hare , y un millon de gracias de antemano brother
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
Imágen de perfil de Optymuz

Ayuda con Matlab

Publicado por Optymuz (4 intervenciones) el 26/02/2015 19:22:50
Saludos,
ya lo he probado en Matlab y va bien, solo que ahora tengo el problema que me da el resultado en un racional , pero lo he comprobado y va muy bien , muchísimas gracias brother
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Ayuda con Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 03/03/2015 23:02:35
1
2
3
4
5
6
7
8
9
>> clear all
syms C c r n
C=input('ingrese la variable  C o su valor numerico: ');
c=input('ingrese la variable  c o su valor numerico: ');
r=input('ingrese la variable  r o su valor numerico: ');
n=input('ingrese la variable  n o su valor numerico: ');
E=C-c*(1+r)^n
p=solve(C-c*(1+r)^n )
fprintf(' la solucion es %6.4f\n',double(p))


1
2
3
4
5
6
7
8
9
10
11
12
13
14
Ejecución
>> Untitled3
ingrese la variable  C o su valor numerico: 8
ingrese la variable  c o su valor numerico: 3
ingrese la variable  r o su valor numerico: 5
ingrese la variable  n o su valor numerico: n
 
E =
8 - 3*6^n
 
p =
-log(3/8)/log(6)
 
 la solucion es 0.5474


Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com



http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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