matlab函数定义调用
matlab调用自定义函数
Q2: MATLAB中如何在M文件中调用自定义函数
n 1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件;
n 2、函数文件+子函数:定义一个具有多个自定义函数的M文件;
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只能被主函数和主函数中的其他子函数调用。
Q3: 在matlab中怎么直接调用函数
在matlab中,如果是matlab自带的函数,则可以按照该函数的格式直接调用,如果是自己编写的函数,可以将函数写在一个文件中,之后再主文件中调用。举例说明如下:
% 文件名为fun.m(注意:文件名需要与函数名一致)
function y = fun(x)
y = x.^2;
下面开始编写主文件(文件名为main.m),并调用函数文件fun.m中的函数fun。
情况1:函数文件fun.m和主文件main.m在同一目录下,此时直接调用即可。
a = [1, 2, 3];
b = fun(a);% 运行后,b=[1, 4, 9]
情况2:函数文件fun.m和主文件main.m在不同一目录下,此时需要将函数文件包含进来才可以调用fun函数。
addpath('directory');% 其中,directory是函数文件fun.m的路径
a = [1, 2, 3];
b = fun(a);% 运行后,b=[1, 4, 9]
Q4: MATLABm文件中定义函数后可否在同一m文件中调用
在一个m文件中通常有两种定义子函数的方法:
1.嵌套定义
function mainFunc()
...
a = myfunc1();
...
function myfunc1()
...
end
end
2. 非嵌套定义
function mainFunc()
...
a = myfunc1();
...
end
function myfunc1()
...
end
在第二种情况中,myfunc1和主函数就是两个独立的函数,和把它们写在两个独立的文件
中没有差别。变量名想怎么起怎么起,不会有任何冲突。
而第一种情况中,myfunc1会和主函数共享变量名。这种情况下,使用相同的变量名。
Q5: 求一个MATLAB自定义函数并调用的实例程序
没其他条件吗?那例子太多了。
给你一个刚才帮别人调的Jacobi迭代求解线性方程组的程序吧。
函数(保存成Jacobi.m):
123456789101112131415161718functionx=Jacobi(A,b,x0)epsilon=0.001;n=length(b);x1=zeros(n,1);M=100;fork=1:1:Mfori=1:1:ns=sum(A(i,:)*x0(:))-A(i,i)*x0(i);x1(i)=(b(i)-s)/A(i,i);endfprintf('%.4f',x1);fprintf('\n');%按格式输出数据ifnorm(x1-x0,'inf')调用:
1234567A=[10.,-1.,2.,0.;-1.,11.,-1.,3.;2.,-1.,10.,-1.;0.0,3.,-1.,8.];b=[6.,25.,-11.,15.]';x0=zeros(4,1);x=Jacobi(A,b,x0)Q6: matlab中,怎么样用function自定义函数调用另一个函数名为输入?
test定义两个参数,一个是函数,一个是函数的变量。
function [z]=test11(funname,x)
z=funname(x);
调用方式如下
test11(@bestU,2)
小提示:内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。