Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-04-13, 18:34   #1
hrt
初级会员
 
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0
hrt 正向着好的方向发展
默认 回复: 求助各位坛友,帮忙解决两道问题。。。

对于第一题,写了个函数M文件如下:
function fscore(x)
if((x>100)||(x<0))
disp('成绩不合理');
else
switch(floor(x/10)) %floor为MATLAB自带的取整函数
case {9,10}
disp('A');
case 8
disp('B');
case 7
disp('C');
case 6
disp('D');
otherwise
disp('E');
end
end

运行的一些结果如下:
>> fscore(101)
成绩不合理
>> fscore(-1)
成绩不合理
>> fscore(90.9)
A
>> fscore(65)
D

对于第二题
程序1:
k=0;
for i=1:100
if(rem(i,2)==0)
k=k+i;
else
continue;
end
end
k

结果为:
k =

2550

程序2:
>> i=2:2:100;
>> sum(i)

结果为:
ans =

2550

关于上面两道题,肯定还有其它方法啦~ ~
加油~ ~
hrt 当前离线   回复时引用此帖
旧 2009-04-13, 21:57   #2
heihakuang
初级会员
 
注册日期: 2009-04-13
年龄: 36
帖子: 4
声望力: 0
heihakuang 正向着好的方向发展
默认 回复: 求助各位坛友,帮忙解决两道问题。。。

谢谢你,第二题很简单,我明白了。
但是第一题我照着写了个M文件
出现的错误提示是:
??? Input argument "x" is undefined.

Error in ==> baifen2wuji at 2
if((x>100)||(x<0))
是不是我哪里操作错了???
heihakuang 当前离线   回复时引用此帖
旧 2009-04-13, 22:14   #3
hrt
初级会员
 
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0
hrt 正向着好的方向发展
默认 回复: 求助各位坛友,帮忙解决两道问题。。。

由于没有参数传给x,执行函数M文件就会出现你说的问题。
编写好M文件后,直接保存,不在debug下执行,就不会有问题了。(注意:m文件名要和函数名一样,为fscore)
再在matlab命令窗口中,输入命令:
>> fscore(101)

>> fscore(56)
。。。
可得到结果
hrt 当前离线   回复时引用此帖
旧 2009-04-13, 22:40   #4
heihakuang
初级会员
 
注册日期: 2009-04-13
年龄: 36
帖子: 4
声望力: 0
heihakuang 正向着好的方向发展
默认 回复: 求助各位坛友,帮忙解决两道问题。。。

原来是这样,呵呵,非常感谢
heihakuang 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 17:00


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.