-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;