tpx840520 发表于 2006-4-8 12:36

[求助]请教关于一个错误提示的含义

请问错误提示A function declaration cannot appear within a script M-file.是什么意思,应该怎么改正,谢谢

cdwxg 发表于 2006-4-8 12:48

就是你用的function在M文件里面没声明吧
你打开你的用的m文件声明了应该就可以吧:)

云雨 发表于 2006-4-8 22:14

应该是在M文件的脚本里不能出现函数声明,不能定义函数,不知道我说的对不对,睬的

cdwxg 发表于 2006-4-8 23:59

function不是都写在M文件里面的么?
可能是你声明了什么吧,要不你把M文件的程序拿来看下。

cdwxg 发表于 2006-4-9 01:44

script M-file是命令文件,里面没有function的声明
函数M文件才可以。

cdwxg 发表于 2006-4-9 01:49

例如 分别建立命令文件和函数文件,将华氏温度f转换为摄氏温度c。
程序1:
首先建立命令文件并以文件名f2c.m存盘。
clear; %清除工作空间中的变量
f=input('Input Fahrenheit temperature:');
c=5*(f-32)/9
然后在MATLAB的命令窗口中输入f2c,将会执行该命令文件,执行情况为:
Input Fahrenheit temperature:73
c =
22.7778

程序2:
首先建立函数文件f2c.m。
function c=f2c(f)
c=5*(f-32)/9
然后在MATLAB的命令窗口调用该函数文件。
clear;
y=input('Input Fahrenheit temperature:');
x=f2c(y)
输出情况为:
Input Fahrenheit temperature:70
c =
21.1111
x =
21.1111

jiyilee 发表于 2006-5-30 18:10

回复:(cdwxg)例如 分别建立命令文件和函数文件,将...

我刚学MATLAB,想问如下是什么错---

>> Hf=@fun;
Isim=quad(@fun,0,1),
IL=quadl(@fun,0,1)
??? Error: File: E:\MATLAB\work\fun.m Line: 2 Column: 1
A function declaration cannot appear within a script M-file.

Error in ==> E:\MATLAB\toolbox\matlab\funfun\quad.m
On line 59 ==> y = feval(f, x, varargin{:});

happy 发表于 2006-5-30 21:05

回复:(tpx840520)请教关于一个错误提示的含义

函数写成
function y=fun(x)
y=exp(-x.*x);

然后点存盘,保存为fun.m

然后再命令窗口分别运行
Isim=quad(@fun,0,1)
IL=quadl(@fun,0,1)
这两条命令,你就会得到结果了
页: [1]
查看完整版本: [求助]请教关于一个错误提示的含义