You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab绘制搜索成功概率-Jaccard相似度曲线无输出无报错如何解决?

错误原因与修改方案

  • 第一处错误是linspace调用参数错误:linspace第三个参数为采样点数,必须传入正整数,原代码传入0.2会直接返回空数组,导致s变量无值,最终输出空图。
  • 第二处错误是循环逻辑与公式不匹配:外层i循环未正确实现对应项的累加逻辑,每次迭代会直接覆盖sigmoid数组的所有值,且sum函数使用场景错误。
  • 第三处错误是大数计算精度问题:直接用factorial计算100的阶乘会出现数值溢出、精度丢失,建议使用Matlab内置的nchoosek函数计算组合数。
  • 第四处错误是绘图参数不完整:linew是线宽参数的简写,后续必须跟线宽数值,否则会触发参数解析错误。

修改后可运行代码

clc
clear
% 输入参数
b=100;
r=5;
v=2;
% 生成Jaccard相似度采样点,采样点数可根据需求调整
s = linspace(0,1,100);
sigmoid = zeros(1, length(s));
% 按公式计算概率
for j=1:length(s)
    total = 0;
    for i=0:v-1
        comb = nchoosek(b, i);
        term = comb .* (1 - (s(j)^r)^(b-i)) .* (s(j)^r)^i;
        total = total + term;
    end
    sigmoid(j) = 1 - total;
end
% 绘图
plot(s, sigmoid, 'LineWidth', 2)
xlabel('Jaccard相似度')
ylabel('搜索成功概率')
grid on

内容的提问来源于stack exchange,提问作者samira F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 09:06:03