matlab - 当我在结束函数后进入绘图时,MATLAB 图不会显示
问题描述
我明白了:
“此语句不在任何函数内。(它遵循终止函数“plot_2_components”定义的END。)”
我试过在“结束”之前输入情节,但没有出现情节。假设变量具有分配给它们的值。
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
如果您的文件以函数开头,那么它将被视为函数文件而不是脚本。第一个函数是主函数(从文件外部调用),而任何后续函数都是本地函数(只能从文件内调用)。函数文件不能在函数定义之外定义任何代码,因此您会遇到错误。
推荐阅读
- wordpress - 如果帖子类型在自定义分类术语中,则隐藏 DIV
- python - 如何使用 rawpy 对原始图像进行后处理,使其与相机中的 ISP 等默认输出具有相同的效果?
- java - Mockito 嘲笑 void 方法
- wordpress - Woocommerce - 税收可选
- html - 是否可以使用 AND Fontawesome 类预定义输入?
- ios - 以纵向模式拍摄的图像选择器(UIImagePickerController)中的照片显示为拉伸 - Xcode 11 / SwiftUI
- mysql - Mysql通过添加o减去带有限制的值来更新先前的值
- javascript - Appmaker:如何在客户端获取我刚刚创建的项目的 ID?
- node.js - 错误 npm install 没有适用于 https-proxy-agent-snyk-fork 的有效版本
- three.js - 如何在threejs中获得形状的角落