Matlab - ¡Urgente !otros ejercicios más

   
Vista:

¡Urgente !otros ejercicios más

Publicado por Handy girl (8 intervenciones) el 19/04/2008 01:04:55
Adjunto envio otros ejercicios que espero en la medida que puedan me los expliquen y contesten. Quiero aprender pero se me está haciendo bien difícil hacer los ejercicios.

Por favor si me pueden los siguientes ejercicios que no entiendo nada.
1.Crea una columna de vectores cuando el primer elemento es 31, the elements decrease with increments of -4, and the last elements is -9. (A column vector can be created by transpose of a row vector).
2. Create the matrix shown by using the vector notation for creating vectors with constant spacing when entering the rows (i.e.,do not type individuals elements)
A
0 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000
3.0000 9.1667 15.3333 21.5000 27.6667 33.8333 40.0000
28.0000 27.7500 27.5000 27.2500 27.0000 26.7500 26.5000
6.0000 5.0000 4.0000 3.0000 2.0000 1.0000
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:¡Urgente !otros ejercicios más

Publicado por Kike (304 intervenciones) el 19/04/2008 03:48:17
Para el primero:
Lo único que hay que definir es el paso del vector, en este caso es de -4.
columna = [ 31:-4:-9 ]'

Para el segundo puedo usar linspace, ya que conozco el inicio y fin de cada vector fila, y cuántos elementos tiene cada vector, pero es difícil determinar el paso:
A = [0:6;...
linspace(3,40,7);... %inicia en 3, finaliza en 40, son 7 elementos
linspace(28,26.5,7);...
6:-1:0]

Nota que cambié la fila 1 y la fila 4 porque tenían 6 elementos, mientras que las filas 2 y 3 tenían 7 elementos. Para concatenar vectores es necesario que todos tengan la misma longitud.
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

RE:¡Urgente !otros ejercicios más

Publicado por Handygirl (8 intervenciones) el 19/04/2008 04:31:33
¡Hola! Que alegría recibir este mensaje.Muchas Gracias
Tengo duda en el ejercicio 2 ya que creo no coloqué bien los números dados. Te los escribo de nuevo.


A=
0 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000
3.0000 9.1667 15.3333 21.5000 27.6667 33.8333 40.0000
28.0000 27.7500 27.5000 27.2500 27.0000 26.7500 26.5000
6.0000 5.0000 4.0000 3.0000 2.0000 1.0000 0

Espero me lo contestes y expliques. Un millón de gracias.

Otros ejercicios:

The Gateway Arch in St. Louis is shaped according to the equation:
y=693.8-68.8cosh(x/99.7)ft *( X dividido entre 99.7)
Make a plot of the Arch for -299.25<ó igual x<menor o igual 299.95 ft.

Perdona que el menor o igual lo escriba así,pero no encontré el símbolo de menor o igual.

Espero me conteste lo más rápido que puedas ya que los necesito urgentemente.
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

RE:¡Urgente !otros ejercicios más

Publicado por Kike (304 intervenciones) el 19/04/2008 06:17:47
El menor o igual se escribe "<=". Pero no lo necesito, ya que eso sólo indica que los valores -299.25 y 299.95 están incluidos dentro del vector x.

>> x=-299.25:299.95;
>> y=693.8-68.8*cosh(x/99.7);
>> plot(x,y) % hago la gráfica
>> grid % cuadrícula
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

Aún más ejercicios

Publicado por handygirl (8 intervenciones) el 19/04/2008 14:43:42
A la verdad que eres un éxito. Gracias.
Te envio otros ejercicios más por si puedes.

A vector is given by: x= ( 15 85 72 59 100 80 44 60 91 38). Using conditional statement and loops write a programa that determines the average of the elements of the vector that are larger than 59.



Define k as scalar k=0.8 and x as the vector x=-3,-2.8,-2.6,...2.6,2.8,3. Then use these variables to calculate y by: y= 8a al cuadrado dividido por x al cuadrado más 4 a al cuadrado. Plot y versus x.

Perdona pero no sé todavía como se escriben los cuadrados en esta computadora que me prestaron.
Si no entiendes algo me escribes a mi correo que te contesto rapidito. Si puedes enviame tu cooreo para escribirte y que me ayudes desde nuestros e-mail.
Muuuchas 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

RE:Aún más ejercicios

Publicado por batman (15 intervenciones) el 21/04/2008 12:38:26
Hola Handy-girl

He visto tu problema:

En el primer problema creo que necesitas un programa para calcular la media aritmetica de el valor 59 en la matriz de numeros que te dan: [15,85,72,59,100,80,44,60,91,38].

Digamos que necesitas calcular el valor promedio de la matriz de numeros mayores que 59: [85,72,100,80,60,91]; sumar todos los numero y dividirlo por el númmero de elementos: REsulstado: 488/6=81,333

Te mando el codigo:

function sol=average59(matriz,n)
% matriz es la matriz iniicial: matriz=[15,85,72,59,100,80,44,60,91,38].
% y n el numero al que le quieres hayar la media: n=59 (en tu caso)

longitud=length(matriz);
% length es una función que hay en matlab que te dice el numero de
% elementos que tiene un array.
j=1;

% A continuación recorro la matriz y guardo en otra matriz auxiliar
% "mataux" los valores mayores de 59

for i=1:longitud
if matriz(i)>n
mataux(j)=matriz(i);
j=j+1;
end
end

% Suma lo inicializo a 0 porque es un acumulador, para sumar los valores de
% la matriz "mataux", eso lo hagodentro del bucle for

suma=0;
longitud=length(mataux);

for p=1:longitud
suma=mataux(p)+suma;
end
% por ultimo calculo el resultado final. La suma dividida por el número de
% elementos de la matriz.

sol=suma/longitud;

%----------------------------------------------------------------------------------------------------------

Te mando la función con los comentarios, espero que te sirva, creo que es lo que necesitabas, sino respondeme y me explicas de nuevo lo que necesitas y te lo intentare solucionar, ok?

Abre el editor copia el codigo y guardalo con el nombre "average59"

Despues desde el command windows llama a la función average59(Matriz con los numero,el numero sobre el que quieres calcular la media)

>>average59([15,85,72,59,100,80,44,60,91,38].,59)
NOTA: si no pones 59 y pones otro numero te calcula con respecto al otro numero, ok?

ESpero que te sea util.

El segundo ejercicio es que no lo entiendo no se lo que quieres que haga explicamelo otra vez y te lo intento solucionar.
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

RE:Aún más ejercicios

Publicado por handygirl (8 intervenciones) el 21/04/2008 22:36:07
Mil gracias por tu ayuda.
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

RE:Aún más ejercicios

Publicado por Batman (15 intervenciones) el 22/04/2008 20:23:07
Hola Handy
Te mando la respuesta al segundo ejercicio, espero que te sea de ayuda y que te llegue a tiempo:

%************CODIGO DEL PROGRAMA----INICIO*********

function y=exercise2(x)

% A la funcion exercise2 le paso: x, que es un array de numeros: %x=[-3,-2.8-2.6,...,2.6,2.8,3.]
% NOTA:
% No entiendo muy bien que función has de aplicar, si la función f:
% f=((8^2)/(X^2))+(4^2) Yo creo que es esta.
% Sino podrría ser: f=(8^2)/(X^2+4^2)
% elige la función que te pida tu profesor, y ponla en la linea 32.
% La función, exercise2, devuelve como resultado un vector y con el
% resultado de haber aplicado cada valor del array x sobre la función f:
% y=[23.1,.......23.1]

% NOTA: El cuadrado (8 al cuadrado) se escribe en Matlab: 8^2. ok?

% La función a aplicar la considero como una constante

%Almaceno en una variable "longitud" la longitud del array x:
%x=[-3,-2.8-2.6,...,2.6,2.8,3.],

longitud=length(x);

% uso la función predefinida por matlab length, que te da la longitud de un
% array.

% Podrías controlar que el vector x no sea vacio, que tenga elementos: Pero
% si eso es demasiado, copia el codigo que hay a partir del else.

if longitud == 0
disp('The Matrix of datas is empty, please introduce Matrix with Datas');
else
for i=1:longitud
y(i)=((8^2)/(x(i)^2))+(4^2); % Esta es la función:f=((8^2)/(X^2))+(4^2)
% sino aplica esta otra: y(i)=((8^2)/((x(i)^2))+(4^2)), que es la
% otra interpretación de la función.
end
end
% Esto ya funciona. Pero si quieres mostrar los resultados por pantalla:
longitud=length(y);
for i=1:longitud
disp(y(i));
end

% NOTA: Intenta conseguir una versión de Matlab para probar los ejercicios
% y que realmente funcionan.

% NOTA: Las lineas que empiezan por "%", son comentarios, las puedes quitar
% , las que no te interesen sin problemas.

%*******************FIN DEL CODIGO**********************

Un saludo Batman
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

Mil Gracias

Publicado por handygirl (8 intervenciones) el 23/04/2008 01:20:28
Batman: Mil gracias por los ejercicios que me enviastes, los recibí completo.
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

Mensajes recibidos

Publicado por handygirl (8 intervenciones) el 23/04/2008 01:23:42
Mil gracias por los ejercicios que me contestastes. Me funcionaron. Mil 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