作业帮 > 综合 > 作业

matlab 已知函数画三维图,怎么画,求高手

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/03 02:17:53
matlab 已知函数画三维图,怎么画,求高手
clear
ave=[ 156.560 117.436]'; %ave,cov1为训选练好的参数
cov1=[160.130 12.143
12.143 299.457];
x1=[0:10:255];
x2=[0:10:255];
x=[x1,x2]';
f=1/(sqrt(2*pi))*(exp((-0.5)*(x-ave)'*inv(cov1)*(x-ave)));
mesh(f);
运行出错,
? Error using ==> unknown
Matrix dimensions must agree.
Error in ==> gaosisanwei at 8
f=1/(sqrt(2*pi))*(exp((-0.5)*(x-ave)'*inv(cov1)*(x-ave)));

clear
ave=[ 156.560 117.436]'; %ave,cov1为训选练好的参数
cov1=[160.130 12.143
      12.143 299.457];
[x1,x2]=meshgrid(0:10:255);
[m,n]=size(x1);
for i=1:m
    for j=1:n
     x=[x1(i,j),x2(i,j)]';
     f(i,j)=1/(sqrt(2*pi))*(exp((-0.5)*(x-ave)'*inv(cov1)*(x-ave)));
    end
end
mesh(f);%%%在matlab里doc mesh,注意看下它的用法:mesh(Z) 用 X = 1:n and Y = 1:m,  [m,n] = size(Z).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
另外你的代码x为52*1的矩阵,ave是2*1的矩阵,两个矩阵尺寸不匹配不能相减.看了你的公式,x1和x2为变量,当给x1和x2赋一个值时,x=[x1 x2]'就是2*1的矩阵,那么x代入后就不会出错.所以x的取值应用循环一个一个的取,不应把所有的x1和x2直接赋值x.