Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-04-27
住址: 江西
年龄: 37
帖子: 9
声望力: 0 ![]() |
![]()
我编辑了以下一个函数:
function y=wes(w1,i,u,b) %函数名:wes %函数功能:计算成绩累加和 %参数:w1,i,u,b y=(w1-u/b)*exp(-(i-1)*b)+u/b 在函数编辑窗口run一下,显示如下信息: ??? Input argument "w1" is undefined. Error in ==> wes at 5 y=(w1-u/b)*exp(-(i-1)*b)+u/b 我硬着输入y=wes(2,2,1,1) 输出结果是: y = 1.3679 y = 1.3679 有两个y,为什么?请帮忙改一改,谢谢! |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21 ![]() |
![]()
y那句话后面没有分号啊,楼主。加个分号就可以了。。。。
function y=wes(w1,i,u,b) %函数名:wes %函数功能:计算成绩累加和 %参数:w1,i,u,b y=(w1-u/b)*exp(-(i-1)*b)+u/b;
__________________
坚持就是胜利,努力就有奇迹。 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-04-27
住址: 江西
年龄: 37
帖子: 9
声望力: 0 ![]() |
![]()
谢谢laosam280!
没有分号的问题后来我也发现了,但每运行一次系统老给我错误警告,我算了一下,输出结果是没有错的.我想问一下怎么能消除这个警告呢? 谢谢. |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-04-27
住址: 江西
年龄: 37
帖子: 9
声望力: 0 ![]() |
![]()
谢谢,能否再帮我看看.
|
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2009-03-21
年龄: 58
帖子: 5
声望力: 0 ![]() |
![]()
function y=wes(w1,i,u,b)
%函数名:wes %函数功能:计算成绩累加和 %参数:w1,i,u,b y=(w1-u/b)*exp(-(i-1)*b)+u/b; end y=wes(2,2,1,1) y = 1.3679 没有警告的,可能版本问题,7.0以下版本对格式输入比较严格。我在用的是7.8
__________________
冰雪社区 ![]() |
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2009-06-20
住址: 学校
年龄: 38
帖子: 24
声望力: 16 ![]() |
![]()
朋友, 我大概知道你怎样出错了,你是不是让函数单独运行了啊.这样肯定出错了.
错误是这样的: ??? Input argument 'w1' is undefined. Error in ==> C:\MATLAB6p5\work\wes.m On line 2 ==> y=(w1-u/b)*exp(-(i-1)*b)+u/b; 对吗? 直接在M文件中建立一个函数即可: function y=wes(w1,i,u,b) y=(w1-u/b)*exp(-(i-1)*b)+u/b; 函数名自动命名为wes.m. 在命令窗口中: 输入: y=wes(2,2,1,1) 结果: >> y=wes(2,2,1,1) y = 1.3679 没有任何问题的啊!!! |
![]() |
![]() |