Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 基础科学 > 数学 > 数学建模专区
数学建模专区 A discussion board for Mathematical Modelling.
回复
 
主题工具 显示模式
旧 2009-05-01, 10:34   #1
xieyunfei
初级会员
 
注册日期: 2009-04-27
住址: 江西
年龄: 37
帖子: 9
声望力: 0
xieyunfei 正向着好的方向发展
默认 求助:有关matlab函数的问题

我编辑了以下一个函数:
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,为什么?请帮忙改一改,谢谢!
xieyunfei 当前离线   回复时引用此帖
旧 2009-05-01, 16:44   #2
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: 求助:有关matlab函数的问题

y那句话后面没有分号啊,楼主。加个分号就可以了。。。。
function y=wes(w1,i,u,b)
%函数名:wes
%函数功能:计算成绩累加和
%参数:w1,i,u,b
y=(w1-u/b)*exp(-(i-1)*b)+u/b;
__________________
坚持就是胜利,努力就有奇迹。
laosam280 当前离线   回复时引用此帖
旧 2009-05-02, 08:22   #3
xieyunfei
初级会员
 
注册日期: 2009-04-27
住址: 江西
年龄: 37
帖子: 9
声望力: 0
xieyunfei 正向着好的方向发展
默认 回复: 求助:有关matlab函数的问题

谢谢laosam280!
没有分号的问题后来我也发现了,但每运行一次系统老给我错误警告,我算了一下,输出结果是没有错的.我想问一下怎么能消除这个警告呢?
谢谢.
xieyunfei 当前离线   回复时引用此帖
旧 2009-05-02, 08:31   #4
xieyunfei
初级会员
 
注册日期: 2009-04-27
住址: 江西
年龄: 37
帖子: 9
声望力: 0
xieyunfei 正向着好的方向发展
默认 回复: 求助:有关matlab函数的问题

谢谢,能否再帮我看看.
xieyunfei 当前离线   回复时引用此帖
旧 2009-06-29, 05:41   #5
zlhxln
初级会员
 
注册日期: 2009-03-21
年龄: 58
帖子: 5
声望力: 0
zlhxln 正向着好的方向发展
默认 回复: 求助:有关matlab函数的问题

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
__________________
冰雪社区
zlhxln 当前离线   回复时引用此帖
旧 2009-06-30, 22:26   #6
cfchenchen
初级会员
 
注册日期: 2009-06-20
住址: 学校
年龄: 38
帖子: 24
声望力: 16
cfchenchen 正向着好的方向发展
默认 回复: 求助:有关matlab函数的问题

朋友, 我大概知道你怎样出错了,你是不是让函数单独运行了啊.这样肯定出错了.
错误是这样的:
??? 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
没有任何问题的啊!!!
cfchenchen 当前离线   回复时引用此帖
回复


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

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



所有时间均为北京时间。现在的时间是 04:08


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