您的位置:首页 > 编程语言 > MATLAB

matlab中有哪些有趣的命令?好玩的matlab彩蛋

2016-05-09 20:20 666 查看
比如说,我在command窗口输入“xpbombs”然后回车运行就会跳出一个扫雷游戏的小程序,

或者输入“vibes”运行就会跳出一个膜振动的动画,还可以调节快慢



嗯,就是这种的修改

举报添加评论

分享

邀请回答

按投票排序按时间排序


14 个回答

68赞同
反对,不会显示你的姓名



小生境,正在找工作...

张瑜奇成刘大絮 等人赞同

vibes


Vibrating L-shaped membrane.



teapotdemo


A demo that uses the famous Newell teapot to demonstrate MATLAB graphics features.



logo;




travel


Traveling salesman problem demonstration.



life


MATLAB's version of Conway's Game of Life.



makevase


Generate and plot a surface of revolution.





truss


Animation of a bending bridge truss.



codec


The codec acts like an encoder/decoder for messages using the letters of the alphabet.



fifteen


A sliding puzzle of fifteen squares and sixteen slots.



xpquad


Superquadrics plotting demonstration.



wrldtrv


Show great circle flight routes around the globe.



编辑于 2014-04-04 7
条评论 感谢

分享

收藏没有帮助举报作者保留权利

5赞同
反对,不会显示你的姓名



masaka,在清华,学数学

瓦栗、Happy
Happy、印第安老斑鸠 等人赞同


另外,试试:

spy

earthmap

cplxdemo :复杂的XYZ立体图形~黎曼曲面的平面效果

lorenz : Lorenz吸引子动画显示

我比较喜欢的一个是pretty()

效果如下:



发布于 2013-09-02 1
条评论 感谢

分享

收藏没有帮助举报作者保留权利

2赞同
反对,不会显示你的姓名



Falccm

波特用真名被要求改名 赞同

介绍一个历史挺久的MATLAB彩蛋。

很多人都知道输入

image


会看到一个小男孩,很多人知道的就到此为止了,不过这个彩蛋没有到此为止,这张图片里还隐藏着另外14张图片,这些图片都隐藏在这个小男孩的图片数据中:








这是前几张,前两种是MathWorks的员工的宠物,第三张是3阶希尔伯特方阵的逆矩阵,第四张MathWorks的早起的logo,如果有兴趣的话可以读一下开发者的博客,里边有介绍得到这些图片的方法和图片相关的信息

The Story Behind the MATLAB Default Image

发布于 2015-10-28 4
条评论 感谢

分享

收藏没有帮助举报作者保留权利

8赞同
反对,不会显示你的姓名



黄大宁,航空/Linux/创造

atgh林稀稀他好像条狗哎 等人赞同

你试试

>> why

发布于 2013-04-06 2
条评论 感谢

分享

收藏没有帮助举报作者保留权利

41赞同
反对,不会显示你的姓名



叫我电气小混混,对能源有颗滚烫的心!

杰成陈LegalCha王地锅 等人赞同

无所不能的Matlab!!

=================================================

①五星红旗迎风飘扬


=================我是源码分割线=======================

function varargout=saxplaxliu(varargin)

x=[0 0 40 40 0];
y=[0 13 13 0 0];
k=40/13;
fill(x,y,'r')
hold on
plot(x,y,'r')
axis([0 40 0 13])
seta=pi/6;
R=1.5;R2=0.55;x0=7;y0=9;seta=0;
fliu(R,R2,x0,y0,seta,k)
R=0.6;R2=0.23;x0=15;y0=11.6;seta=-pi/20;
fliu(R,R2,x0,y0,seta,k)
R=0.6;R2=0.23;x0=20;y0=10;seta=pi/20;
fliu(R,R2,x0,y0,seta,k)
R=0.6;R2=0.23;x0=19;y0=7;seta=pi/25;
fliu(R,R2,x0,y0,seta,k)
R=0.6;R2=0.23;x0=16;y0=5;seta=-pi/10;
fliu(R,R2,x0,y0,seta,k)
axis off
function fliu(R,R2,x0,y0,seta,k)
x=zeros(1,10);
y=x;
for i=1:5
x(2*(i-1)+1)=R*cos(pi/2+2*pi/5*(i-1)+seta);
x(2*i)=R2*cos(pi/2+2*pi/5*(i-1)+pi/5+seta);
y(2*(i-1)+1)=R*sin(pi/2+2*pi/5*(i-1)+seta);
y(2*i)=R2*sin(pi/2+2*pi/5*(i-1)+pi/5+seta);
end
x(11)=x(1);
y(11)=y(1);
x=x*k+x0;
y=y+y0;
fill(x,y,[1 0.7 0])
plot(x,y,'y')


=================================================

②2014,传递爱的正能量


=================我是源码分割线=======================

[x,y]=meshgrid(-10:0.01:10);
z=-(17*x.^2-16*y.*abs(x)+17.*y.^2);
[c,h]=contourf(z,100);set(h,'linestyle','none')


=================================================

③不要想歪了哦^^,我是囧


=================我是源码分割线=======================

syms x;
g=1/(x^2+2*x-3);
ezplot(g,-10,10);


=================================================

④带上耳机,最炫民族风,high起来


=================我是源码分割线=======================

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fs = 44100; % sample rate
dt = 1/fs;
T16 = 0.125;
t16 = [0:dt:T16];
[temp k] = size(t16);
t4 = linspace(0,4*T16,4*k);
t8 = linspace(0,2*T16,2*k);
[temp i] = size(t4);
[temp j] = size(t8);
% Modification functions
mod4=(t4.^4).*exp(-30*(t4.^0.5));
mod4=mod4*(1/max(mod4));
mod8=(t8.^4).*exp(-50*(t8.^0.5));
mod8=mod8*(1/max(mod8));
mod16=(t16.^4).*exp(-90*(t16.^0.5));
mod16=mod16*(1/max(mod16));
f0 = 2*146.8; % reference frequency
ScaleTable = [2/3 3/4 5/6 15/16 ...
1 9/8 5/4 4/3 3/2 5/3 9/5 15/8 ...
2 9/4 5/2 8/3 3 10/3 15/4 4 ...
1/2 9/16 5/8];
% 1/4 notes
do0f = mod4.*cos(2*pi*ScaleTable(21)*f0*t4);
re0f = mod4.*cos(2*pi*ScaleTable(22)*f0*t4);
mi0f = mod4.*cos(2*pi*ScaleTable(23)*f0*t4);
fa0f = mod4.*cos(2*pi*ScaleTable(1)*f0*t4);
so0f = mod4.*cos(2*pi*ScaleTable(2)*f0*t4);
la0f = mod4.*cos(2*pi*ScaleTable(3)*f0*t4);
ti0f = mod4.*cos(2*pi*ScaleTable(4)*f0*t4);
do1f = mod4.*cos(2*pi*ScaleTable(5)*f0*t4);
re1f = mod4.*cos(2*pi*ScaleTable(6)*f0*t4);
mi1f = mod4.*cos(2*pi*ScaleTable(7)*f0*t4);
fa1f = mod4.*cos(2*pi*ScaleTable(8)*f0*t4);
so1f = mod4.*cos(2*pi*ScaleTable(9)*f0*t4);
la1f = mod4.*cos(2*pi*ScaleTable(10)*f0*t4);
tb1f = mod4.*cos(2*pi*ScaleTable(11)*f0*t4);
ti1f = mod4.*cos(2*pi*ScaleTable(12)*f0*t4);
do2f = mod4.*cos(2*pi*ScaleTable(13)*f0*t4);
re2f = mod4.*cos(2*pi*ScaleTable(14)*f0*t4);
mi2f = mod4.*cos(2*pi*ScaleTable(15)*f0*t4);
fa2f = mod4.*cos(2*pi*ScaleTable(16)*f0*t4);
so2f = mod4.*cos(2*pi*ScaleTable(17)*f0*t4);
la2f = mod4.*cos(2*pi*ScaleTable(18)*f0*t4);
ti2f = mod4.*cos(2*pi*ScaleTable(19)*f0*t4);
do3f = mod4.*cos(2*pi*ScaleTable(20)*f0*t4);
blkf = zeros(1,i);
% 1/8 notes
do0e = mod8.*cos(2*pi*ScaleTable(21)*f0*t8);
re0e = mod8.*cos(2*pi*ScaleTable(22)*f0*t8);
mi0e = mod8.*cos(2*pi*ScaleTable(23)*f0*t8);
fa0e = mod8.*cos(2*pi*ScaleTable(1)*f0*t8);
so0e = mod8.*cos(2*pi*ScaleTable(2)*f0*t8);
la0e = mod8.*cos(2*pi*ScaleTable(3)*f0*t8);
ti0e = mod8.*cos(2*pi*ScaleTable(4)*f0*t8);
do1e = mod8.*cos(2*pi*ScaleTable(5)*f0*t8);
re1e = mod8.*cos(2*pi*ScaleTable(6)*f0*t8);
mi1e = mod8.*cos(2*pi*ScaleTable(7)*f0*t8);
fa1e = mod8.*cos(2*pi*ScaleTable(8)*f0*t8);
so1e = mod8.*cos(2*pi*ScaleTable(9)*f0*t8);
la1e = mod8.*cos(2*pi*ScaleTable(10)*f0*t8);
tb1e = mod8.*cos(2*pi*ScaleTable(11)*f0*t8);
ti1e = mod8.*cos(2*pi*ScaleTable(12)*f0*t8);
do2e = mod8.*cos(2*pi*ScaleTable(13)*f0*t8);
re2e = mod8.*cos(2*pi*ScaleTable(14)*f0*t8);
mi2e = mod8.*cos(2*pi*ScaleTable(15)*f0*t8);
fa2e = mod8.*cos(2*pi*ScaleTable(16)*f0*t8);
so2e = mod8.*cos(2*pi*ScaleTable(17)*f0*t8);
la2e = mod8.*cos(2*pi*ScaleTable(18)*f0*t8);
ti2e = mod8.*cos(2*pi*ScaleTable(19)*f0*t8);
do3e = mod8.*cos(2*pi*ScaleTable(20)*f0*t8);
blke = zeros(1,j);
% 1/16 notes
do0s = mod16.*cos(2*pi*ScaleTable(21)*f0*t16);
re0s = mod16.*cos(2*pi*ScaleTable(22)*f0*t16);
mi0s = mod16.*cos(2*pi*ScaleTable(23)*f0*t16);
fa0s = mod16.*cos(2*pi*ScaleTable(1)*f0*t16);
so0s = mod16.*cos(2*pi*ScaleTable(2)*f0*t16);
la0s = mod16.*cos(2*pi*ScaleTable(3)*f0*t16);
ti0s = mod16.*cos(2*pi*ScaleTable(4)*f0*t16);
do1s = mod16.*cos(2*pi*ScaleTable(5)*f0*t16);
re1s = mod16.*cos(2*pi*ScaleTable(6)*f0*t16);
mi1s = mod16.*cos(2*pi*ScaleTable(7)*f0*t16);
fa1s = mod16.*cos(2*pi*ScaleTable(8)*f0*t16);
so1s = mod16.*cos(2*pi*ScaleTable(9)*f0*t16);
la1s = mod16.*cos(2*pi*ScaleTable(10)*f0*t16);
tb1s = mod16.*cos(2*pi*ScaleTable(11)*f0*t16);
ti1s = mod16.*cos(2*pi*ScaleTable(12)*f0*t16);
do2s = mod16.*cos(2*pi*ScaleTable(13)*f0*t16);
re2s = mod16.*cos(2*pi*ScaleTable(14)*f0*t16);
mi2s = mod16.*cos(2*pi*ScaleTable(15)*f0*t16);
fa2s = mod16.*cos(2*pi*ScaleTable(16)*f0*t16);
so2s = mod16.*cos(2*pi*ScaleTable(17)*f0*t16);
la2s = mod16.*cos(2*pi*ScaleTable(18)*f0*t16);
ti2s = mod16.*cos(2*pi*ScaleTable(19)*f0*t16);
do3s = mod16.*cos(2*pi*ScaleTable(20)*f0*t16);
blks = zeros(1,k);
% Melody by Schau_mal
part0 = [mi1f la0e la0e do1f mi1f ...
re1e re1s mi1s re1e do1e re1e do1e la0f ...
mi1f la0e la0e do1f mi1f ...
so1e re1s mi1s re1e do1e re1e do1e ti0e so0e ...
mi1f la0e la0e do1f mi1f ...
re1e re1s mi1s re1e do1e re1e do1e la0e so0e ...
mi1f la0e la0e do1f mi1f ...
so1e mi1e blkf blkf blkf ...
];
part1 = [la0f la0e so0e la0f la0e do1e ...
do1f re1e do1e la0f la0f ...
do1f do1e so0e do1e re1e mi1e so1e ...
so1e mi1e re1f mi1f mi1f ...
la1e la1e la1e so1e mi1e mi1f do1e ...
la0e la0e la0e mi1e re1s mi1s re1e re1f ...
mi1e mi1e so1e mi1e re1e mi1e re1e do1e ...
la0f so0f la0f la0f ...
];
part2 = [mi1e mi1e so1e mi1e mi1e so1e so1e la1e ...
do2e la1e so1f la1s do2s la1e la1f ...
la0f la0e so0e la0f do1f ...
re1e mi1s re1s do1e re1e mi1f mi1f ...
la0e la1e la1e so1e re1e mi1s re1s do1e re1e ...
mi1f mi1f blke blke blkf ...
do1e la0e la0e do1e re1f so0e so0e ...
mi1e so1e mi1e re1e do1f do1f ...
la0e do1e re1e mi1e re1e do1e so0e mi0e ...
la0f la0f blke blke blkf ...
];
part3 = [la0f la0e so0e la0f do1f ...
re1e mi1s re1s do1e re1e mi1f mi1f ...
la0e la1e la1e so1e re1e mi1s re1s do1e re1e ...
mi1f mi1f blke blke blkf ...
do1e la0e la0e do1e re1f so0e so0e ...
mi1e so1e mi1e re1e do1f do1e do1e ...
la0e do1e re1e mi1e so1e mi1e mi1e so1e ...
la1f la1f la1f la1f ...
];
part4 = [la1e la1s la1s la1e la1e la1e la1s so1s mi1e re1e ...
re1e re1s re1s mi1e mi1s so1s mi1e mi1s re1s do1e do1s la0s ...
la0f la0e so0e la0f la0e do1e ...
re1e mi1s re1s do1e re1e mi1f mi1f ...
la1e so1e mi1e re1e so1e mi1e re1e do1e ...
do1f do1f la0s do1s re1s mi1s re1s do1s la0s do1s
];
part5 = [do2e do2s do2s la1e la1s la1s so1e so1s so1s mi1e mi1s mi1s ...
re1e mi1s re1s do1e la0s so0s la0s so0s do1s re1s mi1s so1s la1s re2s ...
do2f do2f blks blks blks blks do1e re1e ...
mi1f mi1f mi1f so1e mi1e ...
la1f la1f la1e do1e so1e mi1e ...
re1f re1e re1s re1s re1e re1e do1e re1e ...
mi1f mi1e mi1s mi1s mi1e re1s do1s ti0e do1s re1s ...
mi1f mi1f mi1f so1e mi1e ...
do2f la1f la1f la1e do1e ...
re1f so1f so1f la1f ...
ti1f ti1f ti1f ti1f ...
];
part6 = [blkf blkf mi1e so1e mi1e so1e ...
mi1f la0e la0s la0s do1f la0e mi1s la0s ...
do1e do1s do1s re1e do1s re1s mi1f mi1f ...
mi1f la0e la0s la0s so1f re1e re1s re1s ...
mi1f mi1f mi1s re1s do1s la0s mi0s re0s mi0s so0s ...
do1f la0e la0s la0s re1f so0e so0s so0s ...
mi0f so0e so0s so0s do1f do1f ...
la0f do1e do1s la0s mi1e mi1s mi1s re1e re1s mi1s ...
];
% Combination, v1 is complete version, v2 is simple version.
v1 = [part0 part1 part1 part2 part3 part4 part0 part1 part1 part2 part3 part5 part3 part6 part3];
v2 = [part0 part1 part1 part2 part3 part5 part3 part6 part3];
% Let's rock ^_^
s = v1;
s = s/max(s);
sound(s,fs);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


===============================================================

参考:

MATLAB中文论坛|Simulink中文论坛

编辑于 2014-03-19 11
条评论 感谢

分享

收藏没有帮助举报作者保留权利

0赞同
反对,不会显示你的姓名



鹌鹑,Freedom,基拉的坐骑

why

其实你打open why,会发现它的生成很简单,随机数+语法,你可以改成中文语法,增加和改动各类词汇……

编辑于 2015-07-27 添加评论 感谢

分享

收藏没有帮助举报作者保留权利

28赞同
反对,不会显示你的姓名



江曦,程序员,少数派

姜戈clz123134赵书侠 等人赞同



[X, Y] = meshgrid(0.01:0.01:1, 0.01:0.01:1);

Zfun =@(x,y)12.5*x.*log10(x).*y.*(y-1)+exp(-((25 ...

*x - 25/exp(1)).^2+(25*y-25/2).^2).^3)./25;

Z = Zfun(X,Y);

figure;

surf(Y,Z,X,'FaceColor',[1 0.75 0.65],'linestyle','none');

hold on

surf(Y+0.98,Z,X,'FaceColor',[1 0.75 0.65],'linestyle','none');

axis equal;

view([116 30]);

camlight;

lighting phong; % 设置光照和光照模式

发布于 2015-01-30 5
条评论 感谢

分享

收藏没有帮助举报作者保留权利

1赞同
反对,不会显示你的姓名



蒲江波,Assist.
Prof. in Neural Engineering

ppip 赞同

被邀请回答问题了。但我还真不太清楚这种”有趣“的程序都有些什么。


比如Matlab的那个Logo,可以用logo命令得到,其实是下面的语句优化而来:

>> surf(membrane(1))
>> shading interp


发布于 2013-03-03 添加评论 感谢

分享

收藏没有帮助举报作者保留权利

4赞同
反对,不会显示你的姓名



萤-时光灯,躲在温热文字后面的一个真实的人

Yumi打铁道人、Muqing
Gan 等人赞同

tic toc很实用不过可能没什么趣@_@

凑合当秒表用吧

发布于 2015-01-30 添加评论 感谢

分享

收藏没有帮助举报作者保留权利

3赞同
反对,不会显示你的姓名



Elsa,因为高冷所以研究冰川的phd

Solomon
Zhang、金毛巴黎、Happy
Happy 赞同

不算是命令吧,一个脑洞很大的英国老师教的一个小script,轻度调教Matlab,打开程序可以显示你想它显示的内容,并且自动把workspace设置到常用路径,这个脚本后来就被大家愉快地玩坏了。

首先写一个script,命名为startup.m

fprintf里面就是你想显示的内容啦,你写hello world也好,keep calm and zhao lanxiang 也罢,都有一种调教自家Matlab的快感。

cd里是你的常用workspace directory

------------------------------------------

%startup.m

fprintf(1,'Hello! This is your beloved Queen MATLAB! \n');

fprintf(1,'Message form start.m\n\n');

fprintf(1,'I would like to torture you even more today-just kidding:)');

fprintf(1,'Reminder:when you add a new function to a tool box, issue command:\n');

fprintf(1,' rehash toolboxcache\n\n');

cd ('~/Documents/MyMath/project');

------------------------------------------

然后!把你存放这个脚本的路径加入Matlab搜索路径里!home-set path-add with subfolder!后生切记!

编辑于 2015-03-07 添加评论 感谢

分享

收藏没有帮助举报作者保留权利

2赞同
反对,不会显示你的姓名



张小泉,电气工程

曲莹奕尘 赞同

spy



from: https://www.zhihu.com/question/20818028
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: