MATLAB数学问题请帮修改一个矩阵分多个3*1后相乘的程序- MATLAB中国 ...
昨天, 08:35 PM   #

小弟愚笨深感抱歉一直烦劳板上各位
恳请板上英雄出动谢谢
最下面有写程序但是目前又遇到其妙的事 便是A与B改有实虚数变不行
本来例题
A=[1 1 1;1 2 3;1 3 2];
B=[ 0.0003 1001
0.0002 1002
0.0001 1003
0.0004 2001
0.0005 2003
0.0006 3003]
求C
步骤
看B第二列千位数值皆为相同数字表示为同一个3*1的矩阵
个位数值表示B的{dy}列该放入为3*1的哪个位置
EXE
先看B第二列千位数=1 找到{dy}列 [0.0003;0.0002;0.0001]
放入3*1的记忆体中 X=[0.0003;0.0002;0.0001]
A*X放入C 此时 C=[0.0006;0.00010;0.00011]
再看B第二列千位数=2 找到{dy}列 [4;5]
但是不满3*1所以便看个位数值缺2所以補0 X=[0.0004;0;0.0005]
A*X放入C 此时 C=[0.0006;0.0010;0.0011;0.0009;0.0019;0.0014]
再看B第二列千位数=3 找到{dy}列 [4;5]
但是不满3*1所以便看个位数值缺1.2所以補0 X=[0;0;0.0006]
A*X放入C 此时 C=[0.0006;0.0010;0.0011;0.0009;0.0019;0.0014;0.0006;0.0018;0.0012]


想改题目
程序方法与之前没变只是改A矩阵有角度却出现错误

A=(1./3)*[1 1 1;1 120度 240度;1 240度 120度];
B(:,1) = [-18.0000000000000 - 8.70000000000000i;1.46557898707538 + 19.9384572681199i;16.5344210129246 - 11.2384572681199i;]
B(:,2) =[1001;1002;1003]

程序:
complex1 = cosd(120)+i*sind(120);
complex2 = cosd(-120)+i*sind(-120);
Am = (1./3)*[1 1 1;1 complex1 complex2;1 complex2 complex1];
K=[(-18.0000000000000-8.70000000000000*i) 1001;
(1.46557898707538+19.9384572681199*i) 1002;
(6.5344210129246-11.2384572681199*i) 1003];
B(:,1) = K(:,1);
B(:,2) = K(:,2);
G=int32(B(:,2));
D=[idivide(G,1000) mod(G,1000)];
E=sub2ind([D(end,1),3],D(:,1),D(:,2));
F=zeros(D(end,1),3);
F(E)=B(:,1);
F2=(Am*F');
F3 = size(F2);
rowindex = sum(F2==0,2)==size(F2,2);
colindex = sum(F2==0,1)==size(F2,1);
F2(rowindex, = [];
F2(:,colindex) = [];
F3 = F2;
C=F3(;

结果C:
-3.33333333333334 - 4.44089209850063e-16i
1.66666666666667 + 2.88675134594813i
-16.3333333333333 + 5.81324865405187i

但是单纯正解的测试
Y=[-18.0000000000000 - 8.70000000000000i;1.46557898707538 + 19.9384572681199i;16.5344210129246 - 11.2384572681199i;]
Am = (1./3)*[1 1 1;1 complex1 complex2;1 complex2 complex1];
R=Am*Y;
结果正解C=R:
-7.10542735760100e-15 + 4.44089209850063e-16i
-18.0000000000000 - 8.70000000000000i
5.77315972805081e-15 - 2.66453525910038e-15i


求救帮求出R
半條龍 当前离线  
郑重声明:资讯 【MATLAB数学问题请帮修改一个矩阵分多个3*1后相乘的程序- MATLAB中国 ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——