如何创建一个新的变量在每个在for循环中运行?

29日视图(30天)
我的一个作业,我使用一个For循环来获取一个新的矩阵每个数字在一个“a”“x”的范围内。
然而,每一次循环运行时,变量保持不变,这将使其难以区分
矩阵与不同数量的“x”。有没有一种方法,每一次循环运行时,我可以设置一个新的变量等于“a”不断?
然后我将A1, A2, A3、A4、A5…等。我将不胜感激任何帮助!
clc
清除所有
%定义变量
x = 0:0.01:2;
k = 1:长度(x) % x范围
α=每股(1. / (2 x (k)));%α角
β=每股((2 x (k)。/ 1);%β角
γ=每股(x (k));%γ角
一个= 0 (10);%建立零矩阵
b = [0; 2。0, 1, 0, 0, 0, 0, 0, 0);%为以后替换
%定义一个矩阵
(1:2)=[1,因为(α)];
(2,2)=(罪(α));
(1:5)= [1,0,0,0,1];
(4,3)= [1];
(7)=(罪(β),0,0,0,罪(γ),1];
(6日2:5)= (cos(β),1,0 - cos(γ)];
(7、8)= [1,0,1];
(七)= [1,0,1];
(9,4:10)=[1,罪(γ),0,0,0,0,1];
(10、7)= (cos(γ),0,1];
一个
xrow = pinv (A) * b %高斯方法寻找未知的力量
结束
4评论
Stephen23
Stephen23 2021年7月9日
编辑:Stephen23 2021年7月9日
“然而,每次循环运行时,该变量保持不变”
因为你没有使用任何基于循环迭代索引变量k来存储每个循环的结果。如何使用索引在一个循环中所示的入门教程,或文档数组预先配置:
“有没有一种方法,每一次循环运行时,我可以设置一个新的变量等于”一个“不断?”
当然,这是很容易的,基本的MATLAB索引。
”然后我将A1, A2, A3、A4、A5…等。”
这将是最糟糕的方法。
而不是强迫pseudo-indices变量名称,只使用实际指数在一个数组中。

登录置评。

接受的答案

为副总经理
为副总经理 2021年7月8日
编辑:为副总经理 2021年7月9日
数组索引。标量和变量名不。如果你发现自己把序数信息嵌入在变量名,你应该停止和使用一个数组。
将变量存储在一个数组的一些适合你的类型把。
例如:
N = 4;
bigA =细胞(N, 1);
n = 1: n
一个=兰德(4);
bigA {n} =一个;
结束
格式紧凑的%只是为了加强web显示
celldisp (bigA)
bigA {1} = 0.1840 0.7896 0.8760 0.8886 0.2737 0.9784 0.5529 0.7511 0.0631 0.5860 0.6735 0.9561 0.5812 0.2218 0.1747 0.3220 bigA {2} = 0.5867 0.8644 0.8288 0.7139 0.1717 0.1442 0.6000 0.7751 0.2383 0.9257 0.1120 0.9512 0.2443 0.7263 0.5976 0.5300 bigA {3} = 0.9682 0.1485 0.0110 0.7669 0.2349 0.3334 0.2995 0.8681 0.8535 0.8289 0.3777 0.8126 0.4849 0.6876 0.8785 0.3668 bigA {4} = 0.3385 0.6856 0.0589 0.3541 0.7796 0.4151 0.1089 0.9215 0.0120 0.2100 0.3975 0.1568 0.7010 0.5085 0.3946 0.0702
使用一个细胞有一些好处如果矩阵大小变化或非常大,但ND阵列的工作原理和在某些情况下可能是更容易使用。
也有可能整个问题的存储可以避免通过简单计算适当的矩阵在代码中需要使用。知道这将是一个选项需要进一步了解你的任务,你编写的代码。
编辑:
不知道你会怎么处理结果,我假设你想保持一个和xrow:
x = 0:0.01:2;
结果=细胞(元素个数(x), 2);
k = 1:长度(x)% x范围
α=每股(1. / (2 x (k)));%α角
β=每股((2 x (k)。/ 1);%β角
γ=每股(x (k));%γ角
一个= 0 (10);%建立零矩阵
b = [0; 2。0, 1, 0, 0, 0, 0, 0, 0);%为以后替换
%定义一个矩阵
(1:2)=[1,因为(α)];
(2,2)=(罪(α));
(1:5)= [1,0,0,0,1];
(4,3)= [1];
(7)=(罪(β),0,0,0,罪(γ),1];
(6日2:5)= (cos(β),1,0 - cos(γ)];
(7、8)= [1,0,1];
(七)= [1,0,1];
(9,4:10)=[1,罪(γ),0,0,0,0,1];
(10、7)= (cos(γ),0,1];
xrow = pinv b (A) *;%高斯方法寻找未知的力量
结果{k, 1} =一个;
结果{k, 2} = xrow;
结束
这商店,并为每个点xrow参数扫描。再次,同样可以用纯数值数组通过叠加dim3和side-concatenating xrow dim2左右。

更多的答案(0)

类别

找到更多的在循环和条件语句帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!