【问题标题】:How to assign values to the variables in MATLAB?如何为MATLAB中的变量赋值?
【发布时间】:2014-12-01 19:32:27
【问题描述】:

我创建了一个 2*2 大小的变量向量,我正在尝试为它们分配一些值并在我的程序中进一步使用它们,但我不知道该怎么做

Rho= sym('Rh0',[2,2]);
abc= [1 2; 5 6];

我对输出的期望是

Rho1_1=1
Rho1_2=2
Rho2_1=5
Rho2_2=6

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: matlab variables variable-assignment


    【解决方案1】:

    以下作品;使用num2cell 将数组转换为元胞数组,然后使用多个索引将变量与元胞数组的内容“处理”:

    clear
    clc
    
    abc= [1 2; 5 6];
    
    abcCell = num2cell(abc'); %// Note the transpose; needed to get correct order.
    
    [Rho1_1, Rho1_2,Rho2_1,Rho2_2] = abcCell{:}
    

    给出这个:

    Rho1_1 =
    
         1
    
    
    Rho1_2 =
    
         2
    
    
    Rho2_1 =
    
         5
    
    
    Rho2_2 =
    
         6
    

    【讨论】:

    • 谢谢@Benoit。但是如果我有类似 625 个变量的东西,我必须逐字键入它们才能执行“交易”命令?即代码的第 3 行。我不能直接在左侧指定一个向量来为这个 625 个变量的向量分配一些值吗?
    • mhh 那么它会有点复杂是的。您可能想研究使用结构的动态字段索引,或者常规循环可能会完成这项工作。如果没有关于您的数据的更多信息,这有点难以判断。
    【解决方案2】:
    rho = sym('r',[2,2]);
    r1_1 = 1;
    r1_2 = 2;
    r2_1 = 5;
    r2_2 = 6;
    subs(rho)
    

    吐出来

    ans =
    
         1     2
         5     6
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 2016-03-17
      • 2021-04-27
      • 2014-06-27
      • 2022-11-28
      • 2018-06-18
      相关资源
      最近更新 更多