在MATLAB调用函数

2156(30天)
user06
user06 2015年2月23日
评论道: Kebba呸2019年12月30日
我怎么能调用一个函数编写的m文件吗?
1评论
Kebba呸
Kebba呸 2019年12月30日
clc
清晰的
清除所有
want_to_do =“展示”;
表= '是的';
save_results = 0;
% % % % % % % % % % % % % % % % % % %新添加% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %加载数据% % % % % % % % % % % % % % % % % % % %
data = xlsread(“文件C: \ \戴尔\用户桌面\ \ Workr \ DEA_prac \ DEA_prac \ K011.xls ');
id =数据(:1);年=数据(:,2);Y =数据(:,3);
X_H =数据(:,6);xk =数据(:7);X_L =数据(:,5);
% % % % % % % % % % % % % % % %平方和变量
Y_sq = (y ^ 2)之和;
X_Hsq =总和(X_H。^ 2);
X_Ksq =总和(xk。^ 2);
X_Lsq =总和(X_L。^ 2);
% % % % % % % % % % % % % % %变量变量正常化% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Y_norm = y / Y_sq;
X_Hnorm = X_H. / X_Hsq;
X_Knorm = X_K. / X_Ksq;
X_Lnorm = X_L. / X_Lsq;
% % % % % % % %输入和输出向量
输入= [X_Hnorm、X_Knorm X_Lnorm];
输出= [Y_norm];
data1 =(输入、输出);
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
n =大小(数据,1);
t = (min(数据(:,2)):1:max(数据(:,2)))';
no_time =大小(t, 1);
N =大小(data1、1);
时间=数据(:,2);
%产出距离函数估计了DEA (O ' donnell, 2011)
函数(OTE、exitflag count_OTE] = outputTE_DEA_unban(输出、输入、N, t,时间,1)
exitflag = [];
选择= optimset(“显示”,“关闭”);
J =大小(输出,2);
K =大小(输入,2);
投票= 0 (N, 1);
n_t =大小(t, 1);
i = 1: n_t % % % % t
Q = [];
X = [];
j = 1: N
如果时间(j) = = t(我)
Q = [Q;输出(j)):;
X = [X;输入(j)):;
结束
结束
eval([‘问’,num2str(我),' =问;']);
eval ([' X ', num2str(我),' = X; ']);
结束
count_OTE = 0;
i = 1: N
j = 1: n_t % % % % % t
如果t (j) = =时间(我)
eval ([Qm =问,num2str (j), '; '])
eval ([Xm = X, num2str (j), '; '])
结束
结束
Qm = Qm ';
Xm = Xm ';
太=大小(Qm, 2);
% % % % % % % %
f = [1; 0 (mt, 1)];
A =[[输出(我,:)qm]; [0 (K, 1) Xm]];
b = [0 (J, 1);输入(我:)];
% % % % % % % % % % % % % % % % % % % % %
A_eq =[0的(mt)];
b_eq = 1;
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
磅= [0 0 (mt)] ';
乌兰巴托= [];
(para lambda_minus exitflag0] = linprog (f, A、b、A_eq b_eq,磅,乌兰巴托,[],选项);
% Para =[对位;帕拉');
如果exitflag0 = = 1
投票(i) = 1 / lambda_minus;
如果投票(我)> 1
count_OTE = count_OTE + 1;
投票(i) = 1;
结束
其他的
投票(i) = 0.5;
结束
exitflag = [exitflag; exitflag0];
结束
结束
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
我计算技术效率
谁能请告诉上面的代码有什么问题吗

登录置评。

接受的答案

Stephen23
Stephen23 2015年2月23日
编辑:MathWorks支万博1manbetx持团队 2019年5月22日
调用一个函数或脚本,写它的名字与必要的输入:
my_function ()
my_script
这是在命令窗口中,或在另一个函数或脚本。
你可能会想修改 脚本和函数之间的区别 在MATLAB中,这些有非常不同的属性!你也必须确保通过MATLAB调用的函数可以找到,这意味着它必须的 搜索路径
2的评论
Stephen23
Stephen23 2015年2月23日
你的两个函数在两个不同的Mfiles。如果这些是你应该确保函数函数和Mfile名称都是一样的。然后你可以从另一个调用一个函数(假设他们都在MATLAB搜索路径)。如果这是一个函数:
函数y = my_square (x)
%平方数
y = x ^ 2;
结束
然后我们可以简单地调用另一个函数如下:
函数出= my_fun
= 3;
= my_square(一个);% < -调用另一个函数
结束

登录置评。

更多的答案(0)

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!