有没有人举例说明如何在MatLab中使用集成绘制2变量函数(不使用MuPAD)?
这就是我所拥有的:
clear all;
%define a, p and w
a=1;
p=1;
w=5;
%calculate xmin and xmax
xmin=a-p/2
xmax=a+p/2
%define the coordinates
x=linspace(xmin,xmax);
y=linspace(0,1);
%define the coordinates along x-y plane
[x,y]=meshgrid(x,y);
%define and compute the given function along the x-y coordinates
z=w-(1/p)*int((x.-y)^2, x, xamin, xmax) ;
figure
surf(y,x,z)
title ('a=1 and p=1');
xlabel('w')
ylabel('t')
zlabel('x')
axis tight
shading interp
colorbar
显然,我的功能z出了问题。功能是
z = w-(1 / p)* int(x-t)^ 2dx其中x的范围从a-p / 2到a + p / 2
非常感谢!
答案 0 :(得分:0)
你的功能
z=w-(1/p)*int((x.-y)^2, x, xamin, xmax) ;
不依赖于x,因为
>> syms x y xmin xmax
>> func = int((x-y)^2,x,xmin,xmax)
func =
xmax*(y^2 + xmax*(xmax/3 - y)) - xmin*(y^2 + xmin*(xmin/3 - y))
因此不需要做表面图,简单的图就足够了。 您可以使用
执行此操作z = xmax*(y.^2 + xmax*(xmax/3 - y)) - xmin*(y.^2 + xmin*(xmin/3 - y));
plot (y ,z);
在通过meshgrid将x和y转换为网格之前: