搜索

怎么用matlab极坐标绘六个花瓣的图?

发布网友 发布时间:2022-04-21 01:52

我来回答

2个回答

热心网友 时间:2022-06-17 05:07

极坐标的玫瑰线(polar rose)是数学曲线中非常著名的曲线,看上去像花瓣,它只能用极坐标方程来描述,方程如下:
r(θ) = a*cos kθ 或
r(θ) = a sin kθ,
如果k是整数,当k是奇数时那么曲线将会是k个花瓣,当k是偶数时曲线将是2k个花瓣。如果k为非整数,将产生圆盘(disc)状图形,且花瓣数也为非整数。注意:该方程不可能产生4的倍数加2(如2,6,10……)个花瓣。变量a代表玫瑰线花瓣的长度。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
theta=-pi:0.01:pi; %%theta就是一个变量的符号,你也可以用别的,a,b之类的。其-pi到pi是一个周期,你也可以取0到2*pi。极坐标角度转一圈是2*pi。
rho(1,:)=2*sin(5*theta).^2;
%rho(1,:)是rho的第一行,2*sin(5*theta).^2是根据上面的花瓣数学表达式写出来的;一个theta对应一个rho,假设theta=[2 3 4],那么theta.^2=[2^2 3^2 4^2],也可以用点乘sin(5*theta).*sin(5*theta),一样的。
rho(2,:)=cos(10*theta).^3;%也是根据数学表达式写出来的,三角函数的立方还是三角函数,rho(2,:)rho的第二行
rho(3,:)=sin(theta).^2;%%rho(3,:)rho的第三行
rho(4,:)=5*cos(3.5*theda).^3;%%rho(4,:)rho的第四行。每一行对应一个花瓣的数学表达式,当然你可以写好多花瓣的表达式,再添加更多的行
for k=1:4
polar(theta,rho(k,:))
pause %%使用pause,运行后,显示一幅图,敲击回车后显示另一幅图
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
敲击回车出现多个不同的花瓣图,那是各个花瓣图的数学表达式不同。
rho(1,:),rho(2,:),rho(3,:),rho(4,:)函数表达式不同引起。追问(1)该方程为什么不可能产生4的倍数加2(如2,6,10……)个花瓣,求解
(2)2*sin(5*theta).^2可不可以写成2.sin(5.*theta).^2
(3)你说每一行对应一个花瓣的数学表达式,为什么不能每一列去对应一个花瓣的表达式
谢谢。继续求解

追答(1)当k是偶数时曲线将是2k个花瓣,要产生2,6,10...,k=1,3,5,可以看出k是奇数,不是偶数;
(2)标量和矩阵相乘可以不用点乘,也可以用点乘,一样的结果;
(3) theta是行向量,所以花瓣的结果就是行向量;你要写成列向量的话,你把theta转置下,rho(:,1)这样写就可以了。

热心网友 时间:2022-06-17 05:07

for k=1:4
polar(theta,rho(k,:))
pause %为什么要用pause
end
上边的代码是出现多个图形的原因。。。。
至于其他的,还是好好看书吧,都是基础。。。追问既然是基础的问题,你帮忙解答一下好吗

追答theta应该仅仅是一个变量,你也可更改成其他的变量名,-pi到pi是他的取值范围,作图时用到,就好像一个函数y=2*x,要画出他的图形,就要知道x的取值范围,如果不给定的话 ,计算机也不知道画多大呀?另外你可以改一下它的取值范围,例如-pi-0,看一下划出的图像有什么不同,你理解的就会更深刻一些,其他的我也不便多说,因为我也不是很熟悉matlab。。。。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top