Matlab - Almacenar en un vector

 
Vista:

Almacenar en un vector

Publicado por suichi (12 intervenciones) el 24/11/2009 23:58:18
Hola, necesito crear un vector que me almacene los datos generados. Tengo una secuencia, le aplico una funcion (que me genera varios valores), pero no se como almacenarlos en un vector para que los imprima al final. Los datos generados vienen de un ciclo if.

secuencia

1
2
3
4
5
6
function[ ]=nombre
codigo
if
else
%%%%%LOS DATOS DE AQUI SE DEBEN ALMACENAR EN UN VECTOR%%%%
end

Espero que me puedan ayudar.
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

RE:Almacenar en un vector

Publicado por lucera (119 intervenciones) el 25/11/2009 12:59:41
puedes probar a alamcenarlos de la siguiente manera:

1
vertor=[ ]; %creamos un vector vacio y lo aciamos cada vez para que no de problemas.........
luego cada solucion la puedes almacenar de la siguiente manera

1
vertor(end+1)=solucion; %de esta manera cada solucion que vayas generando se te almacenara en la ultima posicion del vector

espero que te sirva de ayuda

saludos
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 17 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

RE:Almacenar en un vector

Publicado por alfredo (2 intervenciones) el 25/12/2020 06:45:01
hola amigo, intente hacerlo como dijiste pero solamente me guarda el primer resultado, no los ultimos, de antemano, felices fiestas!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function newton %en este programa se insertaran los multiplos de TF/10 para funcionar.
  %CONSTANTES:
  v=[];
  a=pi*(1/31);
  c=0.59;
  g=384;
  R=2388;
  h=R;
  %FORMULAS:
  A=(a*c*sqrt(2*g))/pi;
  Tf=((14/(15*A))*R^(5/2))/10;
  T=0
 while T<Tf
T=T+1;
  f(h)=(4/3)*R*h^(3/2)-(2/5)*h^(5/2)-(14/15)*R^(5/2)+A*T';
  df(h)=(8/9)*R*h^(1/2)-(4/25)*4*h^(3/2);
  y=h-f(h)/df(h);
  v(end+1)=y
endwhile
  endfunction
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

RE:Almacenar en un vector

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 30/12/2020 21:06:58
1
2
f=(4/3)*R*h^(3/2)-(2/5)*h^(5/2)-(14/15)*R^(5/2)+A*T';
  df=(8/9)*R*h^(1/2)-(4/25)*4*h^(3/2);

Como R, h , A y T no cambian de valor entonces f y df siempre van a ser fijo por lo tanto y siempre va a ser fijo y por lo tanto los elementos del v siempre va ser fijo y no cambiar.
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

RE:Almacenar en un vector

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 31/12/2020 18:09:22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function newton %en este programa se insertaran los multiplos de TF/10 para funcionar.
  %CONSTANTES:
  v=[];
  a=pi*(1/31);
  c=0.59;
  g=384;
  R=2388;
  h=R;
  %FORMULAS:
  A=(a*c*sqrt(2*g))/pi;
  Tf=((14/(15*A))*R^(5/2))/10;
 
  T=0;
 while T<30%Tf
T=T+1;
  f=(4/3)*R*h^(3/2)-(2/5)*h^(5/2)-(14/15)*R^(5/2)+A*T';
  df=(8/9)*R*h^(1/2)-(4/25)*4*h^(3/2);
  y=h-f/df;
  v(end+1)=y;
  fprintf('%50.45f\n',v(T))
 end
end

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
>> newton
2387.999981840079726680414751172065734863281250000
2387.999963680159453360829502344131469726562500000
2387.999945520239634788595139980316162109375000000
2387.999927360319361469009891152381896972656250000
2387.999909200399088149424642324447631835937500000
2387.999891040478814829839393496513366699218750000
2387.999872880558541510254144668579101562500000000
2387.999854720638722938019782304763793945312500000
2387.999836560718449618434533476829528808593750000
2387.999818400798176298849284648895263671875000000
2387.999800240877902979264035820960998535156250000
2387.999782080958084407029673457145690917968750000
2387.999763921037811087444424629211425781250000000
2387.999745761117537767859175801277160644531250000
2387.999727601197264448273926973342895507812500000
2387.999709441276991128688678145408630371093750000
2387.999691281357172556454315781593322753906250000
2387.999673121436899236869066953659057617187500000
2387.999654961516625917283818125724792480468750000
2387.999636801596352597698569297790527343750000000
2387.999618641676079278113320469856262207031250000
2387.999600481756260705878958106040954589843750000
2387.999582321835987386293709278106689453125000000
2387.999564161915714066708460450172424316406250000
2387.999546001995440747123211622238159179687500000
2387.999527842075167427537962794303894042968750000
2387.999509682155348855303600430488586425781250000
2387.999491522235075535718351602554321289062500000
2387.999473362314802216133102774620056152343750000
2387.999455202394528896547853946685791015625000000


Saludos
JOSE JEREMIAS CABALLERO
Servicios de programación matlab
Servicio de Asesoría Online en proyectos con Matlab
Asesorías online en Métodos Numéricos con Matlab, Octave, Scilab y Excel.
[email protected]


https://programacioncaballero.blogspot.com
https://www.facebook.com/programacioncaballero
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