返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 基础科学-不仅仅是MATLAB! > 数学 > 数学建模专区


数学建模专区 A discussion board for Mathematical Modelling.

挖掘已有资源,发帖前请先搜索!
虚拟主机 域名注册 香港空间
回复
 
LinkBack 主题工具 显示模式
旧 2009-05-01, 10:34 AM   #1
初级会员
 
注册日期: 2009-04-27
住址: 江西
年龄: 23
帖子: 9
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
xieyunfei 正向着好的方向发展
发送 AIM 消息给 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, 04:44 PM   #2
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 232
感谢他人: 0
有 24 帖获得 25 感谢
声望力: 8
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 AM   #3
初级会员
 
注册日期: 2009-04-27
住址: 江西
年龄: 23
帖子: 9
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
xieyunfei 正向着好的方向发展
发送 AIM 消息给 xieyunfei
默认 回复: 求助:有关matlab函数的问题

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

谢谢,能否再帮我看看.
xieyunfei 当前离线   回复时引用此帖
旧 2009-06-29, 05:41 AM   #5
初级会员
 
注册日期: 2009-03-21
年龄: 45
帖子: 5
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 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, 10:26 PM   #6
初级会员
 
注册日期: 2009-06-20
住址: 学校
年龄: 24
帖子: 24
感谢他人: 1
有 3 帖获得 8 感谢
声望力: 3
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 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 03:31 AM


Powered by vBulletin
版权所有 ©2000 - 2012,Jelsoft Enterprises Ltd.
陕ICP备07001583号
感谢MEyu科技提供优质空间

SEO by vBSEO ©2009, Crawlability, Inc.