MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   数学建模专区 (https://www.labfans.com/bbs/forumdisplay.php?f=62)
-   -   求助:有关matlab函数的问题 (https://www.labfans.com/bbs/showthread.php?t=8024)

xieyunfei 2009-05-01 10:34

求助:有关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,为什么?请帮忙改一改,谢谢!

laosam280 2009-05-01 16:44

回复: 求助:有关matlab函数的问题
 
y那句话后面没有分号啊,楼主。加个分号就可以了。。。。
function y=wes(w1,i,u,b)
%函数名:wes
%函数功能:计算成绩累加和
%参数:w1,i,u,b
y=(w1-u/b)*exp(-(i-1)*b)+u/b;

xieyunfei 2009-05-02 08:22

回复: 求助:有关matlab函数的问题
 
谢谢laosam280!
没有分号的问题后来我也发现了,但每运行一次系统老给我错误警告,我算了一下,输出结果是没有错的.我想问一下怎么能消除这个警告呢?
谢谢.

xieyunfei 2009-05-02 08:31

回复: 求助:有关matlab函数的问题
 
谢谢,能否再帮我看看.

zlhxln 2009-06-29 05:41

回复: 求助:有关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

cfchenchen 2009-06-30 22:26

回复: 求助:有关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
没有任何问题的啊!!!


所有时间均为北京时间。现在的时间是 02:12

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