矩阵(aij)100×150怎么在matlab构造三维矩阵中构造

matlab矩阵的构造及画图问题现有四个向量A=rand(1,100);B=rand(1,100);X=linspace(1:1:100);Y=linspace(1:1:100);其中A和X是一一对应的映射关系,B和Y也是一一对应的映射关系,想要得到的:1、A、B可不可以组成一个矩阵,应该是一个100*100的二维矩阵,这里是不是要插值?2、同样要保持A和X,B和Y的对应关系,并以X、Y为坐标画新创建的矩阵的等值线图不知道我说清楚没有,从理论上讲好像也不怎么难的,就是我自己没绕过弯来,一句话说就是用X、Y的值作为坐标轴,但等值线的数值是A、B
神水盟Bj6v5
A、B可以组成矩阵,不需要插值.因为每个X坐标对应一个A中的值,每个Y坐标对应一个B中的值,所以X中坐标i,Y中坐标j组成坐标(i, j),对应的值为(A(i), B(j)),所以A、B组成的矩阵是100×100的以坐标对为值的矩阵.当然,可以把(A(i), B(j))转换成一个标量,只要满足转换过程中X->A , Y->B的转换信息得以保留即可.由于A和B中的值都是属于(0, 1)的,想要将(A(i), B(j))按要求映射到实数是比较困难的,事实上我还没有想出法子,所以考虑了如下方法:将(i, j)映射到一个复数:A(i)+J*B(j), J为虚数单位.这样X->A , Y->B的对应关系就能保留下来了.矩阵的构造过程,就用for循环就可以了.至于等值线图,只要矩阵构造出来了,画图应该不是问题.
为您推荐:
其他类似问题
扫描下载二维码matlab继续求助:有100个3*3矩阵,将每个矩阵的第一行提取出来,组合成100*1的新矩阵,该怎么做?_百度知道
matlab继续求助:有100个3*3矩阵,将每个矩阵的第一行提取出来,组合成100*1的新矩阵,该怎么做?
提问者采纳
temp=&#39res=[],a2;a&#39,num2str(i)]。:100fna=[';%第i个矩阵赋值给tempres=[res,;for i=1;temp(1,。:)]。a100eval([&#39,fna]);;%假设100个矩阵的名字是a1
提问者评价
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何完成MatLab坐标的绘制_矩阵_中国百科网
如何完成MatLab坐标的绘制
    该文章讲述了如何完成MatLab坐标的绘制.
/diary,.shtml
1.基本绘图函数
函数名功能描述
Plot绘制二维线性图形及两个坐标轴
Plot3绘制三维图形及三个坐标轴
Loglog绘制对数图形及两个坐标轴(两个轴都为对数坐标)
Semilogx半对数坐标图形(X维对数坐标,Y维线性坐标)
Semilogy半对数坐标(与上面相反)
如:plot(y);%y为矢量,x将为索引值绘制图像,y为m&n矩阵X为索引号1:m,绘制n各图形
plot(x,y);
plot(x,sin(x),x,sin(x+1),x,cos(x+2));
plot(t,y,&-&,t,y2,&&&,t,y3,&.&);
2.基本函数颜色设置与点的形状
基本函数颜色设置:y:黄色;g绿色;b蓝色;m红紫色;c兰绿色;w白色;r红色;k黑色
基本绘图函数的点形状:+加号形状;o空心园状;*星号;.实心小元点;x叉号;s方形;d菱形;^向上箭头;v向下箭头;&向右箭头;&向左箭头;p五角星形;h六角星形。
如:plot(t,sin(t),&-r*&);%实线,红色,星形点
3.绘制三维图形
plot3(x,y,z);%如果三个为矢量,将绘制三维曲线上点构成的曲线,如果为矩阵,绘图数据将从三个矩阵中的各列中读取,组成三维坐标,进行图形输出。
4.设置坐标轴参数
(1)axis,设置当前轴的坐标范围;
(2)axes,用指定的特征创建一个新坐标轴;
(3)get和set,查询或设置已有轴的各种特性;
(4)gca,返回当前轴的句柄。
如果图形中有多个坐标轴,在当前轴为最后图形创建的图形的坐标轴。Matlab绘制图形数据时候,会自动选择坐标轴范围,用axis可以设置新的坐标轴的范围,用一个具有四个元素的矢量表示坐标范围,格式为:
axis([xmin,xmax,ymin,ymax]);如果不指定某一个方向范围可以使用inf或-inf表示,则产生半自动坐标轴范围。
对于线性坐标轴,matlab会自动根据数据范围设置等间距的坐标轴数值标记,用set,修改gca变量中xtick和ytick的属性值,可以自定义坐标轴标记。如
set(gca,&ytick&,[-0.3:0.1:1]);
可以使用字符矢量通过修改gca变量中的&XtickLabel&实现标记字符,如:
set(gca,&Xtick&,-pii/2i);
set(gca,&XtickLabel&,{&-pi&,&-pi/2&,&0&,&pi/2&,&pi&};
Axis square设置两坐标轴长度成相等。
Axis equel设置坐标轴标记间距相等;
Axis equel tight;设置图形以紧缩方式显示。
5.图形窗口
figure(2);%以第二个图形窗口作为当前图形输出的窗口;
subplot(m,n,i);%分成m&n个小区域,I指定当前绘图区域;
colordef 颜色;%如white,black等,设置绘图背景颜色。
6.图形标注
Matlab提供了几个函数用于图形的标注:
函数名功能描述
Title添加图形标题
Xlabel,xlabel,zlabel添加X,Y,Z轴标注
Legend在图形中添加图例
Text在指定位置显示文本
Gtext使用鼠标将指定文本放在图形中的位置
如下为添加标题,坐标轴标注实例:
&& t=0i/100i*2;
&& plot(t,sin(t));
&& xlabel('t=0 to 2\pi','Fontsize',16);
&& ylabel('sin(t)','fontsize',16);
&& title('Value of the Sine from Zero to Two \pi','fontsize',16)
注:标注时:\pi显示成希腊字母,\alpha,\beta。
在图形中添加标注与图例,如下:
&& t=0i/100i*2;
&& plot(t,sin(t));
&& xlabel('t=0 to 2\pi','Fontsize',16);
&& ylabel('sin(t)','fontsize',16);
&& title('Value of the Sine from Zero to Two \pi','fontsize',16)
&& text(3*pi/4,sin(3*pi/4),'\leftarrow=.707','fontsize',16)
&& text(pi,sin(pi),'\leftarrowsin(t)=0','fontsize',16)
&& text(5*pi/4,sin(5*pi/4),'sin(t)=-.707\rightarrow','HorizontalAlignment','right','fontsize',16)
&& gtext('graph of function sin(x)') %可以用鼠标指定字符串所需放设位置。
&& H=legend('con','sin',0) %绘制图例
7.专业图形
条形图和区域图用于显示矢量与矩阵中的数据,条形图用于显示离散数据,区域图用于显示连续性数据。
Bar绘制垂直条形图,bar3绘制三维垂直条形图;barh,bar3h绘制水平条形图;如果以矩阵作为参数,矩阵为m&n,则绘制m组条形图,每组n个垂直条形图。
如bar3(p,&group&);group参数分组显示,depatch参数,stack参数等,可以不要参数默认方式显示。
使用area函数可以根据矢量或矩阵的各列生成一个区域图。先根据矩阵各列中的元素绘制曲线,然后填充曲线下方与X轴上方的区域。
Pie,pie3绘制二维,三维饼图
Hist绘制柱形图
X=Randn(m,n)产生n维m个随机矢量。
Rose显示柱形图的极坐标形式。
8,绘制离散型数据的图形
stem,stem3绘制枝干图,三维枝干图,stairs梯形图。其使用方法与plot基本相似。
&& x=linspace(0,2*pi,60);%创建线性间距的矢量
&& A=sin(x);
&& B=cos(x);
&& stem_handles=stem(x,a+b);
&& stem_handles=stem(x,A+B);
&& plot_handles=plot(x,A'--r',x,b,'--g');
&& plot_handles=plot(x,A,'--r',x,b,'--g');
&& plot_handles=plot(x,A,'--r',x,B,'--g');
&& legend_handles=[stem_handles(1);plot_handles];%根据句柄设置图例样式
&& legend(legend_handles,'A+B','A=sin(x)','B=cos(x)');
&& xlabel('Time in \musecs');
&& ylabel('Magnitude');
&& hold off
8.绘制速度与方向图形
compass可以将矢量以极坐标的形式显示维从极点发散的图形,输入参数维直角坐标形式,绘制图形维极坐标形式。函数feather沿水平线上等间距显示矢量,quiver,quiver3分别用于绘制二维矢量组(U,V)和三维矢量组(u,v,w)。
例1:&& win=[45 90 90 60 30 335 360 270 335 200 335 335];
&& strength=[7 6 8 10 3 9 6 8 9 10 14 12];
&& rdir=win*pi/180;%将角度转换维弧度
&& [x,y]=pol2cart(rdir,strength);%将极坐标转换成直角坐标
&& compass(x,y)
例2:如果输入参数是一个复矢量,则feather自动将复矢量实部作为x轴方向分量,虚部作为y轴分量。
&& t=0:0.5:13;
&& s=0.025+i;
&& Z=exp(-s*t);%求复矢量Z
&& feather(Z)
函数contour,contour3用于创建二维,三维等高线,contourf用于创建二维等高线并填充颜色,contourc用于计算创建等高线的矩阵,函数clabel用于创建等高线的标注。
Contour(Z),Z为一个矩阵,表示相对于XY平面的高度。
Contour(Z,n),根据矩阵Z绘制n组等高线。
Contour(Z,v),根据矢量v指定的等高线,等高线组数为length(v)。
Contour(X,Y,Z), Contour(X,Y,Z,n), Contour(X,Y,Z,v),其中X,Y表示两个坐标范围。如果为矩阵,则必须与矩阵Z大小相同,此时juzhZ一般为用函数surf创建的面。
[c,h]=contour(&),返回等高线矩阵C和图形对象的句柄h。
例:&& [x,y]=meshgrid(-8:0.5:8);%创建网格数据
&& z=0.25*y.^2-0.5*x.^2;
&& subplot(1,2,1);%上面定义双曲抛物面,创建选择第一个图形子区域
&& surf(z);%绘制双曲抛物面图形
&& view(65,45);%设置视角
&& title('双曲抛物面');
&& subplot(1,2,2);
&& contour(x,y,z,10);%绘制数据组的1100组等高线
&& title('双曲抛物面的等高线')
函数clael用于标注等高线,绘制时可以输出图形句柄,然后以图形句柄作为函数clabel参数来标注途中的各条等高线。
例:&& [x,y]=meshgrid(-2:.2:2,-2:.2:3);
&& z=x.*exp(-x.^2-y.*2);
&& [c,h]=contour(x,y,z);
&& clabel(c,h);
&& colormap cool
Copyright by ;All rights reserved.【图文】MATLAB数据分析方法 (1)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
MATLAB数据分析方法 (1)
上传于||文档简介
&&M​A​T​L​A​B​数​据​分​析​方​法
大小:761.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢MATLAB中怎么把1-100这100个整数排成一个矩阵_百度知道
MATLAB中怎么把1-100这100个整数排成一个矩阵
提问者采纳
100x=1;X=reshape(x,n),m
提问者评价
采纳率100%
其他类似问题
为您推荐:
其他2条回答
使用reshape(x,m,n) 其中x就是你的向量,m和n是你排成矩阵后的行数和列数
A=reshape(x,m,n)
matlab的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 matlab构造对角矩阵 的文章

 

随机推荐