首页 > 其他分享 >利用Matlab制作钟表

利用Matlab制作钟表

时间:2023-11-11 14:44:37浏览次数:38  
标签:xk cos 0.5 yk Matlab 钟表 pi 制作 sin

hObject=figure;

set(hObject,'NumberTitle','off');
set(hObject,'MenuBar','none');
set(hObject,'visible','on');
A=linspace(0,2*pi,1000); % 0到6.3之间产生1000个点,此为极坐标:0~2pi
x1=8*cos(A);
y1=8*sin(A);  %设置外圆所对应的x,y值
x2=7*cos(A);
y2=7*sin(A);  %设置内圆所对应的x,y值
plot(x1,y1,'b','linewidth',1)
hold on
plot(x2,y2,'b','linewidth',3.5,'color',[0 0 0])
fill(0.4*cos(A),0.4*sin(A),'r');%时钟中心小实心圆点
axis off;  %取消坐标轴显示   
axis equal;%坐标轴x,y等比率

for k=1:12; %时钟面盘12等分,并写上相应的1,2...12数字
xk=9*cos(-2*pi/12*k+pi/2);
yk=9*sin(-2*pi/12*k+pi/2);
plot([xk/9*8 xk/9*7],[yk/9*8 yk/9*7],'color',[1 0 0])
h=text(xk,yk,num2str(k),'fontsize',16,'color',...
[1 0 0],'HorizontalAlignment','center');
end
for k=1:60
    xk=7.5*cos(-2*pi/60*k+pi/2);
    yk=7.5*sin(-2*pi/60*k+pi/2);
    plot([xk/8*8 xk/8*7],[yk/8*8 yk/8*7],'color',[1 0 0])
    s=num2str(mod(k,5));
    if (mod(k,5))==0
        s='';
    end
    h=text(xk,yk,s,'fontsize',10,'color',...
        [0 0 0],'HorizontalAlignment','center');
end
% 计算时针位置
ti=clock; % 得到当前的时间
th=-(ti(4)+ti(5)/60+ti(6)/3600)/12*2*pi+pi/2; % 4、5、6分别为时、分、秒
xh3=4.0*cos(th);
yh3=4.0*sin(th);
xh2=xh3/2+0.5*cos(th-pi/2);
yh2=yh3/2+0.5*sin(th-pi/2);
xh4=xh3/2-0.5*cos(th-pi/2);
yh4=yh3/2-0.5*sin(th-pi/2);
hh=fill([0 xh2 xh3 xh4 0],[0 yh2 yh3 yh4 0],[1 0 0]);
% 计算分针位置
tm=-(ti(5)+ti(6)/60)/60*2*pi+pi/2;
xm3=6.0*cos(tm);
ym3=6.0*sin(tm);
xm2=xm3/2+0.5*cos(tm-pi/2);
ym2=ym3/2+0.5*sin(tm-pi/2);
xm4=xm3/2-0.5*cos(tm-pi/2);
ym4=ym3/2-0.5*sin(tm-pi/2);
hm=fill([0 xm2 xm3 xm4 0],[0 ym2 ym3 ym4 0],[0 1 0]);
% 计算秒针位置
ts=-(ti(6))/60*2*pi+pi/2;
hs=plot([0 7*cos(ts)],[0 7*sin(ts)],'color',[0 0 1],'linewidth',3);

 

卫星时钟钟差算法,用MATLAT仿真结果

钟表(可矫正时间)

 

标签:xk,cos,0.5,yk,Matlab,钟表,pi,制作,sin
From: https://www.cnblogs.com/bbhhh/p/17825894.html

相关文章

  • Github项目README美化 | Github徽章制作
    Github项目README美化|Github徽章制作1、前言平时逛Github开源项目的时候,经常看到README文件会有各式各样的小徽章,哈哈,你是不是也想在自己的项目上添加Github小徽章。让我们来看看别人的项目徽章。VueReact无疑,这样的Github徽章能合理的优化README的美化,能够更加地吸引别......
  • 利用Matlab提取图片中曲线数据
    ​在MATLAB中得到系统当前日期、时间也是经常用到的内容,由以下函数实现。1.生成指定格式日期和时间datestr-生成指定格式日期和时间,是字符型变量。>> datestr(now) %其中now是获取当前日期和时间ans=    30-Dec-200916:05:16其中输出格式可由用户指定,共有31种格式......
  • matlab函数_连通区域
    ​1、matlab函数bwareaopen──删除小面积对象格式:BW2=bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。算法:(1)Determinetheconnectedcomponents. L=bwlabeln(BW,conn);(2)Computetheareaofeachcomponent. S=regionp......
  • 《空间三角面片对相交判断算法》的matlab实现
    function[flag]=InsectTriPatch(T1,T2)%判断两个空间三角形面片是否相交%T1=[000;%200;%01.50;%001];%T2=[00-1;%20-1;%02-1;%001];%出自:《空间三角面片对相交判断算法......
  • 线性代数 · 矩阵 · Matlab | Moore-Penrose 伪逆矩阵代码实现
    背景-Moore-Penrose伪逆矩阵:对任意矩阵\(A\in\mathbbC^{m\timesn}\),其Moore-Penrose逆矩阵\(A^+\in\mathbbC^{n\timesm}\)存在且唯一。定义:若矩阵G满足\(AGA=A,~GAG=G,~(AG)^H=AG,~(GA)^H=GA\),则G是Moore-Penrose逆矩阵,可以记作\(A^+\)。性质:\(A^......
  • matlab 字符串处理函数
    ​ %字符串处理a=' a';b='b b';c='cccc';m=''%获取字符串长度length(a)    %连接两个字符串,每个字符串最右边的空格被裁切d=strcat(a,c) length(d)%连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空格%使与最长字符串相等,会忽略空字符串e=s......
  • MATLAB快捷键
    ​ 一、索引混排版备注:删除了如F1(帮助)等类型的常见快捷命令 ​编辑SHIFT+DELETE永久删除DELETE删除ALT+ENTER属性ALT+F4关闭CTRL+F4关闭ALT+TAB切换ALT+ESC切换ALT+空格键窗口菜单CTRL+ESC开始菜单拖动某一项时按CTRL复制所选项目拖动某一项时按CTRL......
  • MATLAB寻找最大值和最小值
     最大值C=max(A)最小值C=min(A)如果A是一个向量,max(A)返回A中的最大/最小元素。如果A是一个矩阵,max(A)将A中的每一列作为一个向量,并返回一个行向量,这个行向量包含了每一列的最大/小元素。比如:a=[1,7,10];b=min(a);得到:b=1而:a=[1,7,10;6,5,4;6,5,5]......
  • MATLAB对矩阵按照某一列排序
    转载:matlab对矩阵按照某一列排序_matlab对矩阵按列升序排列-CSDN博客升序排列:命令:data=[1,2,3;7,8,9;4,5,6];a1=sortrows(data,1);%按照第一列排序(升序),其他列与排序结果一一对应。a2=sortrows(data,2);%按照第二列排序(升序),其他列与排序结果一一对应......
  • MATLAB中的disp函数
    disp函数会直接将内容输出在Matlab命令窗口中,比如:par1=csvread('front_surface_pressure_005.csv',1,0);disp(par1);运行之后,会在命令窗口输出 front_surface_pressure_005.csv 文件中的数据内容:-0.014801.38680.053941.3740109.3200-0......