代码:x1=linspace(-2,2,10);
y1=linspace(-3,3,10);
z1=linspace(-4,4,10);
f=zeros(length(x1),length(y1),length(z1));
count1=1;
for x=x1
count2=1;
for y=y1
count3=1;
for z=z1;
f(count1,count2,count3)=x+y+z;
count3=count3+1;
end
count2=count2+1;
end
count1=count1+1;
end
surf(x1,y1,z1,f)
错误:??? Error using ==> surf at 78
Z must be a matrix, not a scalar or vector.
Error in ==> three_for at 18
surf(x1,y1,z1,f)
我这里的z1是一个自变量,f是因变量,z1跟x1和y1的性质是一样的,z1为什么必须得是矩阵呢
追答那样你就画不出图来了。你能想想一个四维图像是什么样么?
如果x1是自变量,y1是因变量,那么是平面上的一条曲线。有两条坐标轴。
如果是自变量,z1是因变量,那么是一条空间曲线或者曲面。有三条坐标轴。
如果x1,y1,z1是自变量,f1是因变量,你觉着你画出来的是什么?我想象不出来四个轴的图。
x y z分别是三个坐标轴,f是第四维,在xyz的空间中用颜色表示大小,这样不行吗。
追答我觉着你自己都不清楚自己要的是什么图。只要你能想象出来的,matlab就能画。
你先自己想啊,你觉着空间中每个点都有一个颜色那样的图是个什么图?
就像你出门,每个点都有颜色,那不就是放大雾,能见度为零,除了你面对的这个面,其他什么都看不到么?
那这个f=x+y+z的函数就没办法用图像表示了吗
追答你先问问你自己么,你看到过类似的图没有?
追问我见识少
追答那你就动脑子想想~
那这个f=x+y+z能画吗
追答可以x,y,z是坐标,是矩阵,f是颜色
首先你要画什么?确定你要什么效果,再来想怎么画