Matlab - Error dimensiones de matriz

   
Vista:

Error dimensiones de matriz

Publicado por Maria (6 intervenciones) el 22/07/2009 09:46:47
Hola,

Estoy calculando un función definida a trozos en Matlab, para poder representarla. Pero al
calcular la función me da un error:

"Error using ==> mtimes

Inner matrix dimensions must agree."

Os adjunto la función y los valores que he asignado para ver si alguine me puede ayudar.

x=0:0.01:500;

hl=8; hr=3;
uu=0;
hh=5;
alfa=0.1;
t=5;
l1=3;
l2=2;

%Función

h2=(hl+alfa*x-alfa*t*uu)*((x/t)<l1)+((1/2)*(hl+hr)+alfa*x-alfa*t*uu)*(((x/t)>l1)&((x/t)<l2))+(hr+alfa*x-alfa*t*uu)*((x/t)>l2);

plot(x,h2);

Gracias

Saludos
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:Error dimensiones de matriz

Publicado por ramiro (54 intervenciones) el 23/07/2009 17:25:52
Hola, debes escribir un punto de separcaión entre las variables y el signo de la operación realizar, siempre que multipliques, eleves a una potencia o dividas variables en matlab. Por ejemplo si quisieras multiplicar las variables x, y deberías escribir x.*y, la división entre x , y x./y y x a la y , se escribiría como x.^y.
Si está bien escrita tu función seccionada, quedaríaa así:
>> h2=(hl+alfa*x-alfa*t*uu).*((x/t)<l1)+((1/2)*(hl+hr)+alfa*x-alfa*t*uu).*(((x/t)>l1)&((x/t)<l2))+(hr+alfa*x-alfa*t*uu).*((x/t)>l2);
Nota el puntito que separa los dos primeros paréntesis,...
Espero que te sirva
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:Error dimensiones de matriz

Publicado por fismat (391 intervenciones) el 23/07/2009 22:44:13
Hola

Te recomiendo que la función la evalues por partes, por que veo que hay condiciones logicas dentro de h2.

Saludos
Fismat
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:Error dimensiones de matriz

Publicado por Juan (1 intervención) el 25/05/2015 06:44:24
Te amo!!!!!! acabo de salvar el semestre (y mi pc) gracias a lo del "puntito que separa los dos parentesis" aunque no entiendo porque, si me pudieras explicar... :3
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:Error dimensiones de matriz

Publicado por tomas (1 intervención) el 16/06/2010 16:24:57
x es un vector, deves poner un punto delante del signo de * y de / para indicar que se pretendre operar con los elementos del vector i no con el vector en si.
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:Error dimensiones de matriz

Publicado por sergio (1 intervención) el 21/09/2011 03:14:23
q mas bn o q?¡¡

tengo un error parecido, agradezco si alguien me puede ayudar, estoy tratando de graficar

??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> senaless at 13
y = (y1*(t<2)) + (y2*(-2<t & t<=0))+ (y3*(0<t & t<=1)) + (y4*(4<t & t<=8))+ (y5*(8>t));
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

RE:Error dimensiones de matriz

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 21/09/2011 06:05:28
Hola Sergio.

Debes poner todo el programa completo.
porque no defines como son: y1, y2, y3, y4, y5.
Tu pregunta esta mal planteada.


saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.com
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:Error dimensiones de matriz

Publicado por saidsim (1 intervención) el 11/07/2012 03:06:18
disculpen yo tengo el mismo problema de
Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> jacobi at 11
X(j)=(b(j)-A(j,[1:j-1,j+1:N])*p([1:j-1,j+1:N]))/A(j,j);

ayudenme por favor
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:Error dimensiones de matriz

Publicado por fernando jfvc2001@hotmail.com (1 intervención) el 26/08/2012 06:55:42
se coloca un punto delante de * / ^ etc en general de cualquier operacion de vectores para indicar que se esta operando con cada elemento del vector y no con todo el vector ejemplo
este es codigo para el movimiento de un mecanismo biela manivela :

phi=asin((R/L)*sin(thetarad));

x=R*cos(thetarad)+L*cos(phi)-(R+L);

phi1=(R*theta1r/L)*(cos(thetarad)./cos(phi));

x1=-R*sin(thetarad)*theta1r-L*sin(phi).*phi1;

phi2=(-R*sin(thetarad)*theta1r^2+R*cos(thetarad)*theta2r+L*sin(phi).*phi1.^2)./(L*cos(phi));

x2=-R*cos(thetarad)*theta1r^2-R*sin(thetarad)*theta2r-L*cos(phi).*phi1.^2-L*sin(phi).*phi2;


fijense donde van los puntos ok espero te aya servido bye
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:Error dimensiones de matriz

Publicado por paty (1 intervención) el 09/07/2015 05:46:39
buenas noche tengo un error cuando le pongo esta funcion xq necesito ayuda


1
2
3
4
5
6
7
8
9
10
11
function [ sonidoN ] = normalizar( sonido )
%UNTITLED2 Summary of this function goes here
%   Detailed explanation goes here
maximo=max(abs(sonido));
n=length(sonido);
sonidoN=zeros(1,n);
    for i=1:n
    sonidoN(i)=sonido(i)/maximo;
    end
 
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

RE:Error dimensiones de matriz

Publicado por Marcos (2 intervenciones) el 07/07/2016 00:56:40
Por favor ayuda con este programa:

1
2
3
4
5
6
7
8
9
10
11
>> x=0:0.01:5;
To=besseli(0,x);
T1=besseli(1,x);
F=60;
W=2*3.14*F;
u=4*3.14*10^-7;
p=1.73*10^-8;
I=1;
K=[(-i*W*u)./(p)].^(1/2);
r=[0:0.01:25.40];
>> J=[(K*I*To).*(K*r)]/[(2*3.14).*(r*T1).*(K*r)];

??? Error using ==> times
Matrix dimensions must agree.
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

RE:Error dimensiones de matriz

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 12/07/2016 17:08:47
1
2
3
4
5
6
7
8
9
10
11
12
>> clear all
x=0:0.01:5;
To=besseli(0,x);
T1=besseli(1,x);
F=60;
W=2*3.14*F;
u=4*3.14*10^-7;
p=1.73*10^-8;
I=1;
K=((-i*W*u)./(p)).^(1/2);
r=linspace(0,25.40,length(To));  %0:0.01:25.40;
 J=((K*I*To).*(K*r))/((2*3.14)*(r.*T1).*(K*r));



1
2
3
4
5
6
7
8
9
10
11
12
13
14
>> whos
  Name      Size             Bytes  Class     Attributes
 
  F         1x1                  8  double
  I         1x1                  8  double
  J         1x1                 16  double    complex
  K         1x1                 16  double    complex
  T1        1x501             4008  double
  To        1x501             4008  double
  W         1x1                  8  double
  p         1x1                  8  double
  r         1x501             4008  double
  u         1x1                  8  double
  x         1x501             4008  double







Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Programador en Matlab
Servicios de programación matlab
jjcc94@hotmail.com
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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