【问题标题】:storing output values of five loops in an array by matlab通过matlab将五个循环的输出值存储在一个数组中
【发布时间】:2023-03-09 10:41:01
【问题描述】:

有一个方程有5个变量参数。每个参数都有一个 for 循环,所以这个方程取决于 5 个 for 循环,我想在矩阵数组中显示这个方程的结果。我该怎么做?

    for m1= 1:m1_end;
    m1_vec=zeros(1,col_no/m1_end)+m1;
    input_mat(1,col_no/m1_end*(m1-1)+1:col_no/m1_end*m1)= m1_vec;


    for m2= 1:m2_end;
        m2_vec=zeros(1,col_no/m2_end^2)+m2;
         input_mat(2,col_no/m2_end^2*(m2-1)+1:col_no/m2_end^2*m2)= m2_vec;

        for k1=1:k1_end;
            k1_vec=zeros(1,col_no/k1_end^3)+k1;
             input_mat(3,col_no/k1_end^3*(k1-1)+1:col_no/k1_end^3*k1)= k1_vec;

            for k2=1:k2_end;
                   k2_vec=zeros(1,col_no/k2_end^4)+k2;
                    input_mat(4,col_no/k2_end^4*(k2-1)+1:col_no/k2_end^4*k2)= k2_vec;

                for k3=1:k3_end; 
                     input_mat(5,col_no/k3_end^5*(k3-1)+1:col_no/k3_end^5*k3)= k3;
      M=[m1 0 ; 0 m2 ];
    K=[k1+k2 -k2 ; -k2 k2+k3];
  eigen_values=sqrt(eig(inv(M)*K))

                end

            end
        end
    end
    end

如何在矩阵中显示特征值的所有结果?

【问题讨论】:

  • 很不清楚你想要达到什么。可能大部分代码都不需要。您能否提供一个您想要的输出示例?
  • 或者,你能写一个数学公式吗?

标签: arrays matlab loops store


【解决方案1】:

你的代码有点乱,但你可以从保存所有特征值的东西开始

矩阵(如果只是标量)或元胞数组(如果它是向量)。

然后每次计算 eigen_values 后将其分配到存储变量中的正确位置。

例如,如果它是一个标量,并且您使用 t 跟踪您的进度:

all_eigen_values(t) = eigen_values;

【讨论】:

    猜你喜欢
    • 2017-08-10
    • 2017-08-06
    • 1970-01-01
    • 2014-05-09
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多