怎样在matlab中调用自定义函数

如题所述

调用函数:result =dist(ax, ay, bx, by);

输出结果:fprintf('笛卡尔坐标系中两点之间的距离是:%f\n',result);

脚本文件: test_dist.m

目标: 实际调用自定义函数dist

定义变量:

a1:位置a的x坐标

b2:位置b的y坐标

a1:位置a的x坐标

b2:位置b的y坐标

获取输入数据

disp('计算笛卡尔坐标系中两点之间的距离');

ax =input ('输入位置a的x坐标: ');

ay =input ('输入位置a的y坐标: ');

bx =input ('输入位置b的x坐标: ');

by =input ('输入位置b的y坐标: ');

扩展资料:

自定义函数代码

function  distance = dist(x1, y1, x2, y2) %写在首行

自定义函数脚本文件:dist.m

函数功能:该函数用来计算笛卡尔坐标系中两点之间的距离,两个点的坐标通过形参输入(4)

学习H1注释行的使用,及函数的调用

DIST函数:计算计算笛卡尔坐标系中两点之间的距离

应用示例:res =dist(x1, y1, x2, y2)

定义变量:

x1:位置1的x坐标

y2:位置2的y坐标

x1:位置1的x坐标

y2:位置2的y坐标

计算距离:distance = sqrt((x2-x1).^2 + (y2-y1).^2);

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-17
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只能被主函数和主函数中的其他子函数调用。
第2个回答  2012-04-30
把它们全放在同一路径下,然后使用函数名来调用(有参数的加参数),记住:调用时保持与原有函数的形式一致(名字可以不同)。
第3个回答  2013-12-03
比如,我希望定义一个求和的程序,f(x,y)=x+y. 那么,首先,新建一个m文件,在m文件中写下如下程序:
function x=sums(a,b)
x=a+b;
end
将该文件保存为test.m。
那么在command主窗口可以对上述函数进行调用。
x=test(1,2); !!!!!!!!!这里不能写成x=sums(1,2);
结果会显示3.
即调用的是m文件名,而不是m文件中的函数名!当然,二者可以相同。
你可以自己试一试,亲身体会一下。
第4个回答  2012-04-29
直接函数名调用。函数源文件放在 工作路径下,函数名称不能和matlab已有的重复。
相似回答