matlab中,作一个输入生日,输出星座的程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中,作一个输入生日,输出星座的程序相关的知识,希望对你有一定的参考价值。

我自己作的是这样的
function constellation(date)
if
date>=3.21&&date<=4.19
disp('Aries')
elseif
date>=4.20&&date<=5.20
disp('Taurus')
... ...
end
很啰嗦麻烦~~
有没有别的,好一些的办法?

可以化简

function constellation(date)

DateList = 1 : 12; %1:12换成对应的日期
CList = '射手','射手','射手',... %这里换成对应的星座名称。
index = find(CList <= date,1,'last'); 
disp(CListindex);

追问

谢谢你,我按照你的方法试了,确实很方便(有一点小改动,把第五行的 CList 改为 DateList )
我有一点不明白还想请教一下,DateList赋值中,使用超过两个的冒号,该怎么理解呢这条语句?

追答

你是说比如1:2:9这样的吗?如果是,中间的那个数表示间隔,
1:2:9就是[1 3 5 7 9]

追问

不是那个。我按照你说的,写出的语句是
>> DateList=1.20:2.19:3.21:4.20:5.21:6.22 %每个星座的开始日期
DateList =
1.2000 2.2000 3.2000 4.2000 5.2000 6.2000
这里用到了很多冒号,我还是第一次这样用。我是把它按区间理解了,这样对吗?

追答

不是的,那个DateList只需要你把所有的星座开始日期放进去就好了。
例如[1.20 2.19 3.21 4.20 5.21....]一共十二个数。

参考技术A 相信我,虽然啰嗦麻烦,但是你这个程序是最简单的了。追问

是吗..但是在matlab中,矩阵是解决的关键。总觉得自己的程序太繁杂~

追答

很多情况下用矩阵是关键,但这种情况最好用if...elseif...语句,而且if...elseif...语句正是专门针对这种情况的。
各种语句都有特定的应用场合,也有自己的局限性,结合起来使用一般都能解决问题。
望采纳~~

matlab GUI-数据输入,输出与处理的简单例子

参考技术A Matlab GUI 软件交互界面的初级操作无非是用户输入数据或者图片,然后程序接收到这些数据或者图片后,经过运算,最后在界面上输出计算后的数据或者图片。通过一个简单的加法计算器的例子来演示输入数据,数据处理和输出数据,给自学者参考借鉴。

1.首先,在命令行窗口输入guide,按回车键会跳出GUI创建选项,选择创建一个新的空白的GUI。

        2.创建好GUI后,会跳出如下的界面。左边一列是可供选择的控件,比如想要建立一个按钮,那就选中按钮这个控件后拖到右边的区域即可。这个例子会用到按钮、可编辑文本和静态文本。

       3.先拖三个可编辑文本到右边区域如下图。

4. 然后对可编辑文本框进行编辑,编辑的方法是双击它,会跳出如下图的属性编辑器。其中,“string”一栏对应的是可编辑文本框中的内容;“Tag”一栏是该可编辑文本框的标签(名字);“Fontsize”一栏是可编辑文本框中的字体大小。其他的属性还有很多,这次用不到,不一一介绍了。

5.将“string”一栏的内容删掉;将“Fontsize”一栏改为20,让字体大一点,可编辑文本框是可以拉大的,如果框太小而字体太大,就把框拉大一点。同理,在三个可编辑文本框的中间拉两个静态文本框,将它们的“string”一栏分别改为“+”和“=”,同样将“Fontsize”一栏改为20。效果如下图。

6.拖入一个按钮到布局中,双击它,将“string”一栏改为“计算”,字体也设为20号。如下图。

7.正常情况下每个GUI都得有按钮这个控件,因为在你输入参数或者图片后,得有操作来启发程序运算。我们右击按钮,找到“查看回调”里面的“callback”,点击它,就会进入按钮的回调函数。将你想要的运算程序放到按钮的回调函数中,当你点击按钮后,按钮的回调函数中的程序就会开始运行。

        8.在按钮回调函数中敲入如图的程序段。其中get()表示获取某个值,在这里就是获取可编辑文本框中的“string”,然后利用str2double()函数将字符型转换成数值。如此一来,edit1(最左边的可编辑文本框)的内容就读取到变量a,edit2(中间的可编辑文本框)的内容就读取到变量b。令c=a+b,然后利用set()函数将edit3(最右边的可编辑文本框)的“string”值设为c,要注意的是,这里需要利用num2str()函数将c从数值型再转换成字符型。

9.到这里就大功告成了。点击运行,然后往edit1和edit2里面输入数据,点击计算按钮,edit3就会显示计算结果啦。

以上是关于matlab中,作一个输入生日,输出星座的程序的主要内容,如果未能解决你的问题,请参考以下文章

虽然有点弱,matlab中如何绘制星座图

js 日期计算星座 根据生日的月份和日期,一行代码计算星座的js小函数(转)

用Java编写一个日期查询程序

计算某个生日是哪个星座的算法

急!急!!急!!编写C语言程序,输入一人的生日,并输入当前的日期,输出该人的实际年龄。

go语言基础语法-用一个程序学会编程思维