【发布时间】:2010-04-09 17:49:05
【问题描述】:
我有 3 组,每组 10 个向量,我想从第一组中获取 2 个向量,从第二组中获取 2 个向量,从第三组中获取 3 个向量。我的目标是做一个循环来执行下面的程序,知道每次计算后,结果都要保存在一个新文件中。
我的问题是我无法处理字符串中包含的索引。我尝试使用多个循环按索引顺序扫描 3 个集合。循环应该包含以下程序
clc;
clear all;
load('C:\Users\Documents\MATLAB\myFile\matrice_F.mat');
load('C:\Users\Documents\MATLAB\myFile\matrice_G.mat');
F = m_F;
G = m_G;
load('C:\Users\Documents\MATLAB\myFile\matrice_J.mat');
load('C:\Users\Documents\MATLAB\myFile\matrice_K.mat');
J = m_J;
K = m_K;
load('C:\Users\Documents\MATLAB\myFile\matrice_N.mat');
load('C:\Users\Documents\MATLAB\myFile\matrice_O.mat');
load('C:\Users\Documents\MATLAB\myFile\matrice_P.mat');
N = m_N ;
O = m_O;
P = m_P;
[A,B,C,D,E] = myFun(F,G,J,K,N,O,P);
file_name = 'matrice_final.mat';
save(file_name,'A','B','C','D','E');
感谢所有回答我问题的人。抱歉,如果我从一开始就没有那么准确。但是,我希望程序看起来像:
clc;
clear all;
set1={F,G,FF,GG,X,Y,XX,L,BH,JK}; %set of name vectors
set2={J,K,HG,UY,TR,BC,XW,IOP,ES,QA}; %set of name vectors
set3={AJ,RK,DS,TU,WS,ZZE,ZXW,TYP,ZAA,QWW}; %set of name vectors
for i=1:1:9
load('C:\Users\Documents\MATLAB\myFile\matrice_'set1(i)'.mat');
load('C:\Users\Documents\MATLAB\myFile\matrice_'set1(i+1)'.mat');
'set1(i)' = m_'set1(i)';
'set1(i+1)' = m_'set1(i+1)';
for j=1:1:9
load('C:\Users\Documents\MATLAB\myFile\matrice_'set2(j)'.mat');
load('C:\Users\Documents\MATLAB\myFile\matrice_'set2(j+1)'.mat');
'set2(j)' = m_'set2(j)';
'set2(j+1)' = m_'set2(j+1)';
for k=1:1:8
load('C:\Users\Documents\MATLAB\myFile\matrice_'set3(k)'.mat');
load('C:\Users\Documents\MATLAB\myFile\matrice_'set3(k+1)'.mat');
load('C:\Users\Documents\MATLAB\myFile\matrice_'set3(k+2)'.mat');
'set3(k)' = m_'set3(k)' ;
'set3(k+1)' = m_'set3(k+1)';
'set3(k+2)' = m_'set3(k+2)';
[Result1'index',Result2'index',Result3'index',Result4'index',Result5'index'] = myFun('set1(i)','set1(i+1)','set2(j)','set2(j+1)','set3(k)','set3(k+1)','set3(k+2)'); %% 9x9x8=648 index=1,2,...,648
file_name = 'matrice_final'index'.mat';
save(file_name,'Result1'index'','Result2'index'','Result3'index'','Result4'index'','Result5'index'');
clear 'set3(k)' 'set3(k+1)' 'set3(k+2)'
end
clear 'set2(j)' 'set2(j+1)'
end
clear 'set1(i)' 'set1(i+1)'
end
【问题讨论】:
-
您的问题是什么?你似乎只是想让我们给你代码
-
循环只是为了更改向量的名称。我只想知道如何包含索引。例如,for load('C:\Users\Documents\MATLAB\myFile\matrice_F.mat');如何使用循环通过 matrice_H 更改 matrice_F?
-
还是不明白你的问题。 '改变矩阵_F'是什么意思?
-
我有三组向量名称,我想在我的程序中循环这 3 组来更改向量 F、G、J、K、N、O、P。我怎么能去做?我无法处理字符串中包含的索引。
-
如果 set1={F,G,X,Y,Z,FF,GG,XX,YY,RR},我想用 matrice_X 和 matrice_Y 替换 matrice_F matrice_G 等等......其他两组也一样
标签: matlab