how to debugg the error : size input must be integers

3 Ansichten (letzte 30 Tage)
Cassandra Soliman
Cassandra Soliman am 29 Mai 2020
Bearbeitet: per isakson am 29 Mai 2020
function u = Section1_4
% This function code is to plot u(x,y) = u1(x,y)+u2(x,y)
% Description: This file is specifically plotting the centre of the domain
% The analytical solution for the Laplace Equation for section 1.4
%Input parameters
% C0 = u1(x,y)
% C2 = u2(x,y)
% The following is the spatial parameters
L = 3/2; %length of the x-dimension (we only want the centre domain)
H = 1/2; % length of the y-dimension
T_1 = -5; % temperature profile
T_2 = -10; % temperature profile
nx = 1.5; % Number of grid points x-direction
ny = 0.5; % Number of grid points in the y direction
x = linspace(0,L,nx);
y = linspace(0,H,ny);
nfs = 50;
n = 1;
k = ((n*pi)/(L));
u =ones(nx,ny); %% line were the error is
% Analytical solution
for i=1:nx
for j=1:ny
for m = 1: nfs
upper_side = ((16*T_1/((n^3)*(pi)^3)))*(((1-cos(n*pi))/sinh(k*H)))*(sinh(k*y(j)))*(sin(k*x(j)));
lower_side = ((16*T_2/((n^3)*(pi)^3)))*(((1-cos(n*pi))/sinh(-k*H))).*(sinh(k*y-k*H)).*(sin(k*x(j)));
% full solution
u(i,j) = u(i,j) + upper_side + lower_side;
end
end
end
contourf(x,y,u');
pcolor(x,y,u');
shading interp;
title('Temperature Value at the Centre of Domain');
xlabel('x');
ylabel('y');
colorbar;
surf(x,y,u');
end

Antworten (1)

per isakson
per isakson am 29 Mai 2020
Bearbeitet: per isakson am 29 Mai 2020
"how to debug"
Before trying to fix the problem see: Debug a MATLAB Program
Next set Pause on Errors
and run Section_4
>> Section1_4
Error using ones
Size inputs must be integers.
Error in Section1_4 (line 22)
u =ones(nx,ny); %% line were the error is
check the values of nx and ny
K>> nx,ny
nx =
1.5
ny =
0.5
K>>
They are not integers, which causes the error, and the next step will be to find out why.

Kategorien

Mehr zu Mathematics and Optimization finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by