Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-11-09, 11:39   #1
半條龍
初级会员
 
注册日期: 2010-03-10
帖子: 19
声望力: 16
半條龍 正向着好的方向发展
默认 想请问板上英雄帮实现一个矩阵放入矩阵程序

一直烦劳各位 先说声抱歉
谢谢

就是我有一个数据
clear all
clc
CODE=[1001;1002;1003;2001;2002;2003;3001;3002;3003;4001;4002;4003;5001;5002;5003;6001;6002;6003;7001;7002;7003];
F = [3;5]
求 S矩阵
%%%%%%%%%%%%%%在此小弟先写了一个程序 可以求到Sa Sb Sc三个矩阵
U = 110;
w = 2*pi*60;
t = 0:0.000005:0.05;
num = length(t);
sa=zeros(1,num);
ea = sqrt(2)*U*sin(w*t);
eb = sqrt(2)*U*sin(w*t-2*pi/3);
ec = sqrt(2)*U*sin(w*t-4*pi/3);
for i = 1:num
if asin(ea(i)/sqrt(2)/U) >= pi/6 && asin(ea(i)/sqrt(2)/U) <= 5*pi/6
sa(i) = 1;
elseif asin(ea(i)/sqrt(2)/U) <= -pi/6 && asin(ea(i)/sqrt(2)/U) >= -5*pi/6
sa(i) = -1;
else
sa(i) = 0;
end
end
for i = 1:num
if asin(eb(i)/sqrt(2)/U) >= pi/6 && asin(eb(i)/sqrt(2)/U) <= 5*pi/6
sb(i) = 1;
elseif asin(eb(i)/sqrt(2)/U) <= -pi/6 && asin(eb(i)/sqrt(2)/U) >= -5*pi/6
sb(i) = -1;
else
sb(i) = 0;
end
end
for i = 1:num
if asin(ec(i)/sqrt(2)/U) >= pi/6 && asin(ec(i)/sqrt(2)/U) <= 5*pi/6
sc(i) = 1;
elseif asin(ec(i)/sqrt(2)/U) <= -pi/6 && asin(ec(i)/sqrt(2)/U) >= -5*pi/6
sc(i) = -1;
else
sc(i) = 0;
end
end
%%%%%%%%%%%%%%END

S矩阵的大小就是(CODE最大数*sa的大小)
求法就是 F 所说的数字就是CODE的千位数 也只有这些位置有值其它都是0矩阵
CODE的个位数就是说我要放入的是sa还是sb或是sc
个位数=1放sa 个位数=2放sb 个位数=3放sc
最后S=
S=[ [0]矩阵;
[0]矩阵;
[0]矩阵;
[0]矩阵;
[0]矩阵;
[0]矩阵;
[sa]矩阵;
[sb]矩阵;
[sc]矩阵;
[0]矩阵;
[0]矩阵;
[0]矩阵;
[sa]矩阵;
[sb]矩阵;
[sc]矩阵;
[0]矩阵;
[0]矩阵;
[0]矩阵;
[0]矩阵;
[0]矩阵;
[0]矩阵];

S与CODE的关系就是
S=[ [0]矩阵; ---------------1001
[0]矩阵; ---------------1002
[0]矩阵; ---------------1003
[0]矩阵; ---------------2001
[0]矩阵; ---------------2002
[0]矩阵; ---------------2003
[sa]矩阵; ---------------3001
[sb]矩阵; ---------------3002
[sc]矩阵; ---------------3003
[0]矩阵; ---------------4001
[0]矩阵; ---------------4002
[0]矩阵; ---------------4003
[sa]矩阵; ---------------5001
[sb]矩阵; ---------------5002
[sc]矩阵; ---------------5003
[0]矩阵; ---------------6001
[0]矩阵; ---------------6002
[0]矩阵; ---------------6003
[0]矩阵; ---------------7001
[0]矩阵; ---------------7002
[0]矩阵]; ---------------7003
半條龍 当前离线   回复时引用此帖
旧 2010-11-09, 14:43   #2
半條龍
初级会员
 
注册日期: 2010-03-10
帖子: 19
声望力: 16
半條龍 正向着好的方向发展
默认 回复: 想请问板上英雄帮实现一个矩阵放入矩阵程序

有一个范例不知怎改请问版上各位英雄
clear all
clc
CODE=[1001;1002;1003;2001;2002;2003;3001;3002;3003;4001;4002;4003;5001;5002;5003;6001;6002;6003;7001;7002;7003];
LS = [0,0,0;0,0,0;1,2,3;0,0,0;4,5,6;0,0,0;0,0,0.0];
SP = arrayfun(@(x)LS(floor(x/1000),mod(x,1000)),CODE);
半條龍 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 10:46


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.