用matlab画跳动的爱心代码(请问如何用Matlab画这样的图形:)

本文目录
请问如何用Matlab画这样的图形:
P点的运动轨迹方程是
R=5;
r=1;
t=linspace(0,2*pi);
x1=R*cos(t);
y1=R*sin(t);
x2=r*cos(t);
y2=r*sin(t);
x3=(R-r)*cos(t);
y3=(R-r)*sin(t);
x=(R-r)*cos(t)+r*cos(R/r*t-t);
y=(R-r)*sin(t)-r*sin(R/r*t-t);
plot(x1,y1,’k’);hold on;
h1=plot(x2+R-r,y2,’b-’);
h3=plot(x(1),y(1),’r-’);
h3=plot(,’k.-’);
hold off;
axis equal;
for ii=2:length(t)
set(h1,’xdata’,x2+x3(ii),’ydata’,y2+y3(ii));
set(h3,’xdata’,x(1:ii),’ydata’,y(1:ii));
set(h3,’xdata’,);
pause(0.1);
drawnow
end
以上代码画出动态过程如上图,只要画轨迹的话
之需要计算x,y就可以
R=5;r=1;
t=linspace(0,2*pi);
x=(R-r)*cos(t)+r*cos(R/r*t-t);
y=(R-r)*sin(t)-r*sin(R/r*t-t);
plot(x,y);
使用matlab编程,怎样画出心形线和马鞍面
程序代码和图形如下:\x0d\x0a%1心形线\x0d\x0aclc;clear;close all;\x0d\x0ai=-pi:0.1:pi;\x0d\x0ax=2.*(sin(i)-sin(2*i)./2);\x0d\x0ay=2.*(cos(i)-cos(i).^2);\x0d\x0afigure(1);\x0d\x0aplot(x,y);grid on;box on;\x0d\x0aaxis(=meshgrid(x,y);\x0d\x0aZ=X.^2/a-Y.^2/b;\x0d\x0afigure(2);\x0d\x0asubplot(221);\x0d\x0asurf (X,Y,Z);title(’马鞍面’); xlabel(’x’);ylabel(’y’);\x0d\x0asubplot(222);\x0d\x0asurf (X,Y,Z);title(’马鞍面’); xlabel(’x’);ylabel(’y’);\x0d\x0aview(20,30);\x0d\x0asubplot(223);\x0d\x0asurf (X,Y,Z);title(’马鞍面’); xlabel(’x’);ylabel(’y’);\x0d\x0aview(50,20);\x0d\x0asubplot(224);\x0d\x0asurf (X,Y,Z);title(’马鞍面’); xlabel(’x’);ylabel(’y’);\x0d\x0aview(60,10);
怎样用matlab画不同颜色的同心圆
colormap 只会影响图像以及面型对象(surface、image 和patch),而不会影响线条对象(使用plot或plot3画的都是line对象)。对于线条对象,应该设置ColorOrder属性。另外,图中各条线的粗细是不同的。
参考代码:
set(gcf,’defaultaxesColorOrder’,jet(5));
i=1:5;
t=(0:2*pi/(100):2*pi)’;
x=cos(t)*i;
y=sin(t)*i;
h=plot(x,y,’LineWidth’,2);
for i=1:5
set(h(i),’LineWidth’,2*(7-i))
end
box on
axis equal
动态爱心代码什么软件可以用
动态爱心代码MATLAB软件可以用。
第一步:先下载MATLAB软件(该代码只适用于此软件,要下载软件才可运行)。
第二步:点击主页→新建脚本(可自己给脚本命名,我命名的是aixin)。
第三步:在这个脚本里粘贴以下代码。
第四步:点击器→运行(等待即可,软件左下角会出现“在忙”这两个字),图形会自己弹出。
如何用matlab画一个动态图
1、首先,这里举例代码如下:
x=-8:0.5:8;
=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
生成了一幅静态的surf图片,XX,YY由meshgrid生成。
2、下面输入theAxes=axis;,
右侧可以看到,theAxes=,这是surf函数生成的,因为上面绘制的surf没有使用surf(XX,YY,Z)所以坐标范围不同,但是无论什么坐标范围,这里都先取出来,存到一个变量中,后面备用。
3、mat=moviein(20);将fmat保存为一个moviein结构体,20表示动画有20帧。
4、输入:
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
这里就是分别画每一帧的图像,此处我们的surf是分20份来画,坐标轴统一为之前的保存的坐标轴,把moviein结构体fmat的取为getframe,如图。
5、movie(fmat,10);就是动画放10遍。
6、全代码如下:
x=-8:0.5:8;
=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
theAxes=axis;
fmat=moviein(20);
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
movie(fmat,10)
完成效果图。

更多文章:
excel表格中,如何匹配单元格中含有通配符“*“?EXCEL SUBSTITUTE 通配符
2026年9月20日 21:45
tcpip有多少个协议(tcpip参考模型中应用层协议常用的有)
2026年1月18日 15:45
qq聊天音乐代码(qq发信息有音乐符号,点一下它出来一首歌)
2025年12月24日 17:15
SAP是一个什么行业_sap是干什么的?南京雨润集团sap岗位怎么样
2026年8月6日 18:15
ajax提交form表单失败(layui的以ajax提交表单不成功问题)
2026年9月3日 04:15
php运行环境安装(server2008如何部署iis+php+mysql运行环境)
2025年9月24日 02:45
simulink安装包下载(谁有关于光热发电的simulink仿真或其他仿真)
2026年3月2日 01:30
大漠易语言模块(大漠插件易语言模块为什么分辨率变化了.鼠标移动到坐标就不对了)
2026年3月12日 03:45


















