MATLAB中定义函数并保存后怎么运行啊?

定义了function main()的函数并保存为main.m,不知道怎么运行,如果在编辑器里直接运行显示不能定义函数,还显示“无法计算指定节,原因是其包含了无效的语句”‘这又是怎么回事?

你好!定义好了函数及各个参数,直接运行函数名和参数就可以了
比如:在主程序或命令窗口上写好main(参数)或者直接main运行即可追问

我的另一个提问里粘贴了函数的详细内容,能麻烦你去看一下并指出错误么?谢谢了大仙

追答

给我地址呀

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-25
Matlab自定义函数的几种方法
1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件;
2、函数文件+子函数:定义一个具有多个自定义函数的M文件;
3、Inline:无需M文件,直接定义;
4、匿名函数;
5、Syms+subs: 无需M文件,直接定义;
6、字符串+subs:无需M文件,直接定义;
7、直接通过@符号定义.
1、函数文件+调用函数文件:定义多个M文件:
% 调用函数文件:myfile.m
clear
clc
for t=1:10
y=mylfg(t);
fprintf(‘M^(1/3)=%6.4f\n’,t,y);
end
%自定义函数文件: mylfg.m
function y=mylfg(x) %注意:函数名(mylfg)必须与文件名(mylfg.m)一致
Y=x^(1/3);
注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。
2、函数文件+子函数:定义一个具有多个子函数的M文件
%命令文件:funtry2.m
function []=funtry2()
for t=1:10
y=lfg2(t)
fprintf(‘M^(1/3)=%6.4f\n’);
End
function y=lfg2(x)
Y= x^(1/3);
%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。
3、Inline:无需M文件,直接定义;
%inline命令用来定义一个内联函数:f=inline(‘函数表达式’, ‘变量1’,’变量2’,……)。
调用方式:y=f(数值列表) %注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。
例如:
f=inline(‘x^2+y’,’x’,’y’);
z=f(2,3)
Ans=7
注:这种函数定义方式是将它作为一个内部函数调用。特点是,它是基于Matlab的数值运算内核的,所以它的运算速度较快,程序效率更高。缺点是,该方法只能对数值进行代入,不支持符号代入,且对定义后的函数不能进行求导等符号运算。
例:
Clear
Clc
f=’x^2’;
Syms x g;
g=x^2;
h=inline(‘x^2’,’x’);

4. 匿名函数

使用matlab函数句柄操作符@,可以定义指向matlab内置函数和用户自定义函数的函数句柄,函数句柄也可以像函数一样的使用。例如:
>>x=-pi:0.1:pi;
>> fh={@cos,@sin};
fh =
@cos @sin
>>plot(fh{2}(x))

5、Syms+subs: 无需M文件,直接定义;
用syms定义一个符号表达式,用subs调用:
Syms f x %定义符号
f=1/(1+x^2); %定义符号表达式
subs(f, ‘x’, 代替x的数值或符号)
注:对于在syms中已经定义过的符号变量,在subs中进行替代时,单引号可以省略。但是,如果在syms后又被重新定义为其他类型,则必须加单引号,否则不可替换。
这种函数定义方法的特点是,可以用符号进行替换
Syms f x
f=1/(1+x^2);
subs(f, ‘x’,’y^2’)
ans=
1/(1+(y^2)^2)
注:该方法的缺点是,由于使用符号运算内核,运算速度会大大降低。
6、字符串+subs:无需M文件,直接定义;
直接定义一个字符串,用subs命令调用。例如:
f=’1/(1+x^2)’ %定义字符串
z=subs(f,’x’,2)
g=subs(f,’x’,’y^2’)
注:优点是,占用内存最少,定义格式方面自由。
缺点是,无法对字符进行符号转化。
当所要替代的符号在调用前都已经有了数值定义,则可以直接调用:subs(f).例如:
f=’x^2*y’;
x=2;y=3;
subs(f)
ans=12
7、直接通过@符号定义.
示例如下:
>> f=@(x,y)(x.^2-sin(y))
f =
@(x,y)(x.^2-sin(y))
>> f(2,3)
ans =
3.8589

MATLAB中定义函数并保存后怎么运行啊?
你好!定义好了函数及各个参数,直接运行函数名和参数就可以了 比如:在主程序或命令窗口上写好main(参数)或者直接main运行即可

matlab自定义函数保存在哪,保存名称,之后怎么在命令窗口调用,求调用程 ...
在命令窗口输入[n,s]=myfunction (N);注意之前要对N赋值才行,相当于C语言的调用。保存名称要和函数名称一致,保存在当前路径下。也就是你准备调用这个函数文件的路径

编制好了MATLAB程序,怎么在MATLAB里面运行?
1、如下图所示,打开MATLAB软件后点击File\/New\/Script后,会出现文件编辑窗口:2、在文件编辑窗口输入代码(以plot函数代码为例),如下图所示:3、检查代码,确保没有错误后点击窗口中运行(Run)按钮,运行程序(如下图红色箭头所示按钮):4、查看运行结果,由于利用plot函数绘制曲线,所以运行后出现如下...

matlab如何运行程序
matlab如何运行程序:1、首先点击“matlab”软件,并且打开。2、进入主界面之后,选择“新建”中的“脚本”或者“函数”。3、按个人需要来编写代码包括“m主程序和函数文件”。4、在运行之前需要点击左上方的“保存”选项。5、然后点击上方的“运行”按钮开始。6、最后如果没有报错的提示出来,就成功运行...

matlab中自己编写的函数文件可以直接运行吗,怎么调试?
错误1 :引导词function后要空格。如下:function [r,theta]=rect2polar(x,y)r=sqrt(x.^2+y.^2);theta=180\/pi*atan(y,x);错误2:程序没有循环,不需要end。错误3:建立函数文件后保存到work文件夹后。不能直接点击运行,而是要从键盘键入“输入参数”x,y的值。再键入 [r,theta]=rect2...

matlab中自己编写的函数文件可以直接运行吗?
有两种方法。1、在命令窗口输入rect2polar(1,1);2、将函数改为 function[r,theta]=rect2polar(x,y)if nargin==0 x=1;y=1;%随意修改 end r=sqrt(x.^2+y.^2);theta=180\/pi*atan(y,x);end ps:atan(y,x)真的可以调试通过么 ...

MATLAB用function定义一个函数后,怎么让这个函数生效?
1、你可以通过在命令栏中输入function,点击右键或者按F1来查询function函数的帮助文档。2、在帮助文档中对function函数进行了详细的功能描述,使用方法的介绍。其基本形式为:function [ ]= fun( ); 即为:[输出]= fun(输入)。3、点击软件左上角新建,新建一个.m文件或者函数都可以进行编辑。4、其...

请问matlab中M文件写的程序开头是定义的function后怎么运行
命令文件可以直接运行,在MATLAB命令窗口中输入命令文件的名称,就会执行你的命令文件,但是函数文件是不能直接运行的,要以函数调用的方式来调用它。函数文件的命名方式要与该文件的除去注释行的第一行(以function output=funname(input)为标志)中的这个funname保持一致(该名字不能与matlab自带的关键字、...

matlab怎么运行代码 运行代码方法分享介绍
1.先安装正版【matlab】并确保工具箱安装成功激活客户端。2.然后进入matlab单击左上角的新按钮创建m文件或函数文件。3.根据自己的计算需要,包括编写代码。【m主程序和函数文件。4.在运行程序之前,单击左上角的保存选项按钮。5.在matlab点击【三角符号】上菜单开始运行。6.最终操作没有报错,弹出操作...

用matlab编写的程序怎么运行啊
这是一个函数程序,先要将它存为.M文件,直接保存就可以了,好像一定要在默认文件夹,一般是work文件夹里 再在另一个窗口中调用这个函数。给出x0,y0,x的值 x0=[]y0=[]x=[];然后调用函数 aa=lagr1(x0,y0,x)

相似回答