永发信息网

matlab编程问题变量设置问题

答案:1  悬赏:80  手机版
解决时间 2021-12-02 10:15
  • 提问者网友:杀手的诗
  • 2021-12-02 03:33
matlab编程问题变量设置问题
最佳答案
  • 五星知识达人网友:野味小生
  • 2021-12-02 03:40

clear all
SNR = 10;
nr = 2;
nt = 2;
H1 = sqrt(0.5)*randn(nr,nt)+sqrt(-0.5)*randn(nr,nt);
[U,S,V] = svd(H1);
p1 = V(:,1);
d = norm(H1*p1);
for i = 1:1:1000
    H2 = sqrt(0.5)*randn(nr,nt)+sqrt(-0.5)*randn(nr,nt);  %信道矩阵
    [u,s,v] = svd(H2);  %奇异值分解
    p2 = v(:,1);
    d2(i) = norm(H2*p2);
    c(i) = acos(abs((H1*p1)'*H2*p2)/(d*d2(i)));  %角度
end
snr = 0.1:0.1:100;  %信噪比
dds = d2.^2.*snr;
[C,DDS] = meshgrid(c,dds);
Ro = log2(1+SNR*d^2*sin(C).^2);  %正交投影接收
Rm = log2(1+SNR*d^2./(1+DDS.*cos(C).^2));  %匹配接收
mesh(C,DDS,Ro); hold on
mesh(C,DDS,Rm);
shading interp
xlabel('f角度');
ylabel('f干扰信号信噪比');
zlabel('f数据速率');追问有个问题,dds = d2.^2.*snr;可以直接这么写吗?这样写出来的结果是不是就是每个d2都和snr相乘?这样两个1000个数据的数组相乘是什么结果?
还有就是画出来的曲面有很多地方不对劲,尤其是最右侧有很多紫色的直线,这个应该怎么解决?曲面不标准恐怕交线也没法表示吧
还有,两个曲面的交线怎么画?

非常感谢您这么迅速的解答,希望您能进一步解惑。追答LL = (Ro-Rm)<=eps;
plot3(C(LL),DDS(LL),Ro(LL));
% 曲面与曲面相交,可能有共有面,给你参考哈!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯