请帮想如何加長矩阵 附上自己的 谢谢
本帖最后由 武神裝攻 于 2010-7-9 07:41 编辑自己:
clear all
clc
DATA2 = [
5,0.200000000000000;
7,0.143000000000000;
11,0.0910000000000000;
13,0.0770000000000000;
17,0.0590000000000000;
19,0.0530000000000000;
23,0.0430000000000000;
25,0.0400000000000000;
29,0.0340000000000000;
31,0.0320000000000000;
35,0.0280000000000000;
37,0.0270000000000000;
41,0.0240000000000000;
43,0.0230000000000000;
47,0.0210000000000000;
49,0.0200000000000000;];
for we = 1:length(DATA2(:,1))
A=[0,1,0,0.000100000000000000*DATA2(we,1);
1,2,0.000500000000000000,0.00344000000000000*DATA2(we,1);
2,3,0.00312000000000000,0.0675300000000000*DATA2(we,1);
3,4,0.00431000000000000,0.0120400000000000*DATA2(we,1);
4,5,0.00601000000000000,0.0167700000000000*DATA2(we,1);
5,6,0.00316000000000000,0.00882000000000000*DATA2(we,1);
6,7,0.00896000000000000,0.0250200000000000*DATA2(we,1);
7,8,0.00295000000000000,0.00824000000000000*DATA2(we,1);
8,9,0.0172000000000000,0.0212000000000000*DATA2(we,1);
9,10,0.0407000000000000,0.0305300000000000*DATA2(we,1);
4,11,0.0170600000000000,0.0220900000000000*DATA2(we,1);
3,12,0.0291000000000000,0.0376800000000000*DATA2(we,1);
12,13,0.0222200000000000,0.0287700000000000*DATA2(we,1);
13,14,0.0480300000000000,0.0621800000000000*DATA2(we,1);
13,15,0.0398500000000000,0.0516000000000000*DATA2(we,1);
15,16,0.0291000000000000,0.0376800000000000*DATA2(we,1);
15,17,0.0372700000000000,0.0459300000000000*DATA2(we,1);
17,18,0.0220800000000000,0.0272000000000000*DATA2(we,1);];
end
到这为止但是小弟想做的是要如何利用资料增加A后续
读取附件的EXCEL程式:
Load = xlsread('LOAD.xlsx','(A3:C3):(A100:C100)');
CLoad = xlsread('LOAD.xlsx','(E3:G3):(E100:G100)');
我希望就是创一个新的矩阵B是接着A后面写
B=[A;
LA;
CLA];
A 四排 分別意思是
起始號碼 終止號碼 W Y = X*DATA2(we,1)
例如: 0 1 0 0.0001*DATA2(we,1)
1 2 0.0005 0.00344*DATA2(we,1)
一直到
17 18 0.02208 0.0272*DATA2(we,1)
而B就是接着A后面写但是数据是靠Load跟CLoad创建 首先先接LA 由Load矩阵创建
起始号码 = Load矩阵第一排数
终止号码 = 0 (全部都是0)
W = (R1*X1^2*DATA2(we,1)^2)/(R1^2+X1^2*DATA2(we,1)^2) ;
對了R1= 1^2/(Load矩阵第二排数*1000/100000) 例如要是起始數已經算到13那终止号码=0 那R1= 1^2/(300*1000/100000)
X1= 1^2/(Load矩阵第三排数*1000/100000) 例如要是起始數已經算到13那终止号码=0 那X1= 1^2/(190*1000/100000)
Y =(R1^2*X1*DATA2(we,1))/(R1^2+X1^2*DATA2(we,1)^2)
LA接完後換接CLA 由CLoad矩阵创建
起始号码 = CLoad矩阵第一排数
终止号码 = 0 (全部都是0)
W = 0 (全部都是0)
Y = X1*DATA2(we,1)
對了X1= 1^2/(CLoad矩阵第三排数*1000/100000) 例如要是起始數已經算到13那终止号码=0 那X1= 1^2/(-1200*1000/100000)
C最後是
0,1,0,0.000100000000000000*DATA2(we,1);
1,2,0.000500000000000000,0.00344000000000000*DATA2(we,1);
2,3,0.00312000000000000,0.0675300000000000*DATA2(we,1);
3,4,0.00431000000000000,0.0120400000000000*DATA2(we,1);
4,5,0.00601000000000000,0.0167700000000000*DATA2(we,1);
5,6,0.00316000000000000,0.00882000000000000*DATA2(we,1);
6,7,0.00896000000000000,0.0250200000000000*DATA2(we,1);
7,8,0.00295000000000000,0.00824000000000000*DATA2(we,1);
8,9,0.0172000000000000,0.0212000000000000*DATA2(we,1);
9,10,0.0407000000000000,0.0305300000000000*DATA2(we,1);
4,11,0.0170600000000000,0.0220900000000000*DATA2(we,1);
3,12,0.0291000000000000,0.0376800000000000*DATA2(we,1);
12,13,0.0222200000000000,0.0287700000000000*DATA2(we,1);
13,14,0.0480300000000000,0.0621800000000000*DATA2(we,1);
13,15,0.0398500000000000,0.0516000000000000*DATA2(we,1);
15,16,0.0291000000000000,0.0376800000000000*DATA2(we,1);
15,17,0.0372700000000000,0.0459300000000000*DATA2(we,1);
17,18,0.0220800000000000,0.0272000000000000*DATA2(we,1);
0,0,?,?;
1,0,?,?;
2,0,?,?;
直到
18,0,?,?;
0,0,?,?;
1,0,?,?;
2,0,?,?;
直到
18,0,?,?;]
总共54排4行大的矩阵
这是目前自己想的简单接续范例
A=[0 1 8 10;
1 2 11 8
2 3 7 9
2 4 5 7
4 5 7 7];
B=[ 38 1
45 1
52 1 ] ;
ca = size(A);
cb = size(B);
temp = zeros(cb(1), ca(2));% 生成一个行与B相同,列与A相同的临时0矩阵
temp(:, 2:end) = B; %第一列为0,其余为B其实一 二列哪个为0没差 但是三四列不能错
C = ; % 连接矩阵 本帖最后由 武神裝攻 于 2010-7-8 18:31 编辑
例如
A=[0 1 8 10;
1 2 11 8
2 3 7 9
2 4 5 7
4 5 7 7];
讀表得到Load
Load
=[ 3 8 1
45 1
52 1 ] ;
那我的C(上面寫B寫C都是指答案抱歉參數沒看好)
C=B就是
=A=[0 1 8 10;
1 2 11 8
2 3 7 9
2 4 5 7
4 5 7 7
3 0 W Y
4 0 W Y
50 W Y ]
因為我有兩種矩陣
所以W ,Y 的算法分兩種
求W Y的公式如上所示
比較複雜的是Load矩陣
以此例看3 0 W Y
那R1=1^2/(8*1000/10000)
X1=1^2/(1*1000/10000) 1#中DATA2 有16 行,A有 18行, 如何从DATA2得到A?
for we = 1:length(DATA2(:,1))
A=[0,1,0,0.000100000000000000*DATA2(we,1);
1,2,0.000500000000000000,0.00344000000000000*DATA2(we,1);
2,3,0.00312000000000000,0.0675300000000000*DATA2(we,1);
....
17,18,0.0220800000000000,0.0272000000000000*DATA2(we,1);];
end
看不懂你要表达的意思。
页:
[1]