📄 e691.m
字号:
%------------------------------------------------------------------------
% Example 6.9.1: Heat Exchanger
%------------------------------------------------------------------------
% Initialize
clc % clear screen
clear % clear variables
global r t y % used in funf691.m
r = 16; % number of data points
n = 3; % number of variables
m = 1500; % maximum iterations
p = 10*r; % number of plot points
tol = 1.0e-5; % error tolerance
T = 30; % range of t (min)
q = [7.2 4.0 3.2]'; % nominal parameters
x0 = [3 3 3]'; % initial guess
X = zeros (p,2);
Y = zeros (p,2);
t = zeros (r,1);
y = zeros (r,1);
d = fopen('e691.dat','w');
% Construct data
fprintf ('Example 6.9.1: Heat Exchanger\n');
randinit (100);
for i = 1 : r
t(i) = (i-1)*T/(r-1);
y(i) = fung691 (t(i),q) + randu(1,1,-0.1,0.1);
end
for i = 1 : r/2
fprintf (d,'\n %.0f & %.3f & %.0f & %.3f \\\\', ...
t(i),y(i),t(r/2+i),y(r/2+i));
end
fclose (d);
% Find curve fit parameters
disp ('Finding parameters ... ')
[x,ev,j] = conjgrad (x0,tol,n,m,'funf691');
show ('x',x);
show ('f(x)',funf691(x));
show ('function evaluations',ev)
% Display curves and data
for i = 1 : p
j = min ([i,r]);
X(i,1) = (i-1)*T/(p-1);
Y(i,1) = fung691 (X(i,1),x);
X(i,2) = t(j);
Y(i,2) = y(j);
end
graphxy (X,Y,'','t (min)','y (deg)','s')
%------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -