我得到了这个:
"此语句不在任何功能中。 (遵循终止函数" plot_2_components"的定义的结局。(
我已经尝试在"结束"之前输入绘图,但没有显示地块。假设变量分配给它们。
function [U,A] = beer_game_orbit(a,b,t,Q,x0,n, k)
%create orbit in 15 x K matrix using a total of N matrix
A = zeros(15,n);
A(:,1) = x0;
for i =2:n
%compute but do not store yet, iterate over first column
A(:,i) = beer_game_function(a,b,t,Q,A(:,i-1));
end
U = A(:,n-k+1:n);
end
function [] = plot_2_components(k1,k2,U)
%k1 and k2 are the components who we can to graph against each other
%U is the output of beer_game_orbit
m = size(U(k1,:),2);
figure(1);
clf;
for i = 1:m
plot(U(k1,i),U(k2,i),'k*');
hold on
end
if(k1 == 1)
str1 = 'FI';
elseif k1 == 2
str1 = 'FB';
elseif k1 == 3
str1 = 'FPD2';
elseif k1 == 4
str1 = 'FPD1';
end
if(k2 == 1)
str2 = 'FI';
elseif k2 == 2
str2 = 'FB';
elseif k2 == 3
str2 = 'FPD2';
elseif k2 == 4
str2 = 'FPD1';
elseif k2 == 5
end
title(['Plot of ' str1 ' vs ' str2]);
end
Run [U] = beer_game_orbit(a,b,t,Q,x0,n,k)
plot_2_components(1,4,U)
谢谢!
看起来您正在尝试创建一个包含本地函数的脚本文件(注意:仅在R2016B或更高版本中支持(。如果是这样,那么您必须在之后移动本地功能您要在脚本中运行的代码。您的文件应该看起来像这样:
[U] = beer_game_orbit(a,b,t,Q,x0,n,k); % Code to run
plot_2_components(1,4,U); % Code to run
function [U,A] = beer_game_orbit(a,b,t,Q,x0,n, k) % Local function
% Code for beer_game_orbit...
end
function [] = plot_2_components(k1,k2,U) % Local function
% Code for plot_2_components...
end
如果您的文件使用功能启动,则将其视为功能文件而不是脚本。第一个函数是主函数(这是从文件外部调用(,而任何后续函数都是本地函数(只能从文件中调用(。功能文件无法在函数定义之外定义任何代码,因此您遇到的错误。