Error Matrix must dimensions agree HELP!

1 visualización (últimos 30 días)
Humphrey Dogbe
Humphrey Dogbe el 16 de Mzo. de 2021
Respondida: Deepak Meena el 21 de Mzo. de 2021
Get this error when running the code. Hbar, nbasis and mu are constants.
T = zeros(length(n));
n = linspace(1, nbasis, nbasis);
for j = 1:length(n)
for k = 1:length(n)
funT = @(x) (sqrt(.5).* sin(((j.*pi).*(x-0.6))./4)).* ((hbar.^2)./mu).* (sqrt(0.5).* ((n.^2 * pi.^2)./16) .* -sin((n.*pi).*(x-0.6))./4).* (sqrt(0.5).*sin(((k.*pi)).*(x-0.6))./4);
T(j,k) = integral(@(x) funT(x), 0.6, 4.6);
end
end
Please point me in the right direction, thank you!
  2 comentarios
Geoff Hayes
Geoff Hayes el 16 de Mzo. de 2021
Humphrey - please copy and paste the full error message. Also, is the hbar a constant array or a constant scalar? I suspect that part of the problem might be with x and n being of different dimensions as the latter is dependent upon nbasis. Do you mean for n to be an array in your funT ?
Humphrey Dogbe
Humphrey Dogbe el 16 de Mzo. de 2021
Hbar is a constant scalar. n is meant to be an array from 1 to 4. The n pasted above is referenced from an earlier point in the code

Iniciar sesión para comentar.

Respuestas (1)

Deepak Meena
Deepak Meena el 21 de Mzo. de 2021
Hi ,
The error is coming because the size of the left side is 1-by-1 and the size of the right side is
1-by-4.
Also Change your integral line to this :
%code
P0 = integral( funT, 0.6, 4.6, 'ArrayValued', true );
I am storing the result of the integral in a temporary variable , you can store it as per your convenience
Thanks

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by