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

Matlab绘图时持续出现‘矩阵维度必须一致’错误求助

解决Matlab中“矩阵维度必须一致”错误及M-sigma函数绘制问题

错误原因分析

  1. sigma包含0值:原代码中sigma = 0:0.001:4包含起始值0,导致后续运算中出现除以0的情况,生成的数组中混入Inf/NaN,这类异常值会引发Matlab抛出“矩阵维度必须一致”的隐性错误(实际是异常值破坏了元素级运算的一致性)。
  2. 代码中用方括号[]包裹两个exp的差值,虽语法合法,但属于不必要的数组创建操作,易引发混淆。

修正后的代码

beta = 1;
alpha = -1 ; 
u = 0 ;
% 从极小值起始,避免除以0的情况
sigma = 0.001: 0.001 : 4;

M = (alpha + beta)./2 - ((beta - u)./2) .* erf((beta - u)./(sqrt(2).*sigma)) ...
    + ((alpha - u)./2).* erf((alpha - u)./(sqrt(2).*sigma)) ...
    -(sigma ./(sqrt(2*pi))) .* (exp( -((beta - u)./(sqrt(2).*sigma)).^2) ...
    - exp( -((alpha - u)./(sqrt(2).*sigma)).^2 ) ) ; 

plot(sigma,M)
xlabel('sigma')
ylabel('M')
title('M 随 sigma 变化曲线')

关键修正点

  • 移除sigma中的0值,改用0.001作为起始值,彻底消除除以0引发的异常值,保证元素级运算的维度一致性。
  • 将包裹exp差值的方括号[]替换为圆括号(),简化表达式逻辑,避免不必要的数组构造操作。

运行修正后的代码即可正常绘制M关于sigma的函数曲线。

内容的提问来源于stack exchange,提问作者Blame-it-on-me

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:30:46