2017-04-14 23 views
-1

我得到一个错误在x(i,:) = x(i-1,:)。*(I + a * DT)'+ b * dt的。 ...我试图让x一个整数来尝试限制小数。 x最初是tmax/dt。任何帮助/指导得到这个程序运行将是伟大的!如何摆脱“作业有更多的非单身rhs尺寸比non-singleton下标”

%{ 
Ocean Thermal Systems - Project 1 
2-D Transient Heat Conduction through Aluminum 

%} 

%Remove all variables, globals and functions 
clear all 

%Clear the command window 
clc 

%Input parameters 
% l: dx=dy=0.01m 
% h: convective heat transfer coefficient (W/m^2.deg.C) 
% k: thermal conductivity of the material (W/m.deg.C) 
% c: specific heat (J/kgK) 
% p: density (Kg/m^3) 
% alpha: thermal diffusivity of the material (m^2/s) 
% To: initial temperature of the material (deg. C) 
% Tinf: convective temperature (deg. C) 
% Ts: bottom surface temperature (deg. C) 
l = 0.01; 
h = 30; 
k = 170; 
%c = 870; 
p = 2800; 
alpha = 6.98e-5; 
To = 28; 
Tinf = 28; 
Ts = 90; 

%Create time intervals 
dt = 0.357; 
dtb = 50; 
tmax = 300; 
Na = tmax/dt; 
Nb = tmax/dtb; 
ta = linspace(0,tmax,Na); 
tb = linspace(0,tmax,Nb); 

% Create A matrix 

r = -8.8e-4; 
v = -5.9e-4; 
g = -1.8e-3; 

a = zeros(28,28); 

a(1,:) = 90; 
a(2,:) = 90; 
a(3,:) = 90; 
a(4,:) = 90; 
a(5,:) = 90; 
a(6,:) = 90; 
a(7,:) = 90; 
a(8,:) = 90; 
a(9,1) = 1; a(9,9) = g; a(9,10) = .5; 
a(10,1) = .25; a(10,2) = .5; a(10,10) = r; a(10,11) = .25; 
a(11,10) = .16; a(11,11) = v; a(11,12) = .32; a(11,13) = .32; 
a(12,4) = .32; a(12,11) = .32; a(12,12) = v; a(12,13) = .16; a(12,18) = .16; 
a(13,5) = .5; a(13,12) = .25; a(13,13) = r; a(13,15) = .5; 
a(14,6) = .32; a(14,13) = .16; a(14,14) = v; a(14,15) = .32; a(14,19) = .16; 
a(15,7) = .32; a(15,10) = .16; a(15,14) = .32; a(15,15) = v; a(15,20) = .16; 
a(16,8) = .5; a(16,15) = .5; a(16,16) = g; 
a(17,11) = .25; a(17,17) = r; a(17,18) = .5; a(17,21) = .25; 
a(18,12) = .25; a(18,17) = .5; a(18,18) = r; a(18,22) = .25; 
a(19,14) = .25; a(19,19) = r; a(19,20) = .5; a(19,23) = .25; 
a(20,15) = .25; a(20,19) = .25; a(20,20) = r; a(20,27) = .25; 
a(21,17) = .25; a(21,18) = r; a(21,22) = .5; a(21,25) = .25; 
a(22,18) = .25; a(22,21) = .5; a(22,22) = r; a(22,26) = .25; 
a(23,19) = .25; a(23,23) = r; a(23,24) = .5; a(23,27) = .25; 
a(24,20) = .25; a(24,23) = .5;a(24,24) = r; a(24,28) = .25; 
a(25,21) = .5; a(25,25) = g; a(25,26) = .5; 
a(26,22) = .5; a(26,25) = .5; a(26,26) = g; 
a(27,23) = .5; a(27,27) = g; a(27,28) =.5; 
a(28,24) = .5; a(28,27) = .5; a(28,28) = g 



%Create matrix for each node 
T1 = zeros(tmax,1); 
T2 = zeros(tmax,1); 
T3 = zeros(tmax,1); 
T4 = zeros(tmax,1); 
T5 = zeros(tmax,1); 
T6 = zeros(tmax,1); 
T7 = zeros(tmax,1); 
T8 = zeros(tmax,1); 
T9 = zeros(tmax,1); 
T10 = zeros(tmax,1); 
T11 = zeros(tmax,1); 
T12 = zeros(tmax,1); 
T13 = zeros(tmax,1); 
T14 = zeros(tmax,1); 
T15 = zeros(tmax,1); 
T16 = zeros(tmax,1); 
T17 = zeros(tmax,1); 
T18 = zeros(tmax,1); 
T19 = zeros(tmax,1); 
T20 = zeros(tmax,1); 
T21 = zeros(tmax,1); 
T22 = zeros(tmax,1); 
T23 = zeros(tmax,1); 
T24 = zeros(tmax,1); 
T25 = zeros(tmax,1); 
T26 = zeros(tmax,1); 
T27 = zeros(tmax,1); 
T28 = zeros(tmax,1); 
%{ 
T1(1) = 28; 
T2(1) = 28; 
T3(1) = 28; 
T4(1) = 28; 
T5(1) = 28; 
T6(1) = 28; 
T7(1) = 28; 
T8(1) = 28; 
T9(1) = 28; 
T10(1) = 28; 
T11(1) = 28; 
T12(1) = 28; 
T13(1) = 28; 
T14(1) = 28; 
T15(1) = 28; 
T16(1) = 28; 
T17(1) = 28; 
T18(1) = 28; 
T19(1) = 28; 
T20(1) = 28; 
T21(1) = 28; 
T22(1) = 28; 
T23(1) = 28; 
T24(1) = 28; 
T25(1) = 28; 
T26(1) = 28; 
T27(1) = 28; 
T28 
%} 
x = ones(N,1)*28 

%create matrices 
m = 0.02475; 
b = 0.01584 
c = 0.024706; 
d = 0.049; 
b = [0;0;0;0;0;0;0;0;d;m;b;b;m;b;b;d;m;m;m;m;m;c;c;c;d;d;d;d] 

I = eye(28); 
% 
for i = 2:Na 
    x(i,:) = x(i-1,:).*(I+a.*dt)'+b.*dt; 
    T1(i) = 28; 
    T2(i) = 28; 
    T3(i) = 28; 
    T4(i) = 28; 
    T5(i) = 28; 
    T6(i) = 28; 
    T7(i) = 28; 
T8(i) = 28; 
T9(i) = 28; 
T10(i) = 28; 
T11(i) = 28; 
T12(i) = 28; 
T13(i) = 28; 
T14(i) = 28; 
T15(i) = 28; 
T16(i) = 28; 
T17(i) = 28; 
T18(i) = 28; 
T19(i) = 28; 
T20(i) = 28; 
T21(i) = 28; 
T22(i) = 28; 
T23(i) = 28; 
T24(i) = 28; 
T25(i) = 28; 
T26(i) = 28; 
T27(i) = 28; 
T28(i) = 28; 
end 

plot(ta,x); grid on; hold on; 

回答