高分求如何使用MATLAB随机画出n个椭圆(位置变化,长短不变,方向角也变化)且能求出面积和

来源:百度知道 编辑:UC知道 时间:2024/06/18 16:34:59
高分求如何使用MATLAB随机画出n个椭圆(位置变化,长短不变,方向角也变化)且能求出面积和
在线等待,玄50分
请高人帮我看看这个为什么不能生成两个椭圆呢?
a=10;
b=5;
t=(0:0.00001:2)*pi;
x=rand(1,2);
x=rand(1,2);
for i=1:2
xx=a*cos(t)*cos(x(i)*pi)-b*sin(t)*sin(x(i)*pi);
yy=a*cos(t)*sin(x(i)*pi)+b*sin(t)*cos(x(i)*pi);
fill(xx,yy,'k');
end

因为MATLAB画第二个椭圆是会先把第一个图删除
改为下面就可以

a=10;
b=5;
t=(0:0.00001:2)*pi;
x=rand(1,2);
x=rand(1,2);
figure;
hold on;
for i=1:2
xx=a*cos(t)*cos(x(i)*pi)-b*sin(t)*sin(x(i)*pi);
yy=a*cos(t)*sin(x(i)*pi)+b*sin(t)*cos(x(i)*pi);
plot(xx,yy,'k');
end
hold off;

n=10;
a=zeros(1,n+1);
a(1)=ezplot('x^2+y^2/2=1');
for i=2:n+1
a(i)=copyobj(a(1),gca);
rotate(a(i),[0 0 1],180*rand,[0 0 0]);
set(a(i),'xdata',get(a(i),'xdata')+10*(rand-.5),'ydata',get(a(i),'ydata')+10*(rand-.5))
end
axis tight equal;delete(a(1))