2011-07-09 43 views
-7

可能重複:
How to concatenate a number to a variable name in MATLAB?

它必須是容易的,但我不能幫助找到它! 我正在使用10個循環的向量x(例如),最後我想將所有結果連接成一個矩陣10by10。爲了做到這一點,我必須將它們命名爲x1,x2,x3等。我該怎麼做?

編輯:我的代碼的一部分迄今爲止(從評論複製):

x = [0,0,0,1,0,0,1,0]; 
for k = 1:50 
    if x(1,8) ==1 && x(1,1)==1 && x(1,2)==1 
     x(1,1)=0; 
    elseif x(1,8) ==1 && x(1,1)==1 && x(1,2)==0 
     x(1,1)=0; 
    elseif x(1,8) ==1 && x(1,1)==0 && x(1,2)==1 
     x(1,1)=0; 
    elseif x(1,8) ==1 && x(1,1)==0 && x(1,2)==0 
     x(1,1)=1; 
    elseif x(1,8) ==0 && x(1,1)==1 && x(1,2)==1 
     x(1,1)=1; 
    elseif x(1,8) ==0 && x(1,1)==1 && x(1,2)==0 
     x(1,1)=1; 
    elseif x(1,8) ==0 && x(1,1)==0 && x(1,2)==1 
     x(1,1)=1; 
end 

...etc... 

disp(x) 
+1

關心顯示您迄今爲止的任何代碼?謝謝 – eat

回答

3

您應該在循環之前預分配矩陣,並在循環中,您只需直接插入載體中的列(或行)。像:

A= zeros(10, 10); 
for k in 1: 10 
    A(:, k)= %# result of your processing 
end 
+0

不,這完全不是我的意思 - 我想知道不僅僅是爲了這種情況,而是爲了將來如何爲變量x添加一個k值,所以我得到x1 = ... x2 = .. 。x3 = ...等。 – kojikurac

+1

這就是我解釋你的問題的方式。你需要提供更多的細節你的目標。顯示一些代碼來澄清你的問題。爲什麼你需要在循環中創建新的變量?當然這是可能的,但是它真的是解決你的案子的方式,我懷疑。謝謝 – eat

+0

我是一名作曲家,不是程序員,所以我只想知道我在MAXMSP和類似程序上學到的一些邏輯操作,但是我發現很難在這裏找到我的方法。我試着向你發送我的代碼,但是它太長了...我嘗試了你的建議,但它不起作用 - 報告錯誤:( – kojikurac