Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中的forlooping句柄_Matlab_Loops_Handles - Fatal编程技术网

matlab中的forlooping句柄

matlab中的forlooping句柄,matlab,loops,handles,Matlab,Loops,Handles,我有一个关于for循环的问题。我有10个文本框,分别命名为,text1\u数据,text2\u数据。。。文本10_数据 我想做的是循环这个东西,这样我就不必手工写下每一个可能的结果。(a应该可以相当大。) 我试着写h=text{i}_数据,但没有成功。关于h应该等于什么有什么想法吗 data=xlsread('nipmaterial.xlsx') a=(get(materialpopup_data,'value'))-1 for i=1:10 h=t

我有一个关于for循环的问题。我有10个文本框,分别命名为,text1\u数据,text2\u数据。。。文本10_数据

我想做的是循环这个东西,这样我就不必手工写下每一个可能的结果。(a应该可以相当大。)

我试着写h=text{i}_数据,但没有成功。关于h应该等于什么有什么想法吗

data=xlsread('nipmaterial.xlsx')
      a=(get(materialpopup_data,'value'))-1

      for i=1:10
          h=text{i}_data;
          set(h,'string',data(a,i))
      end

出于演示目的,首先创建一个放置文本的图形:

clear all
close all
clc

% Create a figure for demonstration
figure(1)
xlim([0 2])
ylim([0 11])
hold on
然后,在创建文本框时,只需将初始文本框句柄指定给单元格数组:

% Create initial text boxes and store handle in the cell text_box.
text_box=cell(10,1);
for ii=1:10
    text_box{ii}=text(1,ii,'Initial text');
end
之后,您可以再次给他们打电话,根据自己的喜好进行更改:

% Call text boxes again to change the text:
for ii=1:10
    h = text_box{ii} % Retrieve handle from cell
    set(h,'string','Other text than initial text')
end

把你所有的文本框放进一个单元格数组而不是单个变量,这样你就可以很容易地迭代它们。如果你问“如何在单元格数组中放置句柄”,也许MATLAB的优点还不适合你。我会给你一个最丑陋但最短的解决方案,然后也许你会思考一下@Daniel说的话,试着在某个时候试一试,只是为了正确的事情。因此,丑陋的解决方案
eval(sprintf('h=text%d_data;',i))(MATLAB上帝;请原谅我使用了
eval
!他创造了我……)每次有人叫eval()一只小海豹就死了!有时它们是最好的解决方案,但大多数情况下。。。不是。@EJG89希望我写的是死代码,永远不会运行。:-)@EJG89
eval
没有问题。该代码将像任何其他有效代码一样编译。通常应避免使用
eval
,但使用时当然有原因。但是,我建议在这里使用结构数组,因为
text
似乎连接到多个属性。