|
这是我修改的你的程序
a = vectorize(['(exp((3*m*(s - 1))/2) - cos((3^(1/2)*m*(s - 1))/2) + ' ...
'3^(1/2)*sin((3^(1/2)*m*(s - 1))/2))*((3*t*cos((3^(1/2)*m*t)/2))/2 -' ...
' (3*t*exp(-(3*m*t)/2))/2 + (3^(1/2)*t*sin((3^(1/2)*m*t)/2))/2) - ' ...
'((3*exp(-(3*m)/2))/2 + (3*cos((3^(1/2)*m)/2))/2 - ' ...
'(3^(1/2)*sin((3^(1/2)*m)/2))/2)*(cos((3^(1/2)*m*(s - t))/2) - ' ...
'exp((3*m*(s - t))/2) + 3^(1/2)*sin((3^(1/2)*m*(s - t))/2)) + ' ...
'(s/2 - t/2)*(3*exp((3*m*(s - t))/2) - 3*cos((3^(1/2)*m*(s - t))/2) + ' ...
'3^(1/2)*sin((3^(1/2)*m*(s - t))/2))*(cos((3^(1/2)*m)/2) - ' ...
'exp(-(3*m)/2) + 3^(1/2)*sin((3^(1/2)*m)/2)) + (s/2 - 1/2)*(exp(-(3*m*t)/2) ' ...
'- cos((3^(1/2)*m*t)/2) + 3^(1/2)*sin((3^(1/2)*m*t)/2))*(3*exp((3*m*(s - 1))/2) + ' ...
'3*cos((3^(1/2)*m*(s - 1))/2) + 3^(1/2)*sin((3^(1/2)*m*(s - 1))/2))']);
a = eval(['@(t,s,m)',vectorize(a)]); %a表示F(t,s,m)对m的偏导数
[t,s,m] = meshgrid(0:.01:1,0:.01:1,0:.01:3.0167); % 画图范围
v = a(t,s,m);
v(s > t) = NaN;
v(s == 0) = NaN;
v(t == 0) = NaN;
h = patch(isosurface(s,t,m,v,0));
set(h,'FaceColor','b','EdgeColor','none');
hold on
b=vectorize(['(exp((3*m*(s - 1))/2) - cos((3^(1/2)*m*(s - 1))/2) + ' ...
'3^(1/2)*sin((3^(1/2)*m*(s - 1))/2))*((3*m*cos((3^(1/2)*m*t)/2))/2 - ' ...
'(3*m*exp(-(3*m*t)/2))/2 + (3^(1/2)*m*sin((3^(1/2)*m*t)/2))/2) - ' ...
'(m*(3*exp((3*m*(s - t))/2) - 3*cos((3^(1/2)*m*(s - t))/2) + ' ...
'3^(1/2)*sin((3^(1/2)*m*(s - t))/2))*(cos((3^(1/2)*m)/2) - ' ...
'exp(-(3*m)/2) + 3^(1/2)*sin((3^(1/2)*m)/2)))/2']);
b = eval(['@(t,s,m)',vectorize(b)]); %b表示F(t,s,m)对t的偏导数
[t,s,m] = meshgrid(0:.01:1,0:.01:1,0:.01:3.0167); % 画图范围
v = b(t,s,m);
v(s > t) = NaN;
v(s == 0) = NaN;
v(t == 0) = NaN;
h = patch(isosurface(t,s,m,v,0));
set(h,'FaceColor','g','EdgeColor','none');
c=vectorize(['(m*(exp(-(3*m*t)/2) - cos((3^(1/2)*m*t)/2) + ' ...
'3^(1/2)*sin((3^(1/2)*m*t)/2))*(3*exp((3*m*(s - 1))/2) + ' ...
'3*cos((3^(1/2)*m*(s - 1))/2) + 3^(1/2)*sin((3^(1/2)*m*(s - 1))/2)))/2 + ' ...
'(m*(3*exp((3*m*(s - t))/2) - 3*cos((3^(1/2)*m*(s - t))/2) + ' ...
'3^(1/2)*sin((3^(1/2)*m*(s - t))/2))*(cos((3^(1/2)*m)/2) - ' ...
'exp(-(3*m)/2) + 3^(1/2)*sin((3^(1/2)*m)/2)))/2']);
c= eval(['@(t,s,m)',vectorize(c)]); %c表示F(t,s,m)对s的偏导数
[t,s,m] = meshgrid(0:.01:1,0:.01:1,0:.01:3.0167); % 画图范围
v = c(t,s,m);
v(s > t) = NaN;
v(s == 0) = NaN;
v(t == 0) = NaN;
h = patch(isosurface(t,s,m,v,0));
set(h,'FaceColor','r','EdgeColor','none');
xlabel('t');ylabel('s');zlabel('m');
alpha(0.8)
grid on; view(3); axis equal; camlight; lighting gouraud
hold off
legend('a','b','c') |
|