matlab的把二维矩阵画成图
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/23 04:29:48
可能是用了v4插值法网格化的问题,你的数据好像是规则的xyz的网格数据,就是数据量少了点,要用插值的方法必然会导致插值不理想的问题.
这个问题确实很有意思,我好歹弄出来了,不过还是用了for循环,请参阅,看看能不能修改clear;clc;closealla=[1023;0021;1103];[m,n]=size(a);[b,c]=f
a=rand(m,n,6)b=reshape(m*n,6)一个示例:>>a=rand(2,3,2)a(:,:,1)=0.81470.12700.63240.90580.91340.0975a(:,:,
x=linspace(0,4*pi,100);y=sin(x);n=floor(length(x).*sqrt(2)/2);v=linspace(-1,1,2*n-1)*x(n);[xx y
只有灰度图怎么可能还原RGB格式,没办法恢复的.RGB转换成灰度是通过公式Y=0.299*R+0.587*G+0.114*B没办法只由一个Y得到RGB三个值
eshape函数可以帮你,比如B=reshape(A,2,4,2);B就是你所求的新矩阵.再问:非常感谢
imshow(I)具体用法helpimshow
可以这样画图,代码如下:[x,y]=meshgrid(1:5,1:5);z=[12345;678910;1112131415;1617181920;2122232425];surf(x,y,z)
a=fix(rand(20)*2);%20x20的矩阵,要填黑处为1,其他地方为0,这里用随机矩阵代替你的数据imagesc([0.5:19.5],[0.5:19.5],a);colormap([00
%用灰度表示,白-黑,从大到小A=randint(10,10,[0255]);imagesc(A);colormapgray;
xx=linspace(-3,3)yy=linspace(-3,3);[x,y]=meshgrid(xx,yy);z=2./(exp(x)+exp(-x));%z=1/cosh(x)mesh(x,y,
plot(x,y,'o')你没有数据么?全是坐标?再问:就是一个100行两列的数组,第一列是横坐标,第二列是纵坐标。例如:39.111,165.32这就是location{1,1}和{1,2}再答:那
g=f(73:1:77,92:1:96)复制73-77行的92到96列到g
其实这样的问题我以前好像也遇见过,我倒是能够实现你的要求,但这里面有个问题要说清楚就是我也不是很明白,为什么矩阵的相邻元素转换成ASCII时,中间的分隔符,不管是空格、逗号都自动转换成为2个空格的AS
画线用plot3();画面用surf();所以为plot3(A(:,1),A(:,2),A(:,3));或surf(A(:,1),A(:,2),A(:,3));
如果是叠加成三维,可以使用一下命令:A(:,:,1)=a,A(:,:,2)=B,A(:,:,3)=c另外建议使用cell类型或者struct类型,存储,方便数据的提取运算,希望能提供帮助
selector可以提取子矩阵的,做了一个例子供你参考.输入是由单位阵和幻方阵组成的三维数组,仿真过程中双击手动开关模块可以在两个矩阵之间切换. Selector模块的参数设置如下图所示:&
提取出x的坐标放入数组x中,提取y的坐标值放入y数组中.例如:当点为:(210,152),(12323),(23,45)等.则matlab程序如下:x=[21012323];y=[15212345];
map=zeros(6,9);map(1,1)=8;map(2,1)=7;map(2,4)=12;map(2,5)=34;map(2,6)=56;map(2,7)=78;map(3,1)=6;map(