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));
% 曲面与曲面相交,可能有共有面,给你参考哈!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯