网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月13日漏签0天
matlab吧 关注:292,471贴子:1,659,399
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 13回复贴,共1页
<<返回matlab吧
>0< 加载中...

【求助】没学过matlab,自己看着书写的但是不知道那里错误

  • 只看楼主
  • 收藏

  • 回复
  • _cookieeeeee
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
是这样的。教授让我们做一个project,有关概率的一个system。这个system有10个接收口,每个接收口接收到新号的概率是p,system有3个output。如果system接收盗的signal在三个或三个以下,那么就输出这三个signal,如果超过三个(4-10个)那么就随机输出三个,其他的扔掉。10个接收器每次都会有信号过来,但是不一定都接收。接收的概率是p。每一次10个信号过来定义为一次time。我们要做的就是用变成的方法画2个关于这个system的数据图。
概率p从0开始增长到1,每一次step是0.01,在这个概率下,进行1000次time,就是说1000次接收,然后算出平均会有多少个输出,还有平均会有多少个扔掉的signal,然后画图。x轴我觉得就是概率p从0到1 step 0.01然后y轴就是每一次概率下面算出的平均值。
我自己按照我的思路写了但是最后matlab输出的东西完全不对,code我放在下面希望能有好心人帮我看一下因为没有学过matlab不知道是不是哪里有什么小错误导致全都不对的。


  • _cookieeeeee
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2026-01-13 09:55:59
广告
不感兴趣
开通SVIP免广告
  • _cookieeeeee
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我在说一下我的思路。
首先给定一个概率p 那么在这个概率下我进行1000次运算然后算出平均值。
给定概率p从0 开始 0.01 step增长到1.
然后再for一个1000次的loop进行1000次运算
然后,因为要确定这个signal是否被接收,因为不能用数学进行计算,于是我就想用random number来做。
random一个0到1之间的随机数,入股这个数小于p 那么我就可以说这个signal被接收了,如果大于p,那么就确定为没有被接收。于是我就for了一个1到10的loop因为有是个接收器,每个接收器都要测试一次。
于是测试了10次,在这10此当中 如果有接收到的,那么counter就+1,然后最后看counter的大小。如果大于三,说明输出就是3,其他的都要扔掉,于是output=3,drop=counter-3,如果counter小于三说明output等于counter。
然后我把所有计算的数据存在了两个array里面,一个X,一个Y分别表示output和drop扔掉的。
以上为一个p情况下,1000次time中的一次运算,这个运算在每一次p中都要做1000次。
做完之后再把每次的平均数存在另外的两个array里面A,B。然后用方法求出平均有多少输出和drop扔掉的,然后再进行下一个p(概率)的计算。从0到1step 0.01,然后根据算出的结果画图。


  • _cookieeeeee
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我不知道我说明白了没有,我的输出结果很诡异,A array里面所有的数都是0,然后B里面莫名其妙出现了1101个数据,可是我运算的数一共只有1000个吧,然后最后的图形应该是什么样子我也说一下,比如说平均输出的图应该是一个增长的函数,最大值为3,因为最多就3个输出,同样的,drop扔掉的最多为7,因为最多有10个输入 3 个输出,所以就是7个扔掉的。
不知道有没有好心人能帮我看看这个code有没有什么错误,非常感谢


  • dn1630
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
额~刚回来这个文字有点多~我先歇歇再看。。。


  • dn1630
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
思路没有错要注意的有这么几点
首先for循环最好for p=p:0.01
                                 ————水怪神马的都吃掉~


  • dn1630
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
思路没有错要注意的有这么几点
首先for循环没见过for p=p:0.01:1这种写法(话说居然没报错?)
写成for p=0:0.01:1这样然后X和Y的矩阵要每次清空否则会每次叠加。。代码我私信给你吧~度娘抽的厉害


  • NeHandw
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



2026-01-13 09:49:59
广告
不感兴趣
开通SVIP免广告
  • NeHandw
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
m=zeros(1,1000);x=[];drop=m;
for k=1:1000
p=k/1000;
for n=1:1000
x=rand(1,10);
s=sum(x<p);
ss=s-3;
ss(find(ss<0))=0;
drop(k)=drop(k)+sum(ss);
s(find(s>3))=3;
m(k)=m(k)+sum(s);
end
end
plot([1:1000]/1000,m,'r');grid on;hold on;
plot([1:1000]/1000,drop,'b');grid on;hold on;


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 13回复贴,共1页
<<返回matlab吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示