声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1046|回复: 6

[编程技巧] 关于function的问题

[复制链接]
发表于 2008-9-24 20:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位大家好:
      我是新手,我想问一个关于function的问题,在看过一个相关贴子后,
原帖:如果你编写的函数带有输入参数(例如 x ),则跟其他语言一样,这只是形式参数,所以不能通过直接运行该函数(或者m文件)来测试,这样会出现 ??? Input argument "x" is undefined. 的错误。一定要从其他地方(如命令窗口或者其他函数对其调用)来传递真实值,此时 x 才是实际参数。如果你有C语言的编程经验,命令窗口就相当于main函数;如果没有,以下是举例:
myPlus.m:
CODE:
function d = myPlus(a,b)
d = a + b;

命令窗口:
CODE:
>> x = 2;
>> y = 5;
>> z = myPlus(x,y)


问题:我在MATLAB里试过了,这个程序不能用呀,function的名字和M文件名一样,形参和实参也分开了,但是还是提示还是提示有错。
程序如下
%function 中的形参与实参的问题
function d = myPlus(a,b)
d = a + b;
x=1;
y=2;
z=myPlus(x,y)
提示:
??? Input argument "a" is undefined.
Error in ==> myPlus at 3
d = a + b;
还有:
function c = f2c(f)   
f = input('Input Fahrenheit temperature:');
c = 5*(f-32)/9;
clear;
y = input('Input Fahrenheit temperature:');
x = f2c(y)
在MATLAB中command windows中一直是:
Input Fahrenheit temperature:67
Input Fahrenheit temperature:2
要求输入值,但又不计算结果,还跳不出循环,不知道怎么改!
我知道都是小问题,不过弄了一天也没弄出来,希望大侠指点一下,我好赶紧进入下一个问题.谢谢!
回复
分享到:

使用道具 举报

发表于 2008-9-24 21:13 | 显示全部楼层
没问题呀

x=1;
y=2;
z=myPlus(x,y)

z =

     3

评分

1

查看全部评分

 楼主| 发表于 2008-9-25 09:25 | 显示全部楼层

感谢回复,还有点不解!

首先感谢你的帮助,还有点小问题有点不理解!
我又试了试,在M文件中输入
function d = myPlus(a,b)
d = a + b;
然后在command windows中输入
> x=1;
y=2;
z=myPlus(x,y)
的确能得到:
z =
     3
但我想要在M文件中输入
function d = myPlus(a,b)
d = a + b;
x=1;
y=2;
z=myPlus(x,y)
得到
z =
     3
这样我就可以在M文件中编写一个更长,更多运算的程序,而不是将整个function的运算放到M文件外面做,这样可以吗?再次谢谢!
 楼主| 发表于 2008-9-25 09:29 | 显示全部楼层

还有

还有就是虽然有
x=1;
y=2;
z=myPlus(x,y)

z =

     3
结果正确!但是还是有报错信息这是为什么呀?如下:
??? Input argument "a" is undefined.

Error in ==> myPlus at 3
d = a + b;
发表于 2008-9-25 10:39 | 显示全部楼层
结果是这正确的啊
真的搞不懂了
发表于 2008-9-25 15:22 | 显示全部楼层
可以这样:

function filename()%定义无返回值函数
x=1;
y=2;
z=myplus(x,y);
return;

function y=myplus(a,b)
y=a+b;
return;

[ 本帖最后由 zhong84 于 2008-9-25 15:31 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2008-9-25 15:32 | 显示全部楼层

谢谢

最后我弄明白了,呵呵,人笨没办法,还是感谢各位的帮助,谢谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-4 13:28 , Processed in 0.061741 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表