导航:首页 > 编程语言 > matlab动画编程代码

matlab动画编程代码

发布时间:2022-11-27 20:10:51

㈠ 求用matlab制作简单动画实例

具体制作方法如下:

1、首先,这里举例代码如下:

x=-8:0.5:8;

[XX,YY]=meshgrid(x);

r=sqrt(XX.^2+YY.^2)+eps;

Z=sin(r)./r;

surf(Z);

生成了一幅静态的surf图片,XX,YY由meshgrid生成。

㈡ matlab怎么编写驻波的动画显示代码

%function f=prob5_11(K,ki)
%prob5_10函数产生驻波动画,K控制驻波动画动态变化的次数,ki控制曲线动态变化的快慢
nargin=0
clf
t=0;k=0;
x=(0:100)/100*3*pi;
n=length(x);
x0=[0 pi 2*pi 3*pi];
y0=zeros(1,4);
y=sin(t).*sin(x);
h=line(x,y,'LineWidth',4,'Color',[0 0 1]);
h1=line(x0,y0,'LineWidth',4,'Marker', '.','MarkerSize',50,'Color',[1 0 0]);
axis off;
% set(h,'erasemode','background') %h是需要执行动画图像的句柄,一般都是由line或者plot创建
if nargin==0
K=1;ki=1;
elseif nargin==1
ki=1;
end
while 1
t=t+0.5;
y=sin(t).*sin(x);
axis([ 0 10 -1.1 1.1])
set(h,'xdata',x,'ydata',y) %更新图像的坐标数据
drawnow %刷新屏幕
set(h1,'xdata',x0,'ydata',y0,'erasemode','background')%更新图像的坐标数据
drawnow %刷新屏幕
if round(t/48)==K
break
end
pause(0.1*ki)
end
f=getframe(gcf)

㈢ matlab动画代码的讲解 谢谢啦

h1=line( 'Color' ,[1 0 0], 'Marker' , '.' , 'MarkerSize' ,36, 'EraseMode' , 'xor' );%不懂这行

color 有效值为colorspec 100 RGB的红色
colorspec表:
RGB 简称
[110] y_yellow
[101] m_magenta
[011] c_cyan
[100] r_red
[010] g_green
[001] b_blue
[111] w_white
[000] k_black

Marker: 有效值为字符,决定Line对象的记号类型,有+,o,*,.,x,s,d,等
Markersize:有效值为纯量,单位为 点,Marker的大小。

EraseMode的几种擦除方式的意义,我今天查找了一下,大概的意思是这样的:
1)normal方式:
使用该选项后,重画整个显示区,这种模式产生的图像最准确,但较慢;
2)background方式
将旧对象的颜色变成背景色,从而达到擦除的目的。这种模式将损坏被擦除对象下面的对象;
3)xor方式
对象的绘制何擦除由该对象颜色与屏幕颜色的异或而定。只画与屏幕颜色不一致的新对象点,只擦除与屏幕颜色不一致的原对象点。该方式不损害被擦除对象下面的其他图像;
4)none方式
不做任何擦除

set(h1,'xdata',x(k),'ydata',y(k))%还有这行
Xdata,Ydata,Zdata: 有效值为坐标数组,指定产生线条的数据点,若为2D环境则Xdata、Ydata需要有相同数目的数据,而Zdata为空矩阵

pause(.1005);%这个函数是用来调整动画速度的吗
暂停的时间,或者说上一个图像到下一个画面之间的间隔时间
drawnow;%为什么这行去掉也可以
drawnow估计用于刷新屏幕的

㈣ matlab编程 求代码

1.打开matlab2012b,新建new script.输入如下代码:a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);
2.点击“run”运行.选择好保存的文件名和保存目录.这里取文件名为:yiyuanercifangchengqiujie.运行结果如下:依次输入a、b、c的值>> yiyuanercifangchengqiujiea=?6b=?7c=?9x1=-0.58333+1.0769i,x2=-0.58333-1.0769i可以连续运行,也就是说可以接着输入下一组a、b、c的值.
3.附例1:用 solve方法来求一元一次方程组的根.

㈤ 怎样用Matlab做动画演示

1利用moviein命令对内存进行初始化,创建一个最够大的矩阵,使其能够容纳基于当前坐标轴大小的一系列制定的图形(帧);moviein(n)可以创建一个足够大的n列矩阵。

2利用getframe命令生成每个帧。

3利用movie命令按照指定的速度和次数运行该动画,movie(M,n)可以播放由矩阵M所定义的画面n次,默认n时只播放一次。

演示山峰函数绕Z轴旋转的动画。

>> [X,Y,Z]=peaks(30);
>> surf(X,Y,Z)
>> axis([-3,3,-3,3,-10,10])
>> axis off
>> shading interp
>> colormap(hot)
>> M=moviein(20); %建立一个20列的大矩阵
>> for i=1:20
view(-37.5+24*(i-1),30) %改变视点
M(:,i)=getframe; %将图形保存到M矩阵
end
>> movie(M,2) %播放画面2次

㈥ matlab如何制作质点运动轨迹的动画

MATLAB有很多功能,可以绘制运动轨迹,那么如何用matlab画运动轨迹,操作方法如下。

1、首先打开电脑上的MATLAB软件,如下图所示。

㈦ 如何用matlab来绘制动画

下面是制作gif图的程序,供你参考。

主要的命令就是getframe 和 imwrite。

%适用于在一幅图中表现给图过程,即图形的增长过程

%主要用来绘制三维的欧拉公式
clc;clear;clf;closeall;

%获得数据
tmax=4*pi;
t=0:0.01:tmax;
tmp=exp(1i*t);
x=real(tmp);
y=imag(tmp);
[a,b]=size(x);
y1=zeros(a,b);
x1=zeros(a,b);

%确定首幅图的样式,并指定标题,坐标轴标题等样式
plot3(x(1,1),t(1,1),y(1,1),'black');
holdon
plot3(x(1,1),t(1,1),y1(1,1),'blue');
plot3(x1(1,1),t(1,1),y(1,1),'r');
axis([-1,1,0,tmax,-1,1])
str=['$${e^{it}}=cost+isint$$',char(13,10)','createdbyLijunjie!'];
title({str},'Interpreter','latex')
xlabel('实轴');
ylabel('时间轴');
zlabel('虚轴');
gridon;
set(gcf,'Position',[0,0,600,600],'color','w');
set(gca,'ydir','reverse')%反转坐标轴

%确保图像在采集的过程中包括坐标轴及标题
ax=gca;
ax.Units='pixels';
pos=ax.Position;
ti=ax.TightInset;
rect=[-ti(1),-ti(2),pos(3)+ti(1)+ti(3),pos(4)+ti(2)+ti(4)];

%在指定的范围内获得图像文件
frame=getframe(ax,rect);
im=frame2im(frame);

%创建gif文件,指定其样式,写入首帧图像
k=1;
%用胞元存储采集到的图像,方便后面反转图像用
[I{k},map{k}]=rgb2ind(im,256);
imwrite(I{k},map{k,1},'mygif.gif','gif','Loopcount',Inf,'DelayTime',0.2);
k=k+1;

%画图并采集到gif中
steptmp=20;%每幅图要画的点数
i=steptmp;
whilei<(b-1)
x_1=x(1,(i-steptmp+1):i+1);
t_1=t(1,(i-steptmp+1):i+1);
y_1=y(1,(i-steptmp+1):i+1);
y1_1=y1(1,(i-steptmp+1):i+1);
x1_1=x1(1,(i-steptmp+1):i+1);
plot3(x_1,t_1,y_1,'black');
holdon
plot3(x_1,t_1,y1_1,'blue');
plot3(x1_1,t_1,y_1,'r');

%下面是制作gif的主要代码,除了调节间隔时间外,一般不需要改动
ax=gca;
ax.Units='pixels';
pos=ax.Position;
ti=ax.TightInset;
rect=[-ti(1),-ti(2),pos(3)+ti(1)+ti(3),pos(4)+ti(2)+ti(4)];
frame=getframe(ax,rect);
im=frame2im(frame);
[I{k},map{k}]=rgb2ind(im,256);
%写入模式为“追加”模式
imwrite(I{k},map{k},'mygif.gif','gif','WriteMode','append','DelayTime',0.1);
k=k+1;

i=i+steptmp;
end

%将图像按相反的顺序再写入到gif中
fori=(k-1):-1:1
imwrite(I{i},map{i},'mygif.gif','gif','WriteMode','append','DelayTime',0.1);
end

下面是结果图:

㈧ 怎样用matlab做动画

用matlab制作动画的主要函数是getframe(捕捉轴或图形作为电影帧),movie(播放录制的电影帧)。

给你一个实例(匀强电场),以帮助你理解。

t=0:0.01:6*pi;

v0x=1;v0y=1;

a1=1;

y1=v0y*t+0.5*a1*t.*t;

x1=v0x*t;

for i=1:length(t)

plot(x1(1:i),y1(1:i))

axis([0,20,0,200])

grid on,hold on

plot(x1(i),y1(i),'r.','markersize',20)

title('匀强电场')

xlabel('x'),ylabel('y')

M(i)=getframe;

end

movie(M,1)

运行过程及结果

㈨ 求助matlab绘制动画命令

%这个我刚好知道
使用drawnow命令,如下有个例子:

%擦除方式显示小球运动

speed=4000;
x=linspace(0,2*pi,speed);
y=tan(sin(x))-sin(tan(x));
plot(x,y);
n=length(x);
line_handle=line('LineStyle','o','LineWidth',3,'MarkerSize',15,...
'EraseMode','normal','MarkerEdgeColor','k','MarkerFaceColor','r');
i=1;
while 1
set(line_handle,'xdata',x(i),'ydata',y(i));
drawnow
i=i+1;
if i>n
i=1;
end
end
%这段程序有个问题在于关闭会报错,使用try语句即可解决
如果是录制使用moviein指令
如下有个例子
%利用电影方式显示动画
[x,y,z]=peaks(30);%peaks用来测试三维画图
surf(x,y,z);
m=moviein(15);
axis off
colormap(cool)
shading interp%设置阴影效果
for i=1:15
view(-45+15*(i-1),30+10*(i-1))
m(:, i)=getframe;%抓取画面值并加载到绘图窗口的画面矩阵中
end
movie(m,2)

㈩ 请问用MATLAB软件,以动画的形式作出单位圆x^2 +y^2 = 1的图像的程序代码是什么

p=(0:0.003:2)*pi;
x=cos(p);
y=sin(p);
fort=1:length(p)
plot(x(t),y(t),'r-');
drawnow
holdon
gridon
axisequal
axis([-22-22]);
end

阅读全文

与matlab动画编程代码相关的资料

热点内容
上了大嫂韩国电影 浏览:950
java监控命令 浏览:70
极品都市后宫 浏览:386
人妻哺乳电影 浏览:838
乐高解压器价格 浏览:560
云开发服务器价格表 浏览:979
d盘英雄时刻文件夹是什么 浏览:740
wordpress网址简洁导航源码 浏览:476
搞笑视频网 浏览:910
电影韩国美女爱情 浏览:14
手机在线看电影的网站 浏览:944
十部必看重生军婚小说 浏览:751
海上海下电影 浏览:876
何家驹演的全部电影 浏览:684
个人信息处理者加密 浏览:779
着名的p字开头的网站 浏览:421
大尺度bl电影有哪些 浏览:584
angelababy演的电影陈家沟 浏览:353
在线看日本片网站 浏览:584
风月小说by苏他txt下载 浏览:990