matlab 画图,几个图形归为一类的方法。

作者&投稿:欧任 (若有异议请与网页底部的电邮联系)
matlab 如何画图时将数据点的值在图中显示出来~

点图像窗口上面的一个十字形的工具就可以。那个是取点工具。然后用那个工具点图像上的点就能读出该点的坐标值了。
1.MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
2.MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

这是四维绘图,而且xyz之间没有关系,不能降维,只能给你画f为定值的隐函数图像,为了好计算说明f可取整数。但是f在等于某些值时,这个方程无解,即没有xyz值满足你的方程,所以你画不出这个方程的图像。也就是sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)的值域在-3到3之间,要画出图则sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)-9-f=0必须有解,这时解出f可能的值就是6,7,8,和-9,-10,-11,-12。下面是f=8和-10时的图像。
clear all[x,y,z]=meshgrid(-20:1:20,-20:01:20,-20:1:20);

f1=sqrt((x+2).^2+(y-2).^2+(z-2).^2)-sqrt((x+2).^2+(y-2).^2+(z+2).^2)+1;%f=-10f2=sqrt((x+2).^2+(y-2).^2+(z-2).^2)-sqrt((x+2).^2+(y-2).^2+(z+2).^2)-1;%f=8

[d1,m1]=isosurface(x,y,z,f1,0);[d2,m2]=isosurface(x,y,z,f2,0);

figure(1)patch('faces',d1,'vertices',m1,'facevertexcData',jet(length(m1)),'facecolor','k','edgecolor','flat');grid onview(3);xlabel('X'),ylabel('Y'),zlabel('Z');title('f=-10');
figure(2)patch('faces',d2,'vertices',m2,'facevertexcData',jet(length(m2)),'facecolor','k','edgecolor','flat');grid onview(3);xlabel('X'),ylabel('Y'),zlabel('Z');title('f=8');



可以把句柄写成数组的形式,下面给出一个动画实例,为了好玩儿,代码有点儿繁~~~哈哈


clear all;close all;clc;

N=300;

fig=figure(1);axis equal;axis([-1.5,1.5,-2.3,0.7])

for i = 1:N

    theta = 2*pi/N*(i-1)+pi/2;

    rho = (sin(theta).*sqrt(abs(cos(theta)))./(sin(theta)+7/5)-2*sin(theta)+2)/2;

    x=rho*cos(theta);

    y=rho*sin(theta);

    w=0.01+0.07/N*i;

    h=0.01+0.07/N*i;

    pause(0.01); % 停顿0.01s

    handle1(i)=rectangle('position',[x,y,w,h],'curvature',[0,0],'edgecolor','k','facecolor',[1,1/N*(N-i),1/N*i]);

end

for i = 1:1:N

    pause(0.01);

    delete(handle1(i));

end

delete(fig);





东港市19399348467: MATLAB中怎样将所有图形集中到一张图上 -
戴莺布林: 有好几种情况: 1.如果是两个函数用同一种x轴和y轴的话,用plot(x1,y1,x2,y2) 2.如果是两个函数用同一种x轴,但是y轴分别为左右两边的话,用plotyy(x1,y1,x2,y2) 3.如果是Figure 1 里面显示两个不同的窗口,分别放在左右两边,用 ...

东港市19399348467: matlab 图像显示如何合并? -
戴莺布林: image_cell={A,B,C,D,E}; %将五个图片数组定义为 %一行五列的单元阵列 for count=1:5 subplot(1,5,count); image(image_cell{1,count}); hold on; end

东港市19399348467: matlab画图问题:我做出了4幅图像,请问如何让4幅图像合成一幅,就像subplot命令似的 -
戴莺布林: 举个例子: x=0:0.2:10; y=sin(x); y1=cos(x); f1=plot(x,y); figure f2=plot(x,y1); figure subplot(2,1,1); copyobj(f1,gca); subplot(2,1,2); copyobj(f2,gca); 剩下的你应该知道怎么做了

东港市19399348467: matlab 用什么命令把几个图画在一起,并且用不同的线段表示出来,再注释出来,求大侠帮忙,谢谢 -
戴莺布林: plot() 函数可以同时绘制出多条曲线.plot() 函数最完整的调用格式为: >> plot(x1,y1,选项1, x2,y2, 选项2, x3,y3, 选项3, ...)这样就可以在同一个图中绘制几个不同的图形. 其中“选项”可以设定线型和颜色.希望我的回答会对你有帮助!

东港市19399348467: matlab怎样将几个函数图形画一起 -
戴莺布林: 使用方法:subplot(m,n,p)或者subplot(m n p). subplot是将多个图画到一个平面上的工具.其中,m表示是图排 成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行 的,一共m行,如果第一个数字是2就是表示2行图.p是指你现在...

东港市19399348467: 利用matlab可以拼图吗?就是把两幅图像拼成一副图像? -
戴莺布林: 当然可以啦,其实图像就是数字矩阵,图像的拼接就是矩阵的拼接,横着拼得行数相等,竖着拼得列数相等就行 例子 clc; clear;a=imread('我的图片.jpg'); [m n t]=size(a);b=a(1:fix(m/2),:,:);%取图像的上半部分 c=a(fix(m/2)+1:end,:,:);%取图像的下半部分figure(1); imshow(b);figure(2); imshow(c);%注意,上下拼接要求两幅图的列数要相同 %左右拼行数要相同 figure(3); d=[b;c];%把b,c拼起来,若左右拼接d=[b,c]; imshow(d);

东港市19399348467: matlab 把两个图形编辑在一个图里
戴莺布林: 用plotyy命令. 例如: >> x1=linspace(0,2*pi,100); y1=cos(x); x2=linspace(-2*pi,0,100); y2=sin(x); plotyy(x1,y1,x2,y2)

东港市19399348467: matlab 把6个图像画在一个窗口中如何画
戴莺布林: 在画第一个图时加入hold on 语句,画完6个图后加hold off结束

东港市19399348467: matlab绘制的几个图象怎么在同一个图象窗口中显示? -
戴莺布林: 可以指定具体figure窗口,比如每次绘图前,输入figure(1)指定第一个绘图窗口进行绘图,记得前面加入hold on命令.如果还是不行,希望能大体贴一下代码信息.

东港市19399348467: matlab中怎么将两个图画在一个坐标轴中 -
戴莺布林: 一般来讲有以下三种方法:1、使用hold on语句,hold on说明当前画图结束后,告诉计算机我还需要往这个图上添加东西,再次使用plot画图即可实现.2、用.m文件函数: 例如:function y=myfun(x) y(:,1)=sin(x); y(:,2)=cos(x); y(:,3)=x^(1/2)-1; 然后调用:fplot('myfun',[0 2*pi])即可实现三个函数图像出现在同一个坐标轴中.3、或者直接: fplot('[sin(x),cos(x),sqrt(x)-1]',[0 2*pi])将函数卸载fplot的三个参数中

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网