matlab画心形曲线_笛卡尔心形曲线方程

matlab画心形曲线_笛卡尔心形曲线方程MATLAB心形曲线基本知识clc;指令可以清除屏幕,所以你可以通过clc指令clcholdon;指令可以将画的图连起来holdon第一种实现方式cleart=-pi:pi/100:pi;r=abs(t);x=r.*sin(t);y=r.*cos(t);plot(x,y)title(‘Iloveyou.’)axisequal…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

MATLAB 心形曲线


基本知识

clc;指令可以清除屏幕,所以你可以通过clc指令来清理屏幕

clc

hold on;指令可以将画的图连起来

hold on

clear;清除之前所留的定义

clear

 

笛卡尔爱心曲线

ezpolar('1-sin(t)')

 matlab画心形曲线_笛卡尔心形曲线方程

a=1;
theta = 0 : 0.01 : 2 * pi;
r = a*(1 - sin(theta));
polar(theta, r, '-r');

matlab画心形曲线_笛卡尔心形曲线方程

特别定制


 第一种实现方式

clear
t=-pi:pi/100:pi;

r=abs(t);
x=r.*sin(t);
y=r.*cos(t);
plot(x,y)
title('I love you.')
axis equal

matlab画心形曲线_笛卡尔心形曲线方程

方法二:grid on可以加上网格,可以通过删除下面代码中的grid on删除表格

clear
x=-2:0.01:2;
y=sqrt(2*sqrt(x.^2)-x.^2);
z=asin(abs(x)-1)-pi./2;plot(x,y);
grid on;
hold on;
plot(x,z);
axis equal;

 matlab画心形曲线_笛卡尔心形曲线方程

fill语句填色 

clear
x=-2:0.01:2;
y=sqrt(2*sqrt(x.^2)-x.^2);
z=asin(abs(x)-1)-pi./2;plot(x,y);
grid on;
hold on;
plot(x,z);
axis equal;
fill(x,y,'r')
fill(x,z,'r')

matlab画心形曲线_笛卡尔心形曲线方程

方案3 

t=0:0.1:2*pi;
x=16*sin(t).^3;
y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
figure;
axis([-10,10,-10,10]);
plot(x,y)

 matlab画心形曲线_笛卡尔心形曲线方程

axis off 可以关闭坐标轴,进行动态绘图

clear
t=0:0.1:2*pi;
x=16*sin(t).^3;
y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
figure;
h = plot(x(1),y(1),'r');
axis([-20,20,-20,20]);
axis off

for idx = 2:length(t)
    h.XData(idx) = x(idx);
    h.YData(idx) = y(idx);
    drawnow
end

如果你需要保存到本地的话,你需要进一步添加imwrite保存到本地,delayTime延时画图

matlab画心形曲线_笛卡尔心形曲线方程

clear
t=0:0.1:2*pi;
x=16*sin(t).^3;
y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
figure;
h = plot(x(1),y(1),'r');
axis([-20,20,-20,20]);
axis off
[A,map] = rgb2ind(frame2im(getframe),256);
imwrite(A,map,'love.gif','LoopCount',inf,'DelayTime',0.1);
for idx = 2:length(t)
    h.XData(idx) = x(idx);
    h.YData(idx) = y(idx);
    drawnow
%这两句话是为了在本地保存的图片也能显示出来,保存地址默认
    [A,map] = rgb2ind(frame2im(getframe),256);
    imwrite(A,map,'love.gif','WriteMode','append','DelayTime',0.1);  
end

matlab画心形曲线_笛卡尔心形曲线方程

最终实现版本 


进一步动态实现 (借用movie函数)再进行本地保存改进

 https://blog.csdn.net/lpsl1882/article/details/50806694?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

首先添加函数保存

function ratio=HeartRate(i,heartSpeed)
i=mod(i,heartSpeed);
if i < heartSpeed / 2
    ratio=sin( i/heartSpeed*pi);
elseif i >= heartSpeed / 2 && i < heartSpeed * 3/4
    ratio=2*cos(i/heartSpeed*2/3*pi);
else
    ratio = 0;
end

matlab画心形曲线_笛卡尔心形曲线方程

matlab画心形曲线_笛卡尔心形曲线方程

通过Movie函数进行跳动Heartbeats

clear
gcp=figure;
M=moviein(100,gcp);
heartSpeed=15;
radiusRate=3;

for i = 1:100
    
    axis([-20 20 -20 20]);
axis off
[A,map] = rgb2ind(frame2im(getframe),256);
imwrite(A,map,'1.gif','LoopCount',inf,'DelayTime',0.1);
    cla(gcp);
    x=[];
    y=[];
    
    for t = 0:0.01:2*pi
        r=(sin(t)*sqrt(abs(cos(t))))/(sin(t)+7/5)-2*sin(t)+2;
        r = radiusRate * r;
        x=[x,r*cos(t)*(0.5+0.5*HeartRate(i,heartSpeed))];
        y=[y,r*sin(t)*(0.5+0.5*HeartRate(i,heartSpeed))];
    end
    hold on;
    fill(x,y,'r');
    
    M(:,i)=getframe;
    [A,map] = rgb2ind(frame2im(getframe),256);
    imwrite(A,map,'1.gif','WriteMode','append','DelayTime',0.1);  
end
movie(M,1);

matlab画心形曲线_笛卡尔心形曲线方程

后记


既然提到heartbeats天使的跳动,自然是我们的天使(不是天降之物啦,可怕想什么呢)

matlab画心形曲线_笛卡尔心形曲线方程

这个才是正确的✔ 

matlab画心形曲线_笛卡尔心形曲线方程

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181065.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring Security基本配置和使用

    Spring Security基本配置和使用

    2021年7月11日
    83
  • 微软低代码平台_msfconsole下载

    微软低代码平台_msfconsole下载关于msfconsolemsfconsole简称msf是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马。是出家旅行的必备神器,今天我们在一起来回顾下吧。启动在终端执行servicepostgresqlstart#启动postgresql不启动也可以msfconsole常见的参数解读-p,–payload<payload>指定需要使用的payload(攻击…

    2022年9月6日
    5
  • django修改数据_winform增删改查

    django修改数据_winform增删改查前言在ORM框架中,所有模型相关的操作,比如添加/删除等。其实都是映射到数据库中一条数据的操作。因此模型操作也就是数据库表中数据的操作。添加一个模型到数据库中:添加模型到数据库中。首先需要创建一

    2022年8月7日
    6
  • Mybatis二级缓存_java一级缓存二级缓存

    Mybatis二级缓存_java一级缓存二级缓存在mybatis中,如果要使用二级缓存,就必须使javabean类实现Serializable(序列号)接口未实现序列化接口报错:关于为什么要实现序列化,我浏览了这个兄弟的文章为什么pojo类要实现序列化

    2022年9月14日
    2
  • 花生日记

    花生日记花生日记app是一款优秀的导购软件它能带你找到淘宝天猫隐藏的大额优惠券!领取优惠券、交易都是在【淘宝天猫】上完成的,绝对安全!

    2022年6月1日
    57
  • 分享一个网易新闻的api接口「建议收藏」

    分享一个网易新闻的api接口「建议收藏」首页一进入就获取数据可以用下面这个通过跨域请求,我用的是script跨域,即varoScipt=document.createElement(‘script’)oScript.src=’http://3g.163.com/touch/jsonp/sy/recommend/0-9.html?callback=getNews’;document,bod…

    2022年10月3日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号