代码编织梦想

APEC放假最后一天啦,在家里鼓捣MATLAB,突然想到用MATLAB里的函数图像画一个好玩的东西。想来想去,就画成了这个样子:

205853_mUAk_1425762.png

这个图像是由以下四个方程的图像构成的

1)y=1/(x+4.5)-4.5

2)((x+2)/1.5)^2+(y/2.5)^2=1

3)y=|-4x+5|-1

4)x=-2.1|sin(y)|+4.6

制作的方式如下

1)在MATLAB程序中上方的菜单中选择 New→Script

2)在脚本界面输入下面的代码,保存到DrawStringLove.m

function DrawStringLove()

    figure('NumberTitle', 'off', 'Name', 'TEST 2014/11/12 Wed'); %设置窗口名
    clear all;
    clc;
    hold on; %绘图前图像不刷新
    grid on; %打开网格
    
    title('Hello World!');              %设置图像标题
    set(gca, 'color', [0.5, 0.5, 0.5]); %设置plot背景色
    
    %绘制图像:y=1/(x+4.5)-4.5
    x1 = -5 : 0.01 : 5;
    y1 = 1 ./ (x1 + 4.5) - 4.5;
    plot(x1, y1, 'r', 'linewidth', 5);  %r代表红色,linewidth设置线宽为5
    
    %绘制图像:((x+2)/1.5)^2+(y/2.5)^2=1
    alpha = 0 : pi / 50 : 2 * pi;
    x2 = 1.5 * cos(alpha) - 2;
    y2 = 2.5 * sin(alpha);
    plot(x2, y2, 'b', 'linewidth', 5);  %b代表蓝色
    
    %绘制图像:y=|-4x+5|-1
    x3 = -5 : 0.01 : 5;
    y3 = -4 * x3 + 5;
    y3 = abs(y3) - 1;
    plot(x3, y3, 'g', 'linewidth', 5);  %g代表绿色
    
    %绘制图像:x=-2.1|sin(y)|+4.6
    x4 = -3.2 : 0.01 : 3.2;
    y4 = -2.1 * abs(sin(x4)) + 4.6;
    plot(y4, x4, 'y', 'linewidth', 5);  %y代表黄色
    
    axis([-5,5,-5,5]);

end

3)在代码编辑器(Editor)上方的菜单中点击按钮Run,如果没有添加路径,MATLAB会询问是否把这个脚本文件添加到路径中,单击“Add Path”按钮即可。成功运行。

把*.m文件制作成*.exe的方法如下:

1)在控制台输入deploytool,这时会弹出一个菜单

210617_oqI1_1425762.jpg

在New里面输入test.prj,然后单击OK按钮

2)如果之前创建过*.prj项目,则在Open选项卡中直接选择

210717_L86i_1425762.jpg

3)把之前保存的脚本文件(DrawStringLove.m)加载进来,然后单击Build按钮

210736_kCoK_1425762.jpg

4)在这个窗口中的Detail中,可以看到exe文件保存的地址

211051_htpJ_1425762.jpg

本次生成的Detail如下:

ant:

<mkdir dir="D:\MATLAB\R2013a\bin\test\distrib" />
<mkdir dir="D:\MATLAB\R2013a\bin\test\src" />
mcc -o test -W WinMain:test -T link:exe -d D:\MATLAB\R2013a\bin\test\src -w enable:specified_file_mismatch -w enable:repeated_file -w enable:switch_ignored -w

enable:missing_lib_sentinel -w enable:demo_license -v D:\MATLAB\script\DrawStringLove.m
Compiler version: 4.18.1 (R2013a)
Processing D:\MATLAB\R2013a\toolbox\matlab\mcc.enc
Processing D:\MATLAB\R2013a\toolbox\shared\spcuilib\mcc.enc
Processing include files...
2 item(s) added.
Processing directories installed with MCR...
The file D:\MATLAB\R2013a\bin\test\src\mccExcludedFiles.log contains a list of functions excluded from the CTF archive.
0 item(s) added.
Generating MATLAB path for the compiled application...
Created 44 path items.
Begin validation of MEX files: Wed Nov 12 17:20:00 2014
End validation of MEX files: Wed Nov 12 17:20:00 2014
Warning: Adding path "D:\MATLAB\script" to Compiler path instance.
Parsing file "D:\MATLAB\script\DrawStringLove.m"
    (Referenced from: "Compiler Command Line").
Parsing file "D:\MATLAB\R2013a\toolbox\compiler\deploy\deployprint.m"
    (Referenced from: "Compiler Command Line").
Parsing file "D:\MATLAB\R2013a\toolbox\compiler\deploy\printdlg.m"
    (Referenced from: "Compiler Command Line").
Deleting 0 temporary MEX authorization files.
Generating file "D:\MATLAB\R2013a\bin\test\src\readme.txt".
copy 'D:\MATLAB\R2013a\bin\test\src\test.exe' 'D:\MATLAB\R2013a\bin\test\distrib\test.exe'
copy 'D:\MATLAB\R2013a\bin\test\src\readme.txt' 'D:\MATLAB\R2013a\bin\test\distrib\readme.txt'

5)在位置D:\MATLAB\R2013a\bin\test\distrib\test.exe中就找到最后生成的可执行文件

211247_IysF_1425762.jpg

注意:这个exe文件只能用安装了MATLAB的计算机运行,否则会报错

END

转载于:https://my.oschina.net/Tsybius2014/blog/343701

数字图像处理大作业_love-life的博客-爱代码爱编程_图像处理大作业

数字图像处理的大作业,将图片中瓶盖的部分定位 还好小可爱帮我,还有同学,代码是自己写的(包含百度中的代码)思路不是自己想的,要继续努力呢。 matlab clear; clc; close all; a = imr

在canvas 2d api下实现3d效果(3d版love函数的绘制)_pthill的博客-爱代码爱编程

html5的canvas为我们提供了浏览器原生支持的绘图API。(或者怎么说呢,大多数浏览器已经为我们提供了原生的绘图API:HTML5的canvas)目前,这个API只提供2D context,并不支持3D绘图,但是web上从来就不缺牛人,各种canvas下绘制的3D效果层出不穷,令人吱吱称赞。有3D圣诞树:http://www.romancort

【c++基础】类和对象 四个默认函数_小老虎_cch的博客-爱代码爱编程

1.构造函数:初始化对象所占内存空间(成员变量)   函数名与类名相等,不需要返回值      字符串赋值:需要开辟内存空间    mname = new char [strlen(name) + 1]();//对象在栈上开辟(由系统开辟和释放),而对象中的内容在堆上开辟。堆内存由用户     开辟和释放   strcpy(mname,name);   

超详细Seaborn绘图 ——(五)pointplot-爱代码爱编程

pointplot,如其名,就是点图。点图代表散点图位置的数值变量的中心趋势估计,并使用误差线提供关于该估计的不确定性的一些指示。 点图比条形图在聚焦一个或多个分类变量的不同级别之间的比较时更为有用。点图尤其善于表现交互作用:一个分类变量的层次之间的关系如何在第二个分类变量的层次之间变化。 重要的一点是点图仅显示平均值(或其他估计值),但在许多情况下,

热!!理工男表白函数Python实现-爱代码爱编程

LOVE && 心形函数 代码块 import numpy as np import matplotlib.pyplot as plt import math def character(): plt.figure('Love') ax1 = plt.subplot(141) ax1.spines['right'

笛卡尔心形线公式表白c语言_【小侯七】七夕表白指南,数学从未如此浪漫!...-爱代码爱编程

前些日子,热播电视剧“隐蔽的角落”火遍了大江南北。相信剧中笛卡尔的“心形线”也给不少同学留下了深刻的印象吧! 今天是情人节专场,给大家送上常用的数学表白公式,同时欢迎同学们补充。 1. 心形线:r=a(1-sinθ) 相传笛卡尔流落到瑞典,在瑞典,邂逅美丽的公主克里斯蒂娜。国王知道了此事后,强行拆散了他们。后来,笛卡尔染病死去,在临

python动态爱心曲线绘制-爱代码爱编程

python动态爱心曲线绘制 本文主要介绍如何利用python绘制动态爱心曲线,主要用到python的numpy库和matplotlib库,用到利用matplotlib库绘制plot的知识。为保证代码成功运行,请先安装相关的库。 本文用到的函数如下: 代码如下: import numpy as np import matplotlib.

如何用代码表白——matlab绘制玫瑰、爱心和I LOVE YOU-爱代码爱编程

写在前面 本篇博客主要是利用matlab2016a绘制一些玫瑰花或表白语句,通过绘制掌握matlab画图的一些常规操作,话不多说,直接上代码及注释。 1 爱心2 玫瑰3 I LOVE YOU4 参考文献与链接1 爱心 clear;clc;%清空工作区以及命令行窗口 n=200;%一共有200个点 x=linspace(-1.5,1.5,n);%均分计

基于r语言绘制标准化平均差(standardized mean difference smd)可视化图(1)_r语言 love.plot-爱代码爱编程

最近收到粉丝投稿要求我出个画个标准化平均差SMD可视化图的教程,就是下面这样的图,还给我推荐了2篇论文。 相关的论文是: https://www.mdpi.com/2075-4426/11/11/1132/htm ht