Error Matrix must dimensions agree HELP!
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Geoff Hayes
am 16 Mär. 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 ?
Antworten (1)
Deepak Meena
am 21 Mär. 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
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!