用matlab实现以下的问题:已知一个具体的平面方程,如何画出三维点的图形

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用matlab实现以下的问题:已知一个具体的平面方程,如何画出三维点的图形相关的知识,希望对你有一定的参考价值。

点云平面方程x+2y+4z.在[-5,5]之间随机选取x和y的值,得到z。一共得到100个点,然后在这100个点里面加入20-30个异常点,就是误差比较大的点,然后将这些点通过matlab画出具体的三维点图,要求有具体源代码,和实验结果图(三维点图),急求,如果好的话,还可以追加悬赏,高手帮助!!

参考技术A plot3(5*rand(1,20)-2.5,5*rand(1,20)-2.5,5*rand(1,20)-2.5,'.')%生成宽度为5的随机向量(20个特殊点)
grid on
hold on
A=5*rand(1,100)-2.5%(生成100个点的A阵,宽度为5)
B=5*rand(1,100)-2.5%(生成100个点的B阵,宽度为5)
for i=1:100
C(i)=-1/4*(A(i))-1/2*B(i)
hold on
plot3(A(i),B(i),C(i),'r.')%(循环一次描一次点)
i=i+1
end
参考技术B C=0;
x=10*(rand(1,125)-.5);
y=10*(rand(1,125)-.5);
z=(C-x-2*y)/4 % x+2y+4z=C
%假设你希望误差大概在40%-80%
z(101:125)=z(101:125).*(1.4+.4*rand(1,25));
plot3(x,y,z,'.')

还需要添加什么可继续追问追问

能否给你的这个程序配上一些注释,解释一下每一句话的含义,谢谢,
因为我对matlab不是很了解,只是为了论文上面的一个图,必须要用matlab做出来,谢谢,我的这个问题在另外一个 数学分组里面也有,悬赏分是85,这个分我已经提高到40,如果你能完全帮我解决,那边的85分也给你了,谢谢,,,请尽快,,

追答

C=0;
% rand(1,125)表示1*125的向量,每个元素是[0,1]
% rand(1,125)-.5表示1*125的向量,每个元素是[-0.5,0.5]
% 10*(rand(1,125)-.5)表示1*125的向量,每个元素是[-5,5]
x=10*(rand(1,125)-.5);
% y 同理
y=10*(rand(1,125)-.5);
% z=(C-x-2*y)/4
z=(C-x-2*y)/4 % x+2y+4z=C
% 假设你希望误差大概在50%
% 即我把最后的101到125个元素表示为原值的误差
% .5+rand(1,25)表示[.5,1.5]
% 最后25个元素就是准确值的50%到150%
z(101:125)=z(101:125).*(.5+rand(1,25));
% 利用plot3进行画图
plot3(x,y,z,'.')

足够么?

本回答被提问者和网友采纳

MATLAB 给三维平面加注解(区分多个三维平面)

我绘制了3个三维平面,如果只是用legend方法加图例的话,如下图所示:

咱就是说,这个图例加了跟没加一样,根本区分不出来谁是谁。所以要想一个别的办法,从这篇文章得到了启发:

在MATLAB中的图例标注及实例说明_李宁的博客-CSDN博客_matlab图例标注

 关于annotation函数的具体使用方法见这篇文章:

Matlab中annotation函数的使用_jk_101的博客-CSDN博客_annotation函数matlab

文章中的如下代码达到了我想要的预期效果:

figure
plot(1:10)
x = [0.3 0.5];
y = [0.6 0.5];
annotation('textarrow',x,y,'String','y = x ')

 

 但不幸的是,annotation函数没有在三维上的用法。

经过咱的不懈努力,终于成功了,并且发现了一个非常简单的办法。咱就是说,居然一直忽略了MATLAB设计的非常好的人机交互功能。

画好了箭头以后,可以打字,还在苦恼α怎么打,没成想可以使用LaTeX格式,MATLAB你真是我亲爹!

 

这不就出来了吗。 

甚至,你还可以生成代码,把加注解的代码copy到自己的代码里,这样以后要改动的话就不用手动画箭头了。

 

以上是关于用matlab实现以下的问题:已知一个具体的平面方程,如何画出三维点的图形的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB中用mesh函数画出三维图后,怎么添加一个Z=0的平面?

MAtlab中view函数具体怎么用

MATLAB 给三维平面加注解(区分多个三维平面)

Python/matlab实现KNN算法

matlab的solve函数得不到数值解

matlab 二维数据点 光滑曲线